Search   
Home  Print View  

 

Programmer's Manual

Branch Content

Memory Map

From the OS prospective the computer's memory is divided in the following portions:

------------------------------------------------------------------
H1OS MEMORY MAP
------------------------------------------------------------------
0000-00ff  (256 words ): Interrupt Vectors
0100-1fff  (rest of 8K): Kernel Data Area followed by Kernel Code
2000-...   (4K to 52K ): Heap
f000-ffff  (4K        ): Peripheral dual-port buffers
------------------------------------------------------------------

Interrupt vectors are used by both internal CPU-generated interrupts and software interrupts (See Interrupts Architecture in the Engineer's Manual for details).

The Kernel Data Area holds different global structures used by the Kernel such as the Process Schedule Table and the Memory Allocation Table among many others.

Kernel code follows. As mentioned, this is a set of separate short routines placed one after another.

Starting at address 2000 is the Heap (remaining memory) where all application code and data will be allocated. Operating System service processes and Run-Time Libraries are also placed in this area.

The Heap is managed by the Kernel in terms of "paragraphs" of 256 words each. As Heritage/1 memory increments in steps of 4K words, the size of the Heap can expand from 16 paragraphs (4K) to 32 paragraphs (52K).

The bottom 4K portion of the addressable space (f000-ffff) is not populated with actual RAM chips installed in the Core Unit but reserved for peripherals. In this range, peripherals will allocate their buffers which are wired as dual-port memory. Buffers may be of different sizes depending of the peripheral's design.

A typical configuration will have 32K words of RAM installed in the Core Unit from 0000 to 7fff. This makes a Heap of 24K words. The bottom portion (f000-ffff) will still reserved for peripherals dual-port buffers.

Homebuilt CPUs WebRing

JavaScript by Qirien Dhaela

Join the ring?

David Brooks, the designer of the Simplex-III homebrew computer, has founded the Homebuilt CPUs Web Ring. To join, drop David a line, mentioning your page's URL. He will then add it to the list.
You will need to copy this code fragment into your page.

Project start date: May 13 of 2009