3030
edycji
Nie podano opisu zmian |
|||
(Nie pokazano 13 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 1: | Linia 1: | ||
[[File:ME-DM-400-v1-front.jpg|thumb|Pakiet nośnika danych ME-DM-400 o pojemności 512ksłów ([[:File:ME-DM-400-v1-back.jpg|rewers]])]] | |||
[[File:ME-GA-400-front.jpg|thumb|Pakiet ME-GA-400 ([[:File:ME-GA-400-back.jpg|rewers]])]] | |||
[[File:ME-GI-400-front.jpg|thumb|Pakiet ME-GI-400 ([[:File:ME-GI-400-back.jpg|rewers]])]] | |||
[[File:ME-BU-400-front.jpg|thumb|Pakiet zasilania bateryjnego ME-BU-400 ([[:File:ME-BU-400-back.jpg|rewers]])]] | |||
= Wprowadzenie = | = Wprowadzenie = | ||
Linia 12: | Linia 13: | ||
== Organizacja fizyczna == | == Organizacja fizyczna == | ||
Nośnik fizyczny pamięci zorganizowany jest jako zbiór modułów. Moduły maja pojemność 32 k | Nośnik fizyczny pamięci zorganizowany jest jako zbiór modułów. Moduły maja pojemność 32 k słów (np. pamięć ferrytowa) lub 64 k słów (pamięć MEGA). Numer modułu jest 4-bitową liczbą od 0 do 15 i stanowi pierwszą współrzędną fizyczną: NM. Moduły podzielone są na jednostki fizyczne, zwane kwantami, o pojemności 4 k słów. | ||
Zatem moduł może zawierać 8 lub 16 kwantów. Numer kwantu wewnątrz modułu oznaczamy NK. Kwant pamięci identyfikowany jest przez podanie pary współrzędnych (NM, NK), zaś komórka pamięci przez podanie pary współrzędnych (NM, AF). | Zatem moduł może zawierać 8 lub 16 kwantów. Numer kwantu wewnątrz modułu oznaczamy NK. Kwant pamięci identyfikowany jest przez podanie pary współrzędnych (NM, NK), zaś komórka pamięci przez podanie pary współrzędnych (NM, AF). | ||
Linia 19: | Linia 20: | ||
== Alokacja == | == Alokacja == | ||
Do ustalenia relacji | Do ustalenia relacji między współrzędnymi logicznymi i fizycznymi służy rozkaz Alokuj (OU N<sub>15</sub>=1 Q=0 nielegalny), który przypisuje: | ||
* numerowi bloku - numer modułu, | * numerowi bloku - numer modułu, | ||
Linia 31: | Linia 32: | ||
* pamięć alokacji PAL dla całej przestrzeni adresowej MERA-400, | * pamięć alokacji PAL dla całej przestrzeni adresowej MERA-400, | ||
* nośnik informacji PAO o pojemności od 128 k do 1024 k | * nośnik informacji PAO o pojemności od 128 k do 1024 k słów, | ||
* pamięć | * pamięć stałą PAS o pojemności 4 k słów dostępną pod adresem logicznym (0,017xxxx). | ||
Pamięć MEGA może występować w systemie razem z innymi modułami pamięci np. z pamięcią | Pamięć MEGA może występować w systemie razem z innymi modułami pamięci np. z pamięcią ferrytową, drutową itd. Pamięć MEGA jest umownie zorganizowana w moduły, każdy o pojemności 64 k czyli zawierającymi po 16 kwantów. | ||
== Pamięć alokacji PAL == | == Pamięć alokacji PAL == | ||
Pamięć alokacji pamięci MEGA przechowuje odwzorowanie dla wszystkich adresów logicznych. Ma pojemność 256 | Pamięć alokacji pamięci MEGA przechowuje odwzorowanie dla wszystkich adresów logicznych. Ma pojemność 256 słów 9-cio bitowych. Przed działaniem pamięci należy zapisać wszystkie pozycje pamięci PAL. | ||
Zapis do pamięci PAL wykonuje rozkaz ALOKUJ (OU,N<sub>15</sub>=1, Q=0). Adres logiczny przesyłany jest w pierwszym argumencie rozkazu: | Zapis do pamięci PAL wykonuje rozkaz ALOKUJ (OU,N<sub>15</sub>=1, Q=0). Adres logiczny przesyłany jest w pierwszym argumencie rozkazu: | ||
{| class="wikitable" style="text-align: center;" | |||
| R<sub>0</sub> || R<sub>1</sub> || R<sub>2</sub> || R<sub>3</sub> || R<sub>4</sub> || R<sub>5</sub> || R<sub>6</sub> || R<sub>7</sub> || R<sub>8</sub> || R<sub>9</sub> || R<sub>10</sub> || R<sub>11</sub> || R<sub>12</sub> || R<sub>13</sub> || R<sub>14</sub> || R<sub>15</sub> | |||
|- | |||
| colspan="4" | NSL || colspan="8" | - || colspan="4" | BNL | |||
|} | |||
* R<sub>0-3</sub> - zawiera NSL, | * R<sub>0-3</sub> - zawiera NSL, | ||
Linia 46: | Linia 53: | ||
Drugi argument rozkazu identyfikuje adres fizyczny: | Drugi argument rozkazu identyfikuje adres fizyczny: | ||
{| class="wikitable" style="text-align: center;" | |||
| N<sub>0</sub> || N<sub>1</sub> || N<sub>2</sub> || N<sub>3</sub> || N<sub>4</sub> || N<sub>5</sub> || N<sub>6</sub> || N<sub>7</sub> || N<sub>8</sub> || N<sub>9</sub> || N<sub>10</sub> || N<sub>11</sub> || N<sub>12</sub> || N<sub>13</sub> || N<sub>14</sub> || N<sub>15</sub> | |||
|- | |||
| || || || - || - || || || colspan="4" | NK || colspan="4" | NM || 1 | |||
|} | |||
* N<sub>11-14</sub> - numer modułu NM, | * N<sub>11-14</sub> - numer modułu NM, | ||
Linia 58: | Linia 71: | ||
* N<sub>0</sub> - wskaźnik zakończenia procesu alokacji pamięci MEGA. | * N<sub>0</sub> - wskaźnik zakończenia procesu alokacji pamięci MEGA. | ||
Pozycje N<sub>0-2</sub> i N<sub>5-7</sub> są ignorowane przez "obce" moduły pamięci. Pamięć MEGA odpowiada OK na każdy rozkaz ALOKUJ z N<sub>6</sub>=1, bez względu na pojemność zaimplementowanego nośnika. | Pozycje N<sub>0-2</sub> i N<sub>5-7</sub> są ignorowane przez "obce" moduły pamięci. Przy instalacji pamiœci MEGA należy dokonać przeróbki "obcych" modułów tak, aby nie reagowały na rozkazy alokacji z N6=1. Pamięć MEGA odpowiada OK na każdy rozkaz ALOKUJ z N<sub>6</sub>=1, bez względu na pojemność zaimplementowanego nośnika. | ||
W pamięci MEGA można przypisać rożnym adresom logicznym ten sam adres fizyczny. | W pamięci MEGA można przypisać rożnym adresom logicznym ten sam adres fizyczny. | ||
Linia 64: | Linia 77: | ||
Pamięć MEGA odpowiada na rozkaz PISZ/CZYTAJ po wykonaniu rozkazu ALOKUJ z N<sub>0</sub>=1, gdy rozkazy PISZ/CZYTAJ odwołują się do istniejącej w pamięci MEGA i zaalokowanej strony czyli alokowanej z N<sub>6</sub>=1 i N<sub>5</sub>=0. | Pamięć MEGA odpowiada na rozkaz PISZ/CZYTAJ po wykonaniu rozkazu ALOKUJ z N<sub>0</sub>=1, gdy rozkazy PISZ/CZYTAJ odwołują się do istniejącej w pamięci MEGA i zaalokowanej strony czyli alokowanej z N<sub>6</sub>=1 i N<sub>5</sub>=0. | ||
W pamięci MEGA przewidziane jest bateryjne podtrzymanie zasilania przy krótkotrwałych zanikach sieci. Zachowana jest wówczas zarówno zawartość pamięci PAL, jak i nośnika | W pamięci MEGA przewidziane jest bateryjne podtrzymanie zasilania przy krótkotrwałych zanikach sieci. Zachowana jest wówczas zarówno zawartość pamięci PAL, jak i nośnika PAO. Przy faktycznym zaniku zasilania pamięć MEGA przestaje odpowiadać na rozkazy PISZ/CZYTAJ. Należy wówczas przeprowadzić pełną alokacje pamięci PAL oraz uwzględnić fakt zaniku informacji w nośniku PAO. | ||
'''Uwaga:''' Moduł pamięci ferrytowej nie odpowiada na rozkaz ALOKUJ dotyczący sprzętowo zaalokowanych pierwszych dwóch kwantów. (BRAK-ODP). | '''Uwaga:''' Moduł pamięci ferrytowej nie odpowiada na rozkaz ALOKUJ dotyczący sprzętowo zaalokowanych pierwszych dwóch kwantów. (BRAK-ODP). | ||
Linia 85: | Linia 98: | ||
| 768k || 256k || 15 - 4 | | 768k || 256k || 15 - 4 | ||
|- | |- | ||
| 1024k || 256k || 15 - 0 | | 1024k || 256k || 15 - 0 | ||
|- | |- | ||
|} | |} | ||
== Pamięć stała PAS == | == Pamięć stała PAS == | ||
Linia 95: | Linia 106: | ||
Pamięć PAS zbudowana jest na elementach PROM. Przy odwołaniach do PAS (adresy logiczne (0,017xxxx)) nie dokonuje się transformacji adresu poprzez pamięć alokacji. | Pamięć PAS zbudowana jest na elementach PROM. Przy odwołaniach do PAS (adresy logiczne (0,017xxxx)) nie dokonuje się transformacji adresu poprzez pamięć alokacji. | ||
Po zaniku zasilania pamięci MEGA lub/i wykonaniu zerowania systemu (CLEAR, rozkaz MCL) pamięć PAS jest dostępna (widoczna) w systemie. Pamięć PAS można "przesłonić" dowolnym rozkazem ALOKUJ z | Po zaniku zasilania pamięci MEGA lub/i wykonaniu zerowania systemu (CLEAR, rozkaz MCL) pamięć PAS jest dostępna (widoczna) w systemie. Pamięć PAS można "przesłonić" dowolnym rozkazem ALOKUJ z N<sub>1</sub>=1, oraz "odsłonić" dowolnym rozkazem ALOKUJ z N<sub>2</sub>=1. | ||
Pamięć PAS zawiera program realizujący następujące funkcje: | Pamięć PAS zawiera program realizujący następujące funkcje: | ||
* wstępny zapis całej pamięci PAL, | * wstępny zapis całej pamięci PAL, | ||
* zbadanie rzeczywistej konfiguracji pamięci w systemie | * zbadanie rzeczywistej konfiguracji pamięci w systemie MERA-400 ("obce" moduły pamięci, ich pojemność, sprzętowo zaalokowane kwanty, konfiguracja pamięci MEGA), | ||
* testy pamięci MEGA, | * testy pamięci MEGA, | ||
* wczytanie wskazanego systemu operacyjnego do pamięci (wskazanej) oraz przekazanie mu sterowania wraz z informacjami o rzeczywistej konfiguracji pamięci systemu. | * wczytanie wskazanego systemu operacyjnego do pamięci (wskazanej) oraz przekazanie mu sterowania wraz z informacjami o rzeczywistej konfiguracji pamięci systemu. | ||
Linia 111: | Linia 122: | ||
* testy pamięci bloków obcych po 32K i MEGA po 64K, | * testy pamięci bloków obcych po 32K i MEGA po 64K, | ||
* ściągaczki typowych systemów operacyjnych (CROOK,SOM), | * ściągaczki typowych systemów operacyjnych (CROOK, SOM), | ||
* ściągaczkę systemu testów STM. | * ściągaczkę systemu testów STM. | ||
Uruchomienie inicjatora następuje od adresu 0170000 bloku 0. Inicjator bada | Uruchomienie inicjatora następuje od adresu 0170000 bloku 0. Inicjator bada konfigurację dołączonej do systemu pamięci operacyjnej. Przy istnieniu hardwer'owo zaalokowanej pamięci bloku 0 inicjator działa w tym bloku, w przypadku dołączonej wyłącznie pamięci MEGA inicjator alokuje na adresy 0-030000 bloku logicznego numer 0 trzy kwanty dla systemu operacyjnego z pamięci MEGA o minimalnym numerze modułu (tzn przy pojemności 1M slow są to kwanty 0, 1 i 2 modułu numer 0, a przy pojemności 512 K słów są to kwanty 0, 1 i 2 modułu numer 8) i do tego obszaru przepisuje wybrany system operacyjny. Po włączeniu maszyny, należy ustawić na kluczach adres 0170000, CLEAR, LOAD. | ||
Następnie na kluczach należy ustawić: | Następnie na kluczach należy ustawić: | ||
Linia 121: | Linia 132: | ||
! Klucze !! Opis | ! Klucze !! Opis | ||
|- | |- | ||
| | | 1-3 || wybrany tryb pracy: | ||
* | * 1 - test pamięci bloków obcych i MEGA, | ||
* | * 2 - ściągniecie systemu [[SOM-MERCOMP]] (z dysku stałego), | ||
* | * 3 - ściągniecie systemu testów STM, | ||
* | * 4 - ściągniecie systemu [[SOM-MERCOMP]] (z winchestera), | ||
|- | |- | ||
| | | 5-6 || wolny | ||
|- | |- | ||
| 6 - 14 || niewykorzystany | | 6-14 || niewykorzystany | ||
|- | |- | ||
| | | 0 lub 7 || ściągniecie systemu CROOK, i jeżeli żaden inny klucz nie jest podniesiony przeprowadzana jest próba transmisji z dysku 5M talerza stałego jednostki nr 0 w kanale 4. Gdy dysk ten nie jest włączony lub nie jest gotowy, przeprowadzana jest próba transmisji kolejno z dysku elastycznego 360K nr 0 lub z WINCHESTERA nr 0 procesora MULTIX w kanale 1. Przy podniesionych kluczach adres dysku określany jest następująco: | ||
* | * klucze 8-9 - numer dysku, | ||
* klucz | * klucze 10-13 - numer kanału, | ||
* klucz 14=0 | |||
* klucz 15 - rodzaj dysku (0-wymienny, 1-stały lub 0-dysk elastyczny, 1-dysk twarty). | |||
|- | |- | ||
|} | |} | ||
Przy pracy testu dodatkowe znaczenie | Przy pracy testu dodatkowe znaczenie mają klucze 4 oraz 8-15: | ||
{| class="wikitable" | {| class="wikitable" | ||
! Klucze !! Opis | ! Klucze !! Opis | ||
|- | |- | ||
| 4 || określa sposób porozumiewania się z operatorem przy teście pamięci | | 4 || określa sposób porozumiewania się z operatorem przy teście pamięci. | ||
* 1 - test zatrzymuje się na stopach w przypadku wystąpienia błędu, | * 1 - test zatrzymuje się na stopach w przypadku wystąpienia błędu, | ||
* 0 - całkowity wydruk (nr urządzenia i nr kanału określają klucze 8 - 14) | * 0 - całkowity wydruk (nr urządzenia i nr kanału określają klucze 8-14) | ||
|- | |||
| 5 || powoduje ominięcie testu pamięci obcych i przejście do testowania pamięci MEGA | |||
|- | |- | ||
| 8 - 14 || nr urządzenia i nr kanału do porozumiewania się z operatorem (gdy klucz 4 = 0) | | 8-14 || nr urządzenia i nr kanału do porozumiewania się z operatorem (gdy klucz 4 = 0) | ||
* 0 - przyjmuje się nr urządzenia = 4 i nr kanału = 15, | * 0 - przyjmuje się nr urządzenia = 4 i nr kanału = 15, | ||
* > 0 - odczytywany jest nr urządzenia i nr kanału (nr urządzenia/10+nr kanału/14) | * > 0 - odczytywany jest nr urządzenia i nr kanału (nr urządzenia/10+nr kanału/14) | ||
Linia 159: | Linia 174: | ||
Test wykorzystuje klucz 4 pulpitu technicznego. W czasie wykonywania testu przy włączonym kluczu 4 na monitor nie są drukowane teksty. Test pamięci wykonuje się w sposób automatyczny. | Test wykorzystuje klucz 4 pulpitu technicznego. W czasie wykonywania testu przy włączonym kluczu 4 na monitor nie są drukowane teksty. Test pamięci wykonuje się w sposób automatyczny. | ||
== Opis stopów == | == Opis stopów == | ||
Linia 186: | Linia 193: | ||
STOP/START nie wznawia działania programu. | STOP/START nie wznawia działania programu. | ||
|- valign="top" | |- valign="top" | ||
| HLT,05 || Nieudana próba alokacji, BO, EN lub PE, 15 kwantu i 15 bloku pamięci MEGA, przy | | HLT,05 || Nieudana próba alokacji, BO, EN lub PE, 15 kwantu i 15 bloku pamięci MEGA, przy próbie uaktywnienia MEGI (1/0). | ||
Zawartość rejestrów: | Zawartość rejestrów: | ||
* R1 - adres logiczny, | * R1 - adres logiczny, | ||
Linia 192: | Linia 199: | ||
STOP/START nie wznawia działania programu. | STOP/START nie wznawia działania programu. | ||
|- valign="top" | |- valign="top" | ||
| HLT,06 || Błąd przy | | HLT,06 || Błąd przy próbie odczytu poprzednio zapisanego obszaru pamięci MEGA (istnieją obce bloki pamięci) | ||
Zawartość rejestrów: | Zawartość rejestrów: | ||
* R6 - numer bloku, w którym wystąpił błąd, | * R6 - numer bloku, w którym wystąpił błąd, | ||
Linia 217: | Linia 224: | ||
* 010014 - rodzaj testu (wartość od 1 do 3), | * 010014 - rodzaj testu (wartość od 1 do 3), | ||
* 010033 - wzorzec testowany (wartość od 1 do 6), | * 010033 - wzorzec testowany (wartość od 1 do 6), | ||
* 010032 - sposób testowania (wartość =1), | * 010032 - sposób testowania (wartość = 1), | ||
* 010004 - numer bloku, w którym wystąpił błąd, | * 010004 - numer bloku, w którym wystąpił błąd, | ||
* R1 - adres wystąpienia błędu, | * R1 - adres wystąpienia błędu, | ||
Linia 242: | Linia 249: | ||
STOP/START wznawia działanie programu. | STOP/START wznawia działanie programu. | ||
|- valign="top" | |- valign="top" | ||
| HLT,017 || Błąd w czasie wykonywania testu. Transmisje PISZ/CZYTAJ dokonywane są po siedem | | HLT,017 || Błąd w czasie wykonywania testu. Transmisje PISZ/CZYTAJ dokonywane są po siedem słów (rozkazy grupowe). | ||
Zawartość rejestrów i komórek pamięci: | Zawartość rejestrów i komórek pamięci: | ||
* 010014 - rodzaj testu (wartość od 1 do 3), | * 010014 - rodzaj testu (wartość od 1 do 3), | ||
Linia 313: | Linia 320: | ||
Wzorce testowane w programie: | Wzorce testowane w programie: | ||
* 1 - | * 1 - stałe zero, | ||
* 2 - stała jedynka, | * 2 - stała jedynka, | ||
* 3 - pływające zero, | * 3 - pływające zero, | ||
Linia 334: | Linia 341: | ||
= Komunikaty wyprowadzane na monitor = | = Komunikaty wyprowadzane na monitor = | ||
Przy prawidłowo działającym teście pamięci | Przy prawidłowo działającym teście pamięci i przy zadaniu wydruku na monitor wyprowadzane są następujące teksty: | ||
>>ZEROWANIE PAMIECI | >>ZEROWANIE PAMIECI | ||
Linia 357: | Linia 364: | ||
* N0, ..., NN - numery testowanych bloków pamięci MEGA. | * N0, ..., NN - numery testowanych bloków pamięci MEGA. | ||
W trakcie wykonywania testu | W trakcie wykonywania testu może pojawić się komunikat: | ||
>>BLAD | >>BLAD | ||
Linia 373: | Linia 380: | ||
lub oba komunikaty równocześnie i zatrzymanie testu na odpowiednim stopie. Klucz STOP/START powoduje kontynuowanie testu. | lub oba komunikaty równocześnie i zatrzymanie testu na odpowiednim stopie. Klucz STOP/START powoduje kontynuowanie testu. | ||
Podanie na kluczach 0 - 3 wartości odpowiadającej wybranemu systemowi powoduje: | Podanie na kluczach 0-3 wartości odpowiadającej wybranemu systemowi powoduje: | ||
* sprawdzenie konfiguracji pamięci, | * sprawdzenie konfiguracji pamięci, | ||
Linia 379: | Linia 386: | ||
* zatrzymanie na stopie 070 przed wejściem do systemu, celem ustawienia kluczy wymaganych przez system operacyjny. | * zatrzymanie na stopie 070 przed wejściem do systemu, celem ustawienia kluczy wymaganych przez system operacyjny. | ||
Podanie na kluczach 0 - 3 wartości 4 lub 5 powoduje zatrzymanie HLT,033. Test całego obszaru pamięci MEGA, bloków od 0 do 15 trwa około 45 min. Test zakończony jest komunikatem END i stopem 012. STOP/START powoduje przejście do początku programu, co umożliwia ponowny wybór trybu pracy. | Podanie na kluczach 0-3 wartości 4 lub 5 powoduje zatrzymanie HLT,033. Test całego obszaru pamięci MEGA, bloków od 0 do 15 trwa około 45 min. Test zakończony jest komunikatem END i stopem 012. STOP/START powoduje przejście do początku programu, co umożliwia ponowny wybór trybu pracy. | ||
{{Source|title=Pamięć MEGA|author=Amepol|date=1989-12-28}} |