3041
edycji
Nie podano opisu zmian |
Nie podano opisu zmian |
||
| (Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika) | |||
| Linia 11: | Linia 11: | ||
Obszar użytkowy musi przed użyciem zostać zorganizowany przez system operacyjny na drodze programowej. Operacja ta przypisuje logicznym numerom bloków (NB) fizyczne fragmenty pamięci. | Obszar użytkowy musi przed użyciem zostać zorganizowany przez system operacyjny na drodze programowej. Operacja ta przypisuje logicznym numerom bloków (NB) fizyczne fragmenty pamięci. | ||
W modułach pamięci o pojemności 32k słów każdy organizowane są na drodze programowej bloki pamięci o pojemności od 4k do 32k słów z przyrostem co 4k. Każdemu modułowi jest nadawany podczas jego instalacji numer (za pomocą zworki na pakiecie pamięci), według którego następuje wybranie modułu przy programowym organizowaniu pamięci. W ramach każdego modułu zrealizowanych jest osiem segmentów po 4k, którym przydziela się numer bloku i adres w bloku, zapamiętywane w rejestrze adresu logicznego (RAL) segmentu pamięci. 8-bitowy adres logiczny wskazuje więc jednoznacznie segment w ramach całej pamięci operacyjnej. | W modułach pamięci o pojemności 32k słów każdy organizowane są na drodze programowej bloki pamięci o pojemności od 4k do 32k słów z przyrostem co 4k. Każdemu modułowi jest nadawany podczas jego instalacji numer (za pomocą zworki na pakiecie pamięci), według którego następuje wybranie modułu przy programowym organizowaniu pamięci. W ramach każdego modułu zrealizowanych jest osiem segmentów po 4k, którym przydziela się numer bloku (NB) i adres w bloku (AB), zapamiętywane w rejestrze adresu logicznego (RAL) segmentu pamięci. 8-bitowy adres logiczny wskazuje więc jednoznacznie segment w ramach całej pamięci operacyjnej. | ||
Programy użytkowe adresują później pamięć używając 4-bitowego numeru bloku (NB) i 16-bitowego adresu w ramach bloku (ADRES). Z punktu widzenia organizacji pamięci, 4-bitowy numer bloku wraz z pierwszymi 4 bitami adresu określają 4k segment, do którego skierowane jest żądanie, a pozostałe 12 bitów adresu określają pozycję w segmencie. | |||
[[File:Pamiec_podzial.png]] | [[File:Pamiec_podzial.png]] | ||
| Linia 37: | Linia 39: | ||
Programowy podział pamięci pozwala efektywnie wykorzystać pamięć operacyjną minikomputera, dzięki możliwości przydzielenia programom bloków o rozmiarach odpowiadających ich potrzebom. | Programowy podział pamięci pozwala efektywnie wykorzystać pamięć operacyjną minikomputera, dzięki możliwości przydzielenia programom bloków o rozmiarach odpowiadających ich potrzebom. | ||
= Przykład podziału pamięci = | |||
W 32k module pamięci o numerze 1 chcemy zorganizować 4 bloki o rozmiarach: 12k, 4k, 8k i 8k, i kolejnych numerach: 1, 2, 3 i 4. Zawartości argumentów rozkazów OU, które należy wykonać są następujące: | |||
* Utworzenie bloku 1 | |||
** NB=1, AB=0, MP=1, AL=0 | |||
** NB=1, AB=1, MP=1, AL=1 | |||
** NB=1, AB=2, MP=1, AL=2 | |||
* Utworzenie bloku 2 | |||
** NB=2, AB=0, MP=1, AL=3 | |||
* Utworzenie bloku 3 | |||
** NB=3, AB=0, MP=1, AL=4 | |||
** NB=3, AB=1, MP=1, AL=5 | |||
* Utworzenie bloku 4 | |||
** NB=4, AB=0, MP=1, AL=6 | |||
** NB=4, AB=1, MP=1, AL=7 | |||