32-bit computing: Difference between revisions

Content deleted Content added
nurulchintaa
Tags: Reverted Mobile edit Mobile web edit
m Reverted edit by 2402:4000:B151:1269:1851:5121:C0C8:2F12 (talk) to last version by 121.10.69.199
(26 intermediate revisions by 20 users not shown)
Line 1:
{{Short description|Computer architecture bit width}}
{{Computer architecdfedturearchitecture bit widths}}
{{More citations needed|date=October 2009}}
In [[computer architecture]], '''32-bit computing''' refers to computer systems with a [[Central processing unit|processor]], [[computer memory|memory]], and other major system components that operate on data in a maximum of 32-[[bit]] units.<ref name="PCMProsise1995">{{Cite magazine |last=Prosise |first=Jeff |date=1995-11-07 |title=16 or 32 Bits: Should It Matter to You? |url=https://books.google.com/books?id=qxIpLj9BmV8C&pg=PA321 |magazine=PC Magazine |pages=321–322 |access-date=2022-11-30}}</ref><ref name="SDFEBuchanan1997">{{Cite book |last=Buchanan |first=William |url=https://books.google.com/books?id=ufAQAAAAQBAJ&pg=PA230 |title=Software Development for Engineers : C/C++, Pascal, Assembly, Visual Basic, HTML, Java Script, Java DOS, Windows NT, UNIX. |date=1997 |publisher=Elsevier Science |isbn=978-0-08-054137-2 |___location=Burlington |pages=230 |oclc=854975383}}</ref> Compared to smaller bit widths, 32-bit computers can perform large calculations more efficiently and process more data per clock cycle. Typical 32-bit [[Personal computer|personal computers]] also have a 32-bit [[address bus]], permitting up to 4 GB&nbsp;[[GiB]] of [[random-access memory|RAM]] to be accessed, far more than previous generations of system architecture allowed.<ref>{{Cite book |last=Venkateswarlu |first=N.B. |title=Essential Computer and IT Fundamentals for Engineering and Science Students |publisher=S. Chand Publishing |year=2012 |isbn=978-81-219-4047-4 |pages=143}}</ref>
{{Computer architecdfedture bit widths}}
In [[computer architecture]], '''32-bit computing''' refers to computer systems with a [[Central processing unit|processor]], [[computer memory|memory]], and other major system components that operate on data in 32-[[bit]] units.<ref name="PCMProsise1995">{{Cite magazine |last=Prosise |first=Jeff |date=1995-11-07 |title=16 or 32 Bits: Should It Matter to You? |url=https://books.google.com/books?id=qxIpLj9BmV8C&pg=PA321 |magazine=PC Magazine |pages=321–322 |access-date=2022-11-30}}</ref><ref name="SDFEBuchanan1997">{{Cite book |last=Buchanan |first=William |url=https://books.google.com/books?id=ufAQAAAAQBAJ&pg=PA230 |title=Software Development for Engineers : C/C++, Pascal, Assembly, Visual Basic, HTML, Java Script, Java DOS, Windows NT, UNIX. |date=1997 |publisher=Elsevier Science |isbn=978-0-08-054137-2 |___location=Burlington |pages=230 |oclc=854975383}}</ref> Compared to smaller bit widths, 32-bit computers can perform large calculations more efficiently and process more data per clock cycle. Typical 32-bit [[Personal computer|personal computers]] also have a 32-bit [[address bus]], permitting up to 4 GB of [[random-access memory|RAM]] to be accessed, far more than previous generations of system architecture allowed.<ref>{{Cite book |last=Venkateswarlu |first=N.B. |title=Essential Computer and IT Fundamentals for Engineering and Science Students |publisher=S. Chand Publishing |year=2012 |isbn=978-81-219-4047-4 |pages=143}}</ref>
 
32-bit designs have been used since the earliest days of electronic computing, in experimental systems and then in large [[mainframe computer|mainframe]] and [[minicomputer]] systems. The first hybrid 16/32-bit [[microprocessor]], the [[Motorola 68000]], was introduced in the late 1970s and used in systems such as the original [[Apple Macintosh]]. Fully 32-bit microprocessors such as the [[HP FOCUS]], [[Motorola 68020]] and [[i386|Intel 80386]] were launched in the early to mid 1980s and became dominant by the early 1990s. This generation of personal computers coincided with and enabled the first [[History_of_the_InternetHistory of the Internet#1990–2003:_Rise_of_the_global_Internet Rise of the global Internet,_Web_1 Web 1.0|mass-adoption of the World Wide Web]]. While 32-bit architectures are still widely-used in specific applications, the PC and server market has moved on to [[64-bit computing|64 bits]] with [[x86-64]] and other 64-bit architectures since the mid-2000s with installed memory often exceeding the 32-bit 4Gaddress RAMlimit addressof limits4&nbsp;GiB on entry level computers. The latest generation of mobile phones[[smartphone]]s have also switched to 64 bits.
 
==Range for storing integers==
A 32-bit [[processor register|register]] can store 2<sup>32</sup> different values. The [[range (computer programming)|range]] of [[integer]] values that can be stored in 32 bits depends on the [[Integer (computer science)#Value and representation|integer representation]] used. With the two most common representations, the range is 0 through [[4,294,967,295]] (2<sup>32</sup> − 1) for representation as an ([[signedness|unsigned]]) [[binary number]], and −2,147,483,648 (−2<sup>31</sup>) through [[2,147,483,647]] (2<sup>31</sup> − 1) for representation as [[two's complement]].
 
One important consequence is that a processor with 32-bit [[memory address]]es can directly access at most 4&nbsp;[[Gibibyte|GiB]] of [[Byte addressing|byte-addressable]] memory (though in practice the limit may be lower).
 
==Technical history==
[[File:XC68020 top p1160084.jpg|thumb|Motorola 68020 prototype from 1984. It features a 32-bit ALU and 32-bit address and data buses.]]
 
The world's first stored-program [[electronic computer]], the [[Manchester Baby]], used a 32-bit architecture in 1948, although it was only a [[proof of concept]] and had little practical capacity. It held only 32 32-bit words of RAM on a [[Williams tube]], and had no addition operation, only subtraction.
 
Line 21 ⟶ 22:
 
==Architectures==
Prominent 32-bit instruction set architectures used in general-purpose computing include the [[IBM System/360]] and, [[IBM System/370]] (which had [[24-bit computing|24-bit]] addressing) and the, [[System/370-XA]], [[ESA/370]], and [[ESA/390]] (which had [[31-bit computing|31-bit]] addressing), the [[Digital Equipment Corporation|DEC]] [[VAX]], the [[NS320xx]], the [[Motorola 68000 family]] (the first two models of which had 24-bit addressing), the [[Intel]] [[IA-32]] 32-bit version of the [[x86]] architecture, and the 32-bit versions of the [[ARM architecture|ARM]],<ref>{{cite web|title=ARM architecture overview|url=https://web.eecs.umich.edu/~prabal/teaching/eecs373-f10/readings/ARM_Architecture_Overview.pdf}}</ref> [[SPARC]], [[MIPS architecture|MIPS]], [[PowerPC]] and [[PA-RISC]] architectures. 32-bit instruction set architectures used for embedded computing include the 68000 family and [[ColdFire]], x86, ARM, MIPS, PowerPC, and [[Infineon TriCore]] architectures.
 
=={{anchor|32-bit application}} Applications==
On the [[x86 architecture]], a 32-bit application normally means [[software]] that typically (not necessarily) uses the 32-bit linear [[address space]] (or [[flat memory model]]) possible with the [[80386]] and later chips. In this context, the term came about because [[DOS]], [[Microsoft Windows]] and [[OS/2]]<ref>''There were also variants of [[UNIX]] for the 80286''.</ref> were originally written for the [[Intel 8088|8088/8086]] or [[Intel 80286|80286]], [[16-bit computing|16-bit]] microprocessors with a [[memory segment|segment]]ed address space where programs had to switch between segments to reach more than 64 [[kilobyte]]s of [[object file|code]] or data. As this is quite time-consuming in comparison to other machine operations, the performance may suffer. Furthermore, [[computer programming|programming]] with segments tend to become complicated; special ''far'' and ''near'' keywords or ''[[C memory model|memory model]]s'' had to be used (with care), not only in [[assembly language]] but also in high level languages such as [[Pascal programming language|Pascal]], compiled [[BASIC]], [[Fortran]], [[C (programming language)|C]], etc.
 
The 80386 and its successors fully support the 16-bit segments of the 80286 but also segments for 32-bit address offsets (using the new 32-bit width of the main registers). If the [[base address]] of all 32-bit segments is set to 0, and segment registers are not used explicitly, the segmentation can be forgotten and the processor appears as having a simple linear 32-bit address space. [[Operating system]]s like Windows or OS/2 provide the possibility to run 16-bit (segmented) programs as well as 32-bit programs. The former possibility exists for [[backward compatibility]] and the latter is usually meant to be used for new [[software engineering|software development]].<ref>{{FOLDOC|32-bit+application}}</ref>
 
==Images==
Line 39 ⟶ 40:
 
==See also==
* [[64-bit computing]]
* [[Fifth generation of video game consoles|History of video games (32-bit era)]]
* [[Word (computer architecture)]]