3013
edycji
Nie podano opisu zmian |
|||
(Nie pokazano 4 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 1: | Linia 1: | ||
Jednostka centralna posiada układ przerwań, który jest w stanie przyjmować i obsługiwać 32 przerwania. Układ przerwań jest układem priorytetowym. Ustalenie priorytetów związane jest z geometrią zgłoszeń przerwań, a mianowicie im niższy jest numer przerwania, tym wyższy jest jego priorytet. | Jednostka centralna posiada układ przerwań, który jest w stanie przyjmować i obsługiwać 32 przerwania. Układ przerwań jest układem priorytetowym. Ustalenie priorytetów związane jest z geometrią zgłoszeń przerwań, a mianowicie im niższy jest numer przerwania, tym wyższy jest jego priorytet. | ||
== Obsługa przerwań == | |||
Obsługę przerwania wykonuje się gdy: | Obsługę przerwania wykonuje się gdy: | ||
* nastąpi zgłoszenie przerwania do rejestru | |||
* nastąpi zgłoszenie przerwania do rejestru RZ | |||
* zapalona jest maska odpowiadająca zgłoszonemu przerwaniowi, | * zapalona jest maska odpowiadająca zgłoszonemu przerwaniowi, | ||
* wskaźnik przeskoku P=0, | * wskaźnik przeskoku P=0, | ||
Linia 37: | Linia 40: | ||
* RM[0÷9] := 0 dla i = 0 | * RM[0÷9] := 0 dla i = 0 | ||
* RZ<sub>j</sub> := 0 | * RZ<sub>j</sub> := 0 | ||
* IC := S/64+ | * IC := S/64+i;0/ | ||
* S/97;0/ := S/97;0/+4 | * S/97;0/ := S/97;0/+4 | ||
* SR<sub>10</sub> := 0 | * SR<sub>10</sub> := 0 | ||
== Elementy układu obsługi przerwań == | |||
Układ przerwań zawiera następujące rejestry: | Układ przerwań zawiera następujące rejestry: | ||
Linia 49: | Linia 54: | ||
{| class="wikitable" | {| class="wikitable" | ||
! Pozycja w SR !! Pozycja w RZ !! Adres !! Opis | ! Pozycja w SR !! Pozycja w RZ !! Adres<br/>(dec) !! Adres<br/>(hex) !! Opis | ||
|- | |- | ||
| - || 0 || 64 || alarm zasilania (z danego procesora) | | - || 0 || 64 || 0x40 || alarm zasilania (z danego procesora) | ||
|- | |- | ||
| 0 || 1 || 65 || błąd parzystości pamięci operacyjnej | | 0 || 1 || 65 || 0x41 || błąd parzystości pamięci operacyjnej | ||
|- | |- | ||
| 1 || 2 || 66 || brak pamięci operacyjnej | | 1 || 2 || 66 || 0x42 || brak pamięci operacyjnej | ||
|- | |- | ||
| 2 || 3 || 67 || zgłoszenie przerwania z drugiego procesora (przeważnie o wyższym priorytecie) | | 2 || 3 || 67 || 0x43 || zgłoszenie przerwania z drugiego procesora (przeważnie o wyższym priorytecie) | ||
|- | |- | ||
| 3 || 4 || 68 || zanik zasilania (z interfejsu) modułów zewnętrznych | | 3 || 4 || 68 || 0x44 || zanik zasilania (z interfejsu) modułów zewnętrznych | ||
|- | |- | ||
| rowspan=7 | 4 || 5 || 69 || [[przerwanie zegarowe]] | | rowspan=7 | 4 || 5 || 69 || 0x45 || [[przerwanie zegarowe]] | ||
|- | |- | ||
| 6 || 70 || nieprawidłowy rozkaz | | 6 || 70 || 0x46 || nieprawidłowy rozkaz | ||
|- | |- | ||
| 7 || 71 || nadmiar dzielenia stałoprzecinkowego | | 7 || 71 || 0x47 || nadmiar dzielenia stałoprzecinkowego | ||
|- | |- | ||
| 8 || 72 || podmiar zmiennoprzecinkowy | | 8 || 72 || 0x48 || podmiar zmiennoprzecinkowy | ||
|- | |- | ||
| 9 || 73 || nadmiar zmiennoprzecinkowy | | 9 || 73 || 0x49 || nadmiar zmiennoprzecinkowy | ||
|- | |- | ||
| 10 || 74 || błąd danych zmiennoprzecinkowych lub próba dzielenia przez zero | | 10 || 74 || 0x4a || błąd danych zmiennoprzecinkowych lub próba dzielenia przez zero | ||
|- | |- | ||
| 11 || 75 || do zastosowań specjalnych | | 11 || 75 || 0x4b || do zastosowań specjalnych | ||
|- | |- | ||
| rowspan=2 | 5 || 12 || 76 || kanał 0 | | rowspan=2 | 5 || 12 || 76 || 0x4c || kanał 0 | ||
|- | |- | ||
| 13 || 77 || kanał 1 | | 13 || 77 || 0x4d || kanał 1 | ||
|- | |- | ||
| rowspan=2 | 6 || 14 || 78 || kanał 2 | | rowspan=2 | 6 || 14 || 78 || 0x4e || kanał 2 | ||
|- | |- | ||
| 15 || 79 || kanał 3 | | 15 || 79 || 0x4f || kanał 3 | ||
|- | |- | ||
| rowspan=6 | 7 || 16 || 80 || kanał 4 | | rowspan=6 | 7 || 16 || 80 || 0x50 || kanał 4 | ||
|- | |- | ||
| 17 || 81 || kanał 5 | | 17 || 81 || 0x51 || kanał 5 | ||
|- | |- | ||
| 18 || 82 || kanał 6 | | 18 || 82 || 0x52 || kanał 6 | ||
|- | |- | ||
| 19 || 83 || kanał 7 | | 19 || 83 || 0x53 || kanał 7 | ||
|- | |- | ||
| 20 || 84 || kanał 8 | | 20 || 84 || 0x54 || kanał 8 | ||
|- | |- | ||
| 21 || 85 || kanał 9 | | 21 || 85 || 0x55 || kanał 9 | ||
|- | |- | ||
| rowspan=6 | 8 || 22 || 86 || kanał 10 | | rowspan=6 | 8 || 22 || 86 || 0x56 || kanał 10 | ||
|- | |- | ||
| 23 || 87 || kanał 11 | | 23 || 87 || 0x57 || kanał 11 | ||
|- | |- | ||
| 24 || 88 || kanał 12 | | 24 || 88 || 0x58 || kanał 12 | ||
|- | |- | ||
| 25 || 89 || kanał 13 | | 25 || 89 || 0x59 || kanał 13 | ||
|- | |- | ||
| 26 || 90 || kanał 14 | | 26 || 90 || 0x5a || kanał 14 | ||
|- | |- | ||
| 27 || 91 || kanał 15 | | 27 || 91 || 0x5b || kanał 15 | ||
|- | |- | ||
| rowspan=4 | 9 || 28 || 92 || zgłoszenie operatora (OPRQ) | | rowspan=4 | 9 || 28 || 92 || 0x5c || zgłoszenie operatora (OPRQ) | ||
|- | |- | ||
| 29 || 93 || zgłoszenie przerwania z drugiego procesora (przerwanie o niższym priorytecie) | | 29 || 93 || 0x5d || zgłoszenie przerwania z drugiego procesora (przerwanie o niższym priorytecie) | ||
|- | |- | ||
| 30 || 94 || przerwanie programowe | | 30 || 94 || 0x5e || przerwanie programowe | ||
|- | |- | ||
| 31 || 95 || przerwanie programowe | | 31 || 95 || 0x5f || przerwanie programowe | ||
|- | |- | ||
|} | |} |