Content deleted Content added
m Rollback edit(s) by Tanveerhassan12 (talk): synthesis, out of scope of article, doesn't impart much information, and sources are not reliable (RW 16.1) |
m Reverted edit by 2402:4000:B151:1269:1851:5121:C0C8:2F12 (talk) to last version by 121.10.69.199 |
||
(34 intermediate revisions by 25 users not shown) | |||
Line 1:
{{Short description|Computer architecture bit width}}
{{Computer architecture 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 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
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 [[
==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 [[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]]
=={{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==
* [[Fifth generation of video game consoles|History of video games (32-bit era)]]
* [[Word (computer architecture)]]
|