74

And if you go back further, e.g. to the ENIAC, you'll see a word size of 40 bits. And if you go back even further, to mechanical calculators, you'll see word sizes determined by the number of decimal digits they can represent. And that explains the approach: Computers originally were meant to automate calculations. So you want to represent numbers. With ...


72

TL;DR: It's the pipeline. The 80486 contains parallel operating stages for decoding, operand fetch, execution and write back. So while an ADD reg,reg does take 3 clocks to perform, as it did in the original 8086, its execution overlaps with the previous/next operation, so the CPU can crank out one ADD reg,reg per clock. The Long Read (Caveat, there's a whole ...


69

Was there some particular design theory or constraint that made a 36 bit word size attractive for early computers? Beside integer arithmetic, 36 bit words work quite fine with two different byte sizes: Six and nine. Six bit was what's needed to store characters of the standard code for data transmission at that time: Baudot code or more exactly ITA2. As ...


47

PDP-10. It had a very orthogonal instruction set based around mnemonics with suffixes, and depending on the operation, sometimes no suffix meant a NOP. http://pdp10.nocrew.org/docs/instruction-set/Arith-Tests.html


47

Manufacturing simple processors on newer semiconductor processes is done. But not quite to that extreme. Let's consider your proposed 8086 done in a 14 nm process. Let's say we do it in CMOS, and maybe even throw in a few extra features, and it takes 100,000 transistors. The die would be very tiny, so unbelievably tiny. You could fit three thousand of ...


45

I imagine representations other than two’s complement (ones’ complement, sign/magnitude...) declined in popularity because two’s complement is simpler to implement; in particular: addition, subtraction, and multiplication of two signed input values of length n can use the same implementation as the unsigned variants, modulo 2n; zero only has one ...


40

In practice, "scientific computing" meant floating-point number-crunching like physics simulations, and "business" computing meant I/O-oriented record processing, such as doing the weekly payroll. On machines targeted at the scientific market, binary arithmetic was more common, floating-point hardware was usually standard, error ...


40

TL;DR: Older CPUs have been shrunk to smaller sizes but not in the same way as modern design, simply as there is no gain in doing so. Details: Does the industry continue to produce outdated architecture CPUs with leading-edge process? No. Designs shrink, but there is no sense in using leading-edge sizes for such 'small' designs. However, is there any CPU ...


38

The main thrust of the marketing behind the DEC Alpha was its 64-bit microprocessor architecture. They got there years before potential competitors, including MIPS. At the time DEC was shipping the 64-bit Alpha, MIPS was just beginning to have success with the 32-bit MIPS R3000 being used by SGI. Given that DEC didn't just need to replace their aging Vax ...


37

there some particular design theory or constraint that made a 32-bit word size attractive for IBM to migrate to? It all comes down to the most basic data type, addressing constrains and, less important, reuse of existing memory technology. The byte size had to be a multiple of 4, as needed to accommodate BCD numbers without wasting space. So 8 was chosen ...


29

Each of the 68K series CPUs had dedicated address-generation hardware which was wired more directly to the A registers and had only limited access to the D registers. Conversely, the main ALU was more directly wired to the D registers than the A registers. It thus became a performance enhancement, allowing the main ALU and the addressing logic to operate ...


28

and would have improved the chances of a single RISC architecture having wide enough industry support to achieve critical mass rather than being outcompeted by x86. It's important to remember that in the late 80's and very early 90's when Alpha was being developed, absolutely nobody was worried about x86 dominating high end computing. Not even Intel ...


28

Section 1.3.1 of The Art of Computer Programming says the following: MIX is the world's first polyunsaturated computer. Like most machines, it has an identifying number—the 1009. This number was found by taking 16 actual computers very similar to MIX and on which MIX could easily simulated, then averaging their numbers with equal weight: ⌊(360+650+709+7070+...


25

36 bit word size attractive Many sizes have been tried, but fundamentally, this results in a certain precision; from Wikpedia on 36-bit Early binary computers aimed at the same market therefore often used a 36-bit word length. This was long enough to represent positive and negative integers to an accuracy of ten decimal digits (35 bits would have ...


24

Were there any 8-bit CPUs with 24-bit addressing? Not many. Most prominent and best fitting examples would be WDC 65816 of 1983 Hitachi 64180 of 1985 / Zilog Z180 of 1985 (only 19/20 bit) eZ80 of 1998 Then there 8/16/32 bit hybrids - able to run 8 bit code and available with external 8 bit data bus, but as well with 16/32 bit code (extensions): Zilog ...


23

When you have a small transistor budget, it is considerably easier to design your circuitry around a single representation format - the most capable one - and treat converting other formats to and from it as a separate problem. That's how the 8087 and 68881 were both designed. Today, there are enough transistors sloshing around in the average CPU that ...


21

The key point made by Wikipedia seems to be: Prior to the introduction of computers, the state of the art in precision scientific and engineering calculation was the ten-digit, electrically powered, mechanical calculator....Computers, as the new competitor, had to match that accuracy.... Many early computers did this by storing decimal digits. But when ...


21

Computers do not in general have "a base 16 architecture". They are binary, i.e., base 2. The base derives from the number of states a storage element can have. Almost exclusively, we use an electronic switch that can be "on" or "off" -- 2 states, therefore base 2. You can find at least one example of a base 3 computer in ...


21

They're not quite cutting-edge process sizes, but there are current 8051-core micro-controllers that do much better than the 1981 original's 12 MHz on 3.5-μm process silicon. For example, the Cast S8051XC3 has been run at over 600 MHz on a 40 nm process. The core has a few thousand gates, and can attain better than 3 μW/MHz


20

Two's complement is generally simpler to implement in hardware than ones' complement, except for one thing: if one wants a "live" readout of register values using one set of lights for positive numbers and one set for negative numbers (blanking whichever set isn't appropriate) that can be accommodated very cheaply and easy with ones'-complement using one ...


20

Longer words mean more bits can be processed at once. An 8 bit processor can perform a 32 bit calculation, but it has to do it in 4 stages of 8 bits each. A 32 bit processor can do it in one stage. Since early computers had limited clock speeds due to slow electronics increasing the word size was one of the few options available to improve performance. In ...


19

The 5100 had programmable microcode which could be used to implement crypto-specific opcodes1,2,3. Then there's the whole John Titor4,5 thing... 1 Such as population count 2 I'm unaware of anyone actually having done so. 3 Certain agencies are very interested in such things though. 4 Perhaps it wasn't code-breaking in the traditional sense. If you have ...


18

One could just as easily ask why it was not extended to 64 bits, or even wider. Well, if you ignore backwards-compatibility and cost, yes, it could have been. I'll pretend we can ignore backwards-compatibility and concentrate on cost first. Making the data pathways 32 bit would immediately double the number of transistors, with a corresponding doubling of ...


18

I'm going to address the power of 2 part of the question. Keep in mind that before microprocessors, computers were assembled by hand. Increasing the number of bits in a computer was really a big deal. Each time you added one bit to the word size, you would need more parts in the register file more parts in the ALU more wires in the buses more cells in ...


18

First, it is not true that the 486 executes instructions in a single cycle. The 80486 is a pipelined architecture, so it's more accurate to say that most instructions can start one cycle after the preceding instruction has started. The pipeline length of an 80486 is 5 stages (IF → ID1 → ID2 → EX → WB). This means that an instruction ...


17

DEC's use of MIPS was only ever as basically a stop-gap. Before they used MIPS, DEC had started work on a project called Prism. It was intended to be their first commercial RISC processor. In June of 1988, however, there was a meeting of senior executives. The PRISM project was producing some interesting technology, but didn't have a chip set available yet (...


16

Wiki page 36-bit shows some reasons (all copied from the page): "This was long enough to represent positive and negative integers to an accuracy of ten decimal digits (35 bits would have been the minimum). It also allowed the storage of six alphanumeric characters encoded in a six-bit character code. " And for characters: six 5.32-bit DEC Radix-50 ...


16

But I find that modern day examples of computers that use ones complement rather hard to come across. I can only think of the Unisys Clearpath here - and even they are Itaniums at hardware level by now. The C standard is obviously written with one's complement machine in mind; for example, it specifies that a signed integer may hold values -32767 to +...


16

Support for byte writes throughout a memory system is expensive. Among other things, if one wishes to use error-corrected memory that can correct single-bit errors, a memory that can be written in independent 8-bit chunks byte-writable memory will require four extra bits per octet, or 16 bits per 32-bit word. A memory that is limited to writing 16-bit ...


16

Early in the history of computing, it wasn't uncommon to have machines that were physically designed to operate in base-10. (Even if signalling was internally on/off.) Designers of the time understood some of the issues associated with representing numbers in base-2 (particularly fractional numbers), software was very primitive, and having a base-10 internal ...


Only top voted, non community-wiki answers of a minimum length are eligible