top decor
Basics Memory organization


MMIX can work with 64, 32, 16 and 8-bit data. Its memory has byte organization and so every byte has its own address. Hence it's no wonder that the difference between the addresses of two consequent bytes is equal to 1.

Being a 64-bit computer, MMIX can address

264 = 18 446 744 073 709 551 616 bytes.
Indeed not all this giant amount of memory is presented in reality.

Although MMIX can't read from its memory less than 1 byte, this is not minimum amount of information. Every byte consists from 8 bit, conventionally grouped into two 4-bit halfs called nybbles.

Consecutive bytes in computer's memory can be united into several quantities of information, which also have special names. Here is the full list of units, which can be used as a measure of information quantities:

  • 1 nybble = 4 bits
  • 1 byte = 8 bits = 2 nybbles
  • 1 wyde = 16 bits = 2 bytes
  • 1 tetra = 32 bits = 2 wydes = 4 bytes
  • 1 octa = 64 bits = 2 tetras = 8 bytes
To make the situation clearer, look at the following picture, where all this units are presented:

Units of information
The little gray rectangles are bits. 4 bits can be grouped together into nybble. Separate bits and nybbles can not be addressed by computer directly, so their symbol is rectangle with rounded corners. Note that all other informational units, separately available to computer, are defined in the picture with usual rectangles.

Basic information unit in modern computers is byte (red rectangles in the picture). Two basic ways of byte's numeration are usually used. In MMIX the most significant byte has the lowest address (so-called "big endian" way).

Pairs of bytes can be combined into wydes. In MMIX every wyde has its definition: H, MH, ML and L - see the above picture.

32 bits (4 bytes) form tetrabyte or simply tetra. Tetra is a half of the memory cell in MMIX. Note that every processor instruction occupies 1 tetra.

And at last all 64-bit cell is called octabyte or simply octa.


Related topics:

"MMIX basics" page
 

  (C) 2001, Evgeny Eremin. rEd-MMI project documentation