[Simh] C64 and C128
Rich Alderson
simh at alderson.users.panix.com
Tue Jun 30 21:48:20 EDT 2015
> From: "Bill Cunningham" <billcun at suddenlink.net>
> Date: Tue, 30 Jun 2015 19:56:06 -0400
> I remember those floppy drives where big and heavy. I never had cp/m or
> a c128. I am reading that an 8502 and Z80A (which I can't find anything
> on) was inside. The Z80A was about 4 MHz. The Z80A word size I do not
> know. It was of course an 8 bit with a 16 bit address bus I believe. Now
> which is "memory word" size?
The Z80A ran at 4MHz. It is a faster variant of the Z80, which ran at 2.5MHz.
You can leave off the word "memory" and the scare quotes in your question, and
stop worrying about addressing in the same breath. The 2 are orthogonal.
Before the IBM System/360 came along, computers were word-addressed, character-
addressed, bit-addressed, or digit-addressed (decimal).
Bit-addressed computers represent characters as sequences of bits (the term
"byte" originally meant "sequence of bits representing a character", not just
"eight bits"). Decimal digits require 4 bits to be represented in binary, so
that's the "word" size there. Character-addressed machines generally used 6
bits to represent a character, so that's the "word" size there.
Word-addressed computers comfortably operate on large numbers of bits at one
time, with data paths which transfer all of the data in parallel (except in
some very special cases like the PDP-8/s). The size of the word in bits is the
defining characteristic of the computer. Let's list a few examples of word-
addressed machines:
System Bits/Word Bits/Addr
====== ========= =========
CDC 1604 48 15
CDC 160-A 12 6 or 12
CDC 6600 60 18
DEC PDP-1 18 12
DEC PDP-7 18 13
DEC PDP-10 36 18
IBM 7094 36 15
OK, that's enough for starters. In each of those systems, the amount of data
which will be found at each consecutive address is the same number of bits, and
that is what the computer operates on.
OK, enter the System/360. IBM had for years been manufacturing word-addressed
"scientific" computers (like the 709/7090/7094) and character-addressed
"business" computers (like the 1401). They wanted to make a single line of
computers which could do both kinds of computing (character-oriented or larger
word-data oriented) equally well; the result was something of a compromise for
both sets of customers, but's beside the point.
What IBM did was take the "byte" notion, give it a fixed length, make it the
addressable element, and DEFINE THE WORD TO BE MULTIPLE BYTES (in this case,
four). So the byte addresses go 0, 1, 2, 3, ... but the word addresses go
0, 4, 8, 12, ... Data gets moved into and out of registers as words (or
halfwords or doublewords, but that's another story).[1] From one memory
location to another, data moved in bytes.
SO: Now we have a new definition of "word size", one in which 8-bit bytes are
constant and addressable.
So people started building computers to work with the 880lb (400Kg) gorilla.
Some examples of computer systems that use this model:
System Bits/Word Bytes/Word Bits/Addr
====== ========= ========== =========
IBM System/360 32 4 24
DG Nova 16 2 15
DEC PDP-11 16 2 16
DEC VAX 32 4 32
At the same time, microprocessors began to appear, with smaller data sizes, and
it gets complex all over again. The addressable unit is the 8-bit byte, and
registers only handle 8 bits, but addressing may be larger:
Microchip Bits/Word Bits/Addr
========= ========= =========
Intel 8008 8 14
Intel 8080 8 16
Zilog Z80A 8 16
MOS Tech 6502 8 16
Motorola 6809 16 16
Motorola 68000 16 24
Motorola 68030 32 32
Intel 8086 16 20
Intel 80286 16 24
Intel 80386 32 32
Obviously, "word size" here is how large a register is into which data from
some number of bytes in memory can be stuffed.
I hope that clears up your confusion.
Rich
[1] As is the fact that different models hide the fact that they're really
moving 8 bits = 1 byte or 16 bits = 2 bytes = a halfword at a time in the
hardware, because that's an implementation detail which the 8 bits/32 bits
System/360 ignores.
More information about the Simh
mailing list