MULTIX od środka: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
(→Sprzęt) |
(→I/O) |
||
Linia 34: | Linia 34: | ||
|- | |- | ||
| 0 || RO || DANEI || MSB dane odczytane z MERA-400 | | 0 || RO || DANEI || MSB dane odczytane z MERA-400 | ||
|- | |||
| 0 || WO || DANEO || MSB dane do przesłania rozkazem "pisz do PAO" | |||
|- | |- | ||
| 1 || RO || DANEI+1 || LSB dane odczytane z MERA-400 | | 1 || RO || DANEI+1 || LSB dane odczytane z MERA-400 | ||
|- | |||
| 1 || WO || DANEO+1 || LSB dane do przesłania rozkazem "pisz do PAO" | |||
|- | |- | ||
| 2 || RO || PSARG || MSB argument polecenia sterującego | | 2 || RO || PSARG || MSB argument polecenia sterującego | ||
|- | |||
| 2 || WO || ADRES || MSB adres w PAO MERA-400 | |||
|- | |- | ||
| 3 || RO || PSARG+1 || LSB argument polecenia sterującego | | 3 || RO || PSARG+1 || LSB argument polecenia sterującego | ||
|- | |||
| 3 || WO || ADRES+1 || LSB adres w PAO MERA-400 | |||
|- | |- | ||
| 4 || RO || POLST || specyfikacja polecenia sterującego | | 4 || RO || POLST || specyfikacja polecenia sterującego | ||
|- | |||
| 4 || WO || NBPN || nr bloku PAO, nr procesora | |||
|- | |- | ||
| 5 || RO || POLST+1 || ID linii | | 5 || RO || POLST+1 || ID linii | ||
|- | |||
| 5 || WO || KWINT || pokwitowanie przerwań | |||
|- | |||
| 6 || WO || SPECI || specyfikacja przerwania do MERA-400 | |||
|- | |||
| 7 || WO || SPECI+1 || specyfikacja przerwania: numer linii | |||
|- | |- | ||
| 8 || WO || KOTRA || Rozkaz "koniec transmisji" | | 8 || WO || KOTRA || Rozkaz "koniec transmisji" | ||
Linia 58: | Linia 74: | ||
|- | |- | ||
| 15 || WO || INTR1 || Rozkaz "zgłoś przerwanie do MERA-400 (procesor 1) | | 15 || WO || INTR1 || Rozkaz "zgłoś przerwanie do MERA-400 (procesor 1) | ||
|- | |||
| 0x38 || WO || KOPRQ || pokwitowanie OPRQ | |||
|- | |||
| 0x4e || WO || WUUPG || ustawienie maski przerwań 'INTR' | |||
|- | |||
| 0x50 || RW || CLOCK || zegar | |||
|- | |||
| 0x51 || RW || CLDZI || dzielnik zegara (we=1536kHz) | |||
|- | |||
| 0x52 || RW || CLUSA || dzielnik dla USART (we=1536kHz, wy=153,6kHz) | |||
|- | |||
| 0x64-0x65 || RW || DMAD1 || DMA kanał 1: rejestr adresu | |||
|- | |||
| 0x66-0x67 || RW || DMCO1 || DMA kanał 1: licznik, typ pracy | |||
|- | |||
| 0x68-0x69 || RW || DMAD2 || DMA kanał 2: rejestr adresu | |||
|- | |||
| 0x6a-0x6b || RW || DMCO2 || DMA kanał 2: licznik, typ pracy | |||
|- | |||
| 0x6c-0x6d || RW || DMAD3 || DMA kanał 3: rejestr adresu | |||
|- | |||
| 0x6e-0x6f || RW || DMCO3 || DMA kanał 3: licznik, typ pracy | |||
|- | |||
| 0x70 || RW || DMAST || DMA: sterowanie | |||
|- | |||
| 0x80 || RW || INFTR || informacja do/z linii szeregowej | |||
|- | |||
| 0x81 || RW || INFST || status i sterowanie linii szeregowej | |||
|- | |||
| 0x80 || RW || PARIO || PORT A = parzysty nr. linii | |||
|- | |||
| 0x81 || RW || PARIO+1 || PORT B = nieparzysty nr. linii | |||
|- | |||
| 0x82 || RW || PARIO+2 || port C = sygnały handshake i gotowości | |||
|- | |||
| 0x83 || RO || PARIO+3 || sterowanie | |||
|- | |||
| ... || ... || ... || kolejne linie szeregowe/równoległe | |||
|} | |} | ||
Wersja z 11:49, 11 mar 2014
Dokumentacja techniczna MULTIX-a prawdopodobnie dziś już nie istnieje. Niniejsza strona jest próbą odtworzenia tego, jak MULTIX działał i jaka była jego architektura.
Sprzęt
MULTIX to komputer zbudowany w oparciu o procesor Intel 8085:
- CPU: Intel 8085
- Timer: Intel 8253
- I/O równoległe: Intel 8255
- I/O szeregowe: Intel 8251
- DMA: Intel 8257
- kanał 1: MERA-400
- kanał 2: taśma
- kanał 3: autoload
- ROM (firmware) ?KB
- RAM ?KB
Mapa pamięci
Adres | Nazwa | Zawartość |
---|---|---|
0x6000 | RAM | początek RAM |
0x6000+154 | STACK | koniec stosu, początek dostępnej RAM |
0xFF00 | AD | starszy bajt adresów we/wy widzianych jako pamięć |
I/O
Adres | Typ | Nazwa | Znaczenie |
---|---|---|---|
0 | RO | DANEI | MSB dane odczytane z MERA-400 |
0 | WO | DANEO | MSB dane do przesłania rozkazem "pisz do PAO" |
1 | RO | DANEI+1 | LSB dane odczytane z MERA-400 |
1 | WO | DANEO+1 | LSB dane do przesłania rozkazem "pisz do PAO" |
2 | RO | PSARG | MSB argument polecenia sterującego |
2 | WO | ADRES | MSB adres w PAO MERA-400 |
3 | RO | PSARG+1 | LSB argument polecenia sterującego |
3 | WO | ADRES+1 | LSB adres w PAO MERA-400 |
4 | RO | POLST | specyfikacja polecenia sterującego |
4 | WO | NBPN | nr bloku PAO, nr procesora |
5 | RO | POLST+1 | ID linii |
5 | WO | KWINT | pokwitowanie przerwań |
6 | WO | SPECI | specyfikacja przerwania do MERA-400 |
7 | WO | SPECI+1 | specyfikacja przerwania: numer linii |
8 | WO | KOTRA | Rozkaz "koniec transmisji" |
10 | WO | PISZB | Rozkaz "pisz blok przez DMA do MERA-400" |
11 | WO | CZYTB | Rozkaz "czytaj blok przez DMA z MERA-400" |
12 | WO | PISZP | Rozkaz "pisz do MERA-400" |
13 | WO | CZYTP | Rozkaz "czytaj z MERA-400" |
14 | WO | INTR0 | Rozkaz "zgłoś przerwanie do MERA-400 (procesor 0) |
15 | WO | INTR1 | Rozkaz "zgłoś przerwanie do MERA-400 (procesor 1) |
0x38 | WO | KOPRQ | pokwitowanie OPRQ |
0x4e | WO | WUUPG | ustawienie maski przerwań 'INTR' |
0x50 | RW | CLOCK | zegar |
0x51 | RW | CLDZI | dzielnik zegara (we=1536kHz) |
0x52 | RW | CLUSA | dzielnik dla USART (we=1536kHz, wy=153,6kHz) |
0x64-0x65 | RW | DMAD1 | DMA kanał 1: rejestr adresu |
0x66-0x67 | RW | DMCO1 | DMA kanał 1: licznik, typ pracy |
0x68-0x69 | RW | DMAD2 | DMA kanał 2: rejestr adresu |
0x6a-0x6b | RW | DMCO2 | DMA kanał 2: licznik, typ pracy |
0x6c-0x6d | RW | DMAD3 | DMA kanał 3: rejestr adresu |
0x6e-0x6f | RW | DMCO3 | DMA kanał 3: licznik, typ pracy |
0x70 | RW | DMAST | DMA: sterowanie |
0x80 | RW | INFTR | informacja do/z linii szeregowej |
0x81 | RW | INFST | status i sterowanie linii szeregowej |
0x80 | RW | PARIO | PORT A = parzysty nr. linii |
0x81 | RW | PARIO+1 | PORT B = nieparzysty nr. linii |
0x82 | RW | PARIO+2 | port C = sygnały handshake i gotowości |
0x83 | RO | PARIO+3 | sterowanie |
... | ... | ... | kolejne linie szeregowe/równoległe |
Przerwania wewnętrzne
Przerwanie | Nazwa | Znaczenie | Pokwitowanie |
---|---|---|---|
1 | IKWIT | MERA-400 przyjęła przerwanie | zapis 1 DO "KWINT" |
2 | IZEGA | zegar | zapis "MODE" do "CLCON" |
3 | IOPRQ | zgłoszenie OPRQ | zapis "KOPRQ" |
4.5 | ITRAP | dla testowania | odczyt "PTRAP" |
5.5 | IPOST | polecenie sterujące | odczyt "POLST+1" |
6 | ITAP | taśma magnetyczna | odczyt specyfikacji |
6.5 | IKASE | kaskada serial | odczyt/zapis informacji |
7 | IKAPA | kaskada parallel | odczyt/zapis informacji |
7.5 | IDMA | DMA | odczyt DMAST |
Przerwania do MERA-400
RKOIN EQU 32 ;ROZMIAR KOLEJKI PRZERWAN