4
votes

Warning: I'm not sure where this type of question belongs. If you know a better place for it, drop a link.

Background: Imagine you heard a sentence like this: "this computer/processor has X-bit architecture". Now, if that computer is standard, you get a lot of information, like maximum RAM capacity, maximum unsigned/signed integer value and so on... But what if computer is not standard?

The mystery: back to 70's and 80's, the period referred as "8-bit era". Wait, 8-bit? Yes. So, if a CPU architecture is 8-bit, then:

  • The maximum RAM capacity of computer is exactly 256 bytes.
  • The maximum UInt range is from 0 to 256 and the maximum signed integer range is -128 to 127.
  • The maximum ROM capacity is also 256 bytes, because you have to be able to jump around?

However, it's clearly not like that. Look at some technical characteristics of game consoles of that time and you will see that those exceed the 256 limit.

Quotes (http://www.8bitcomputers.co.uk/whatbasics.html):

The Sharp PC1211 is actually a 4-bit computer but cleverly glues two together to look like 8 (a computer able to add up to 16 would not be very useful!)

So if it's a 4-bit computer, why can manipulate 8-bit integers? And another one...

The Sinclair QL is one of those computers that actually leaves the experts arguing. In parts, it is a 16 bit computer, in some ways it is even like a 32 bit computer but it holds its memory in 8 bits.

What? So why is this mess in www.8bitcomputers.co.uk?

Generally: how is an X-bit computer defined?

  • The biggest data bus that it has is X bits long (then Sinclair QL is a 32-bit computer)?
  • The CU functions of that computer are X bits long?
  • It holds its memory (in registers, ROM, RAM, whatever) in 8 bits?
  • Other definitions?

Purpose: I think that what I am designing is a 4-bit CPU. I don't really know if it has a 4-bit architecture, because it uses double ROM address, and includes functions like "activate ALU" that take another 4 bits from register Y. I want to know if I can still call it a 4-bit CPU. That's it! Thank you very much in advance :)

1
I believe an X-bit computer has a maximum RAM capacity of 2^X bytes. Other than that, I think this is off topic, possibly belonging on Super User, though I'm not really sure. Maybe a more electronics related site would be better (Electrical Engineering?), see here for a list. - Bernhard Barker
Thank You so much! Heading to those sites. And also thanks for the RAM capacity thought, if it's true, then I can make huge ROM and my 4-bit (which I will be able to call 4-bit) computer will be able to run tick-tack-toe! Thanks! - Mark Miller
Actually I think I am wrong about the 2^X limit - link. - Bernhard Barker
Perhaps, as Grad said "The addressing doesn't matter in defining the number X. An 8-bit computer can have 16-bit addressing in order to increase the RAM or memory size. An X-bit computer (or CPU) is defined whether the central unites and registers, such as CPU and ALU, are in X-bit." Yet, by his definition, I'm still designing a 4-bit computer! And now I'm learning of exactly what parts CPU is made of. - Mark Miller
Just in case it helps you, you could read the spec on the 4004, intels first microprocessor :) - en.wikipedia.org/wiki/Intel_4004 - Leeor

1 Answers

3
votes

An X-bit computer (or CPU) is defined whether the central unites and registers, such as CPU and ALU, are in X-bit. The addressing doesn't matter in defining the number X. As you have mentioned, an 8-bit computer (e.g. Motorola 68HC11 even tough it is a MCU, still it can be counted as a computer with CPU, I/O and Memory) can have 16-bit addressing in order to increase the RAM or memory size.

The data-bus size and the register sizes of CPU and ALU is the limiting factor in defining the X number in an X-bit computer architecture. You can get more information from http://en.wikipedia.org/wiki/Word_(computer_architecture)

An answer to your question will be "Yes, you are designing a 4-bit CPU if the registers and data bus size are in 4-bit.