i am currently reading about memory system in computer architecture. I wanted to know, Is the word length the number of bits input to the ALU?

  • \$\begingroup\$ Per argument to the conceptual ALU, yes. But some processors (the Z80 would be a good example) are actually implemented with a different word length than implied in their programming model and its instruction set, ie, 8 bit programming model, implementation that actually did 4 bits at a time. \$\endgroup\$ – Chris Stratton Mar 23 '19 at 1:54
  • 1
    \$\begingroup\$ What does that even mean? 8 bit programming model that does 4 bits at a time? The inputs to the ALu are 4 bits, the registers are 8 bits? \$\endgroup\$ – AskJheeze Mar 23 '19 at 2:30
  • \$\begingroup\$ It means that the theoretical computer and the actual computer are distinct, with one doing the work as if it were the other, something not all that uncommon. \$\endgroup\$ – Chris Stratton Mar 23 '19 at 2:44
  • \$\begingroup\$ In todays computers you have logical data and instruction space, as software defined. You also have hardware defined physical space, which is determined by the width of your data and address lines on the motherboard. Logical space overcomes the limitation of physical space, which cannot be changed, except to add more dram up to the maximum limit. \$\endgroup\$ – user105652 Mar 23 '19 at 3:03
  • \$\begingroup\$ I think it is best to avoid "word" when talking about computer bus widths. If you see it used, you have to try to glean the meaning from the context. It may well be the width of the ALU bus. Or it could be the width of the bus where instructions are fetched (which may be a dedicated bus in some architectures, and not in others). Or, in the context of programming, in old versions of Windows, a WORD is a 16 bit integer, and a DWORD is a 32 bit integer. But this was not good terminology on Microsoft's part. \$\endgroup\$ – mkeith Mar 23 '19 at 6:35

'Word length' is a fairly loose concept whose meaning has varied somewhat over the course of computer design history, depending on what was important, or what was seen as a performance limitation at the time.

Unfortunately, in your question, you've used the terms 'memory system', 'computer architecture', and 'ALU'. Each can define word length, and each can be different, though they often will align.

The most common measure of word length the width of the internal data bus and multiplexers, so the registers and most importantly the ALU. The original 4004 and 8085 were thus 4 and 8 bit machines respectively. The addressable memory on these machines was much more than that, through paging, and use of double-width registers. This was continued into the 16 bit 8086 which could address a 20 bit memory space. Once properly addressable linear memory was seen as important, the move from 32 bit to 64 bit 'computers' (operating systems) was based on addressable memory space, even though by now internal registers were a mix of 32, 64, 80, 128 bits, and more.

| improve this answer | |
  • \$\begingroup\$ The PowerQuicc III series (at least) actually has a 36 bit logical memory subsystem. \$\endgroup\$ – Peter Smith Mar 23 '19 at 11:43
  • \$\begingroup\$ @PeterSmith I didn't want to get encyclopedic, I worked with an 18 bit system that BAe fielded in the 80s \$\endgroup\$ – Neil_UK Mar 23 '19 at 13:44
  • \$\begingroup\$ @Neil_UK You must be young. ;) I worked on the PDP-10, which also has a 36-bit word. By the way, +1 for putting your finger on the nub of it. \$\endgroup\$ – jonk Mar 23 '19 at 20:59
  • \$\begingroup\$ @jonk I'll take that as a compliment. I meant that there were oddball word lengths even as late as then. \$\endgroup\$ – Neil_UK Mar 24 '19 at 6:14
  • \$\begingroup\$ @Neil_UK I was just teasing you, is all. ;) I go back far enough that even the idea of 8 bits for a byte was still yet to be. I think the popularity of 7-bit ASCII, together with the parity bit to check for bit errors which were then not uncommon, helped to cement it. I still remember arguments about EBCDIC standard vs ASCII vs other systems. And the PDP-10, with a 36 bit word would store 5 7-bit ASCII values (plus a bit) but only as one of several options for packing character data. The dust of confusion did finally settle, though. \$\endgroup\$ – jonk Mar 24 '19 at 20:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.