Mapa pamięci: Różnice pomiędzy wersjami

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 33: Linia 33:
! dec !! oct !! hex
! dec !! oct !! hex
|-
|-
| 0 - 3 || 0 - 03 || 0x0 - 0x3 || skok do OS
| 0 - 3 || 0 - 03 || 0x0 - 0x3 || Skok do systemu operacyjnego
|-
|-
| 4 - 63 || 04 - 077 || 0x04 - 0x3f || [[Tablica konfiguracji MERY-400]]
| 4 - 63 || 04 - 077 || 0x04 - 0x3f || [[Tablica konfiguracji MERY-400]]
|-
|-
| 64 - 95 || 0100 - 0137 || 0x40 - 0x5f || wektory przerwań
| 64 - 95 || 0100 - 0137 || 0x40 - 0x5f || [[Przerwania|Wektory przerwań]]
|-
|-
| 96 || 0140 || 0x60 || adres procedury obsługi EXL
| 96 || 0140 || 0x60 || Adres procedury obsługi EXL
|-
|-
| 97 || 0141 || 0x61 || wskaźnik stosu
| 97 || 0141 || 0x61 || Wskaźnik stosu
|-
|-
| 98 || 0142 || | 0x62 || wolne (?)
| 98 || 0142 || | 0x62 || Nie używane (?)
|-
|-
| 99 - 107 || 0143 - 0153 || 0x63 - 0x6b || [[Tablica opisu dysków WINCHESTER]]
| 99 - 107 || 0143 - 0153 || 0x63 - 0x6b || [[Tablica opisu dysków WINCHESTER]]
|-
|-
| 108 - 8191 || 0154 - 017777 || 0x6c - 0x1fff || CROOK
| 108 - 5888 || 0154 - 013400 || 0x6c - 0x1700 || CROOK - jądro systemu
|-
| 5889 - 8191 || 013401 - 017777 || 0x1700 - 0x1fff || CROOK - tablice systemowe
|-
|-
|}
|}

Wersja z 15:19, 17 paź 2012

Organizacja pamięci bloku systemowego

Z konstrukcyjnego punktu widzenia (narzuconego przez to, jak funkcjonuje jednostka centralna) organizacja pamięci w bloku systemowym wygląda następująco:

Adresy Zawartość
dec oct hex
0 - 63 000 - 077 0x00 - 0x3f wolne
64 - 95 0100 - 0137 0x40 - 0x5f wektory przerwań
96 0140 0x60 adres procedury obsługi EXL
97 0141 0x61 wskaźnik stosu
100 - 111 0144 - 0157 0x64 - 0x6f wektory obsługi niezainstalowanych opcji
112 - 8191 0160 - 017777 0x70 - 0x1fff wolne

Uwagi:

  • Umiejscowienie i rozmiar stosu nie są narzucone przez jednostkę centralną.
  • Wektory niezainstalowanych opcji są adresami procedur obsługi wywoływanych w przypadku, kiedy w systemie nie jest zainstalowany arytmometr wielokrotnej precyzji, a w programie użyto jednej z instrukcji: NRF, AD, SD, MW, DW, AF, SF, MF, DF. Pozwala to zaimplementować programową obsługę operacji arytmetycznych dla liczb długich i zmiennoprzecinkowych.

Organizacja pamięci bloku systemowego - CROOK-5

CROOK wykorzystywał pamięć systemową jak w tabeli poniżej. Ponieważ w praktyce nie występowały konfiguracje MERY-400 bez arytmometru wielokrotnej precyzji, obszar wektorów niezainstalowanych opcji został również wykorzystany.

Adresy Zawartość
dec oct hex
0 - 3 0 - 03 0x0 - 0x3 Skok do systemu operacyjnego
4 - 63 04 - 077 0x04 - 0x3f Tablica konfiguracji MERY-400
64 - 95 0100 - 0137 0x40 - 0x5f Wektory przerwań
96 0140 0x60 Adres procedury obsługi EXL
97 0141 0x61 Wskaźnik stosu
98 0142 0x62 Nie używane (?)
99 - 107 0143 - 0153 0x63 - 0x6b Tablica opisu dysków WINCHESTER
108 - 5888 0154 - 013400 0x6c - 0x1700 CROOK - jądro systemu
5889 - 8191 013401 - 017777 0x1700 - 0x1fff CROOK - tablice systemowe