Hot answers tagged

72

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 ...


46

Very simple: Because there was room for an address and it improves performance a lot. Or as the manual puts it: It is important, however, for the programmer to realize that the simplest method of programming (using sequential drum location for succeeding instructions) causes the machine to waste a large amount of time waiting and searching. To start with,...


40

I will just explain what a bit is. It's a binary digit. 0 is numerically zero, 1 is numerically one. If you want to add 1 and 1, in binary it overflows. the result is 0, and a carry out. As you understand, other arithmetic operations can be done on bits. They takes a fair bit of logic to implement. Binary is positional. That means that a 1 which is 4 places ...


22

Quibbling about the right meaning of "bit" aside, some advantages of the 2-of-7 biquinary representation are: Simpler circuits. In a quinary adder circuit, the output of each of the 5 output lines becomes just a 5-way OR of binary ANDs of input lines. To implement this with primitive logic building blocks such as resistor-transistor-logic (or its vacuum-...


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 ...


13

A possible answer occurs to me: it might be precisely because of the slow memory. Say you want to add a pair of ten-digit decimal numbers, SUM += VAL, on a 6502. That chip has a BCD mode in which it can add two digits at a time; it has to do everything through an 8-bit accumulator. So we need a loop of five iterations, which we might unroll for speed. Each ...


10

If your primary memory is not random access, in the sense that at any instant some addressed words will take longer than others to be read, then you can potentially improve performance by having each instruction specify where the next instruction is located. The programmer is then coerced to figuring out where that next instruction ought to be. This ...


9

Yes, it WAS due to the fact that with a rotating drum memory, you wanted the next instruction to be at a location that was just about to come under the read/write heads rather than in the next sequential location, where it could take a full revolution of the drum to be able to read the instruction. All was not lost for the programmer, however. The 650 came ...


5

How many logic gates did the IBM 650 have? It's a rather useless question. When is a gate a gate? Is a wired-OR a gate? Does a 38-input-OR, used to create a zero condition count as much as a two-input? Using a gate count does, if at all, only make sense for machines only build from diskrete gates. I'm used to measuring the complexity of a CPU by ...


3

I'd suggest that one issue is that a 1950/60s mainframe was considered to be a significant corporate resource, and by and large enough would be spent on it that it could serve the needs of the entire company as efficiently as possible. The S/360-20 was a reduced-width entry-level system, and similarly DEC etc. minis attacked the mainframe market by being ...


2

The premise isn't entirely true. The IBM 1401, perhaps the most popular computer of the 1960's, used a seven bit word (not including the parity bit). This was a business machine, not a number cruncher. Mainframe computers optimized for scientific and engineering calculations used big words for the same reason that most computer languages of the 21st century ...


1

The early computers were created to do high precision scientific calculations that couldn't be done by hand (practically). The newer computers you mention from the 70s and 80s where business and home computers. And you are mistaken in saying that it was not memmory addressing that motivated the increase in word size from 32 to 64 bits. 32 bits were ...


1

Many early machines processed data in bit-serial fashion, which meant that doubling the word size would reduce the number of words that could be held by a given number of memory circuits, but wouldn't increase the required number of processing circuits. To the contrary, cutting the number of discrete addresses would reduce the amount of circuitry necessary ...


1

Given the small (by today's standards) memory, it was very convenient to be able to include a full memory address within a machine instruction. For instance, Honeywell 6000 assembler instructions looked like this: The first half of the instruction could contain a full memory address, so instructions such as load-register were self contained. The ...


1

The 8086 addressing wasn't 20 bits, it's actually two 16-bit components (with a 16-bit ALU); those components being a segment and offset. It sounds like 16+16=32, but the actual location was segment*16+offset, and wrapping around at 2^20 (later chips like 80286 allowed not wrapping, see A20 line) Usually this meant that e.g. for an array, you would allocate ...


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