Supea-skalamośc - Wprowadzają nie tytko przesunięcie w czasie etapów przetwarzania poleceń ale też możliwość równoległego wykonania tych samych etapów. Wymaga to zbudowania jednostek wykonawczych w CPU. Wydajność procesora superskalarnego rośnie ale nie proporcjonalnie do liczby zdublowanych torów wykonawczych. Nie można zrównoleglić wykonania poleceń, które zależą od siebie. Można to usprawnić analizując zależności pomiędzy poleceniami i zmienić kolejność ich wykonania. VLIW - bardzo długie słowo poleceń
Ustalenie równoległości wykonania dobywa się na etapie kompilacji programu. Kompilator optymalizuje kod maszynowy w taki sposób aby jak najlepiej wykorzystać możliwości procesora.
3 polecenia operacji na łańcuchach -
Po wykonaniu modyfikują odpowiednio wartości rejestrów SI, Dl Składają się z przedrostka REP, REPE, REPZ, REPNE, REPNZ (zmniejszają CX o 1 po wykonaniu rozkazu; REP używany z MOVS i STOS, oznacza powtarzanie rozkazu gdy CX różne od zera;
REPE - powtarzanie gdy zgodność; REPZ - powtarzanie gry zero; REPNE -powtarzanie gdy brak zgodności; REPNZ - powtarzanie gdy zero)
1 rozkazu łańcuchowego MOVS - przepisanie spod DS:[SI] do ES:[DI], CMPS
- porównanie DS:[Si] do ES[DI], LODS - AX (AL) = DS:[SI], STOS - ES:[DI] = AX (AL.)
Omów mechanizm przerwań - To asynchroniczny sygnał wysyłany przez urządzenie l/O oznaczające potrzebę obsłużenia zdarzenia, jakie zaszło w tym urządzeniu. Przerwanie programowe jest generowane przez wykonanie rozkazu wywołania przerwania w trakcie wykonywania programu oznaczające przeniesienie sterowania. Użycie przerwań zwiększa efektywność współpracy CPU z 1/0.
Zgłaszanie przerwania następuje poprzez zmianę stanu logicznego na linii przerwań. Może to być:- zmiana stanu logicznego z niskiego na wysoki i odwrotnie - utrzymanie poziomu logicznego (przerwanie wywołane poziomem) - wysłanie polecenia po magistrali. Przerwania maskowalne i niemaskowalne używa się przy współpracy z urządzeniami we/wy lub urządzeniami kontrolującymi pracę systemu mikroprocesorowego. Przerwania mogą też służyć do zgłaszania zdarzeń przy komunikacji pomiędzy CPU w systemach wieloprocesorowych. W przypadku gdy więcej niż jedno przerwanie czeka na wykonanie, wykonywane jest najpierw to o wyższym priorytecie.
Jak zrealizowano przerwania w 8086?
8086 posiada dwa wyprowadzenia służące do zgłaszania przerwań:
- NMI - niemaskowalne, na które procesor reaguje zawsze o ile jest prawidłowo zgłoszone (przetrzymanie w stanie aktywnym przez minimum
2 clk)
- INTR - maskowalne, którego realizacja zależy od flagi I w słowie stanu procesora. Zgłaszane poziomem .Procedura obsługi przerwania to podprogram umieszczony w pamięci operacyjnej mikroprocesora. Na końcu podprogramu znajduje się polecenie powrotu z obsługi przerwania IRET. Tablica wektorów przerwań to obszar pamięci operacyjnej o