Architektura procesora 8086/8088
Nie ma odnośnika do UTK więc daje to tutaj :)
W ARCHITEKTURZE PROCESORA MOŻNA WYRÓŻNIĆ DWA PODSTAWOWE ELEMENTY FUNKCJONALNE:
- JEDNOSTKĘ WYKONAWCZĄ, KTÓREJ ZADANIEM JEST WYKONANIE OPERACJI ARYTMETYCZNYCH I LOGICZNYCH W ZALEŻNOŚCI OD WEWNĘTRZNYCH SYGNAŁÓW STERUJĄCYCH
- JEDNOSTKĘ STERUJĄCĄ, KTÓREJ ZADANIEM JEST DEKODOWANIE Z PROGRAMÓW ROZKAZÓW I NA JEGO PODSTAWIE GENEROWANIE WEW. I ZEW. SYGNAŁÓW STERUJĄCYCH
REJESTRY
ZGODNIE ZE SCHEMATEM BLOKOWYM MIKROPROCESORA ZARÓWNO JEDNOSTKA ARYTMETYCZNO-LOGICZNA JAK I UKŁAD STEROWANIA WSPÓŁPRACUJĄ Z OKREŚLONYM ZASTAWEM REJESTRÓW.
ZAWARTOŚĆ PEWNEJ CZĘŚCI REJESTRÓW Z TEGO ZESTAWU MOŻE BYĆ ZMIENNA W WYNIKU WYKONYWANIA PRZEZ PROCESOR OKREŚLONEJ INSTRUKCJI.
REJESTRY TAKIE NAZYWAMY REJESTRAMI DOSTĘPOWYMI PROGRAMOWO.
POZOSTAŁE REJESTRY SĄ NIEDOSTĘPNE DLA UŻYTKOWNIKA A ICH ZESTAW NIE JEST ZWYKLE ZNANY.
W REJESTRACH DOSTĘPNYCH PROGRAMOWO WYSTĘPUJĄ TAKIE TYPY REJESTRÓW, KTÓRYCH ODPOWIEDNIKI ZNAJDUJĄ SIĘ PRAKTYCZNIE W KAŻDYM PROCESORZE. ICH POJEMNOŚĆ MOŻE SIĘ ZMIENIAĆ, WYKONANIE ZADANIA ZOSTAJE TAKIE SAMO.
REJESTRY MAJĄ SWOJE ZADANIA DO SPEŁNIENIA, PEŁNIĄ OKREŚLONĄ ROLĘ I DAJĄ SIĘ POGRUPOWAĆ WG PODOBNYCH ZADAŃ.
- REJESTRY POWSZECHNEGO STOSOWANIA
- REJESTRY SEGMENTOWE
- REJESTRY WSKAŹNIKOWE I INDEKSOWE
- WSKAŹNIK ROZKAZU
- REJESTR ZNACZNIKÓW (REJESTR FLAGOWY), RYS.2
ZNACZNIKI STANU
OF- FLAGA NADMIARU (PRZEPEŁNIENIE)
SF- FLAGA ZNAKU
ZF- FLAGA ZERA
CF- FLAGA PRZENIESIENIA
PF- FLAGA PARZYSTOŚCI
AF- FLAGA PRZENIESIENIA POMOCNICZEGO
ZNACZNIKI KONTROLNE
IF- FLAGA ZEZWOLENIA NA PRZENIESIENIE
TF- FLAGA PRACY KROKOWEJ
DF- FLAGA KIERUNKU
REJESTRY POWSZECHNEGO STOSOWANIA
OSIEM REJESTRÓW POWSZECHNEGO STOSOWANIA, KAŻDY O DŁUGOŚCI
16-TU BITÓW.
SĄ UŻYWANE DO NAJCZĘŚCIEJ STOSOWANYCH ROZKAZÓW JAKO MIEJSCE SKĄD POBIERAMY DANE, MIEJSCE PRZEZNACZENIA, WSKAŹNIKI DO PAMIĘCI
I JAKO LICZNIKI.
KAŻDY Z TYCH OŚMIU REJESTRÓW MOŻE BYĆ ZAŁADOWANY ZARÓWNO Z PAMIĘCI JAK TEŻ Z NICH MOŻNA DO PAMIĘCI ZAŁADOWAĆ.
MOŻNA ICH UŻYWAĆ DO OPERACJI ARYTMETYCZNYCH I LOGICZNYCH.
REJESTR AX- ZNANY JAKO AKUMULATOR, UŻYWANY ZAWSZE TAM GDZIE
ZACHODZI MNOŻENIE, DZIELENIE.
JEST TO NAJBARDZIEJ EFEKTYWNY REJESTR UŻYWANY W
OPERACJACH ARYTMETYCZNYCH, LOGICZNYCH, PRZESYŁANIA
DANYCH.
REJESTR BX- MOŻE WSKAZYWAĆ POŁOŻENIE, LOKALIZACJĘ W PAMIĘCI.
16-BITOWA WARTOŚĆ ZAPAMIĘTANA W TYM REJESTRZE MOŻE
BYĆ PO CZĘŚCI UŻYTA DO ADRESOWANIA POŁOŻENIA PAMIĘCI.
MOŻE BYĆ TRAKTOWANA JAKO DWA 8-BITOWE REJESTRY.
REJESTR CX- UŻYWA SIĘ GO GŁÓWNIE JAKO LICZNIKA ODLICZAJĄCEGO
POWTARZAJĄCE SIĘ FRAGMENTY PROGRAMÓW LUB
POJEDYNCZYCH ROZKAZÓW.
MOŻE BYĆ TRAKTOWANY JAKO DWA 8-BITOWE REJESTRY.
REJESTR DX- JEGO GŁÓWNYM PRZEZNACZENIEM JEST UŻYCIE GO JAKO
WSKAŻNIKA ADRESU W ROZKAZACH WEJŚCIA – WYJŚCIA
MOŻE BYĆ UŻYTY W OPERACJACH MNOŻENIA, DZIELENIA.
MOŻE BYĆ TRAKTOWANY JAKO DWA 8-BITOWE REJESTRY
DH DL
REJESTRY WSKAŹNIKOWE I INDEKSOWE
REJESTR SI- PODOBNIE JAK REJESTR BX MOŻE BYĆ UŻYTY JAKO WSKAŹNIK
PAMIĘCI.
REJESTR DI- JEST BARDZO PODOBNY W UŻYCIU DO SI, MOŻE BYĆ UŻYTY
JAKO WSKAŹNIK PAMIĘCI.
REJESTR BP- MOŻE BYĆ UŻYTY JAKO WSKAŻNIK PAMIĘCI, ALE A PEWNĄ
RÓŻNICĄ.
WSKAZUJĄC NA ADRES PAMIĘCI ODNOSI SIĘ DO REJESTRU DS.
REJESTR SP- WSKAŹNIK STOSU, JEST TO OSTATNI REJESTR POWSZECHNEGO
STOSOWANIA.
WSKAŹNIK ROZKAZU
REJESTR IP- ZWANY WSKAŹNIKIEM ROZKAZU, ZAWIERA KOLEJNY ROZKAZ
DO WYKONANIA.
GDY JEDEN ROZKAZ JEST WYKONYWANY WSKAŹNIK ROZKAZU
USTAWIANY JEST DO NASTĘPNEGO ROZKAZU PAMIĘCI, POD
KTÓRYM ZNAJDUJE SIĘ ROZKAZ DO WYKONANIA.
REJESTRY SEGMENTOWE
REJESTR CS- WSKAZUJE NA POCZĄTEK 64-KBITOWEGO BLOKU PAMIĘCI LUB
NA SEGMENT KODU, W KTÓRYM REZYDUJE NASTĘPNY DO
WYKONANIA ROZKAZ.
MOŻE BYĆ ZMIENIANY PRZEZ NIEKTÓRE ROZKAZY.
PROCESOR 8086 NIGDY NIE POBIERA ROZKAZÓW Z SEGMENTU
INNEGO NIŻ CS.
REJESTR DS- WSKAZUJE POCZĄTEK SEGMENTU DANYCH, CZYLI
64-KBITOWEGO BLOKU PAMIĘCI ZAWIERAJĄCEJ ARGUMENTY.
REJESTR ES- WSKAZUJE POCZĄTEK SEGMENTU DANYCH, CZYLI
64-KBITOWEGO BLOKU PAMIĘCI ZWANEJ DODATKOWYM
SEGMENTEM.
NIE JEST PRZYPISANY DO POJEDYNCZYCH ZASTOSOWAŃ.
STOSOWANY DO RÓŻNYCH, POJAWIAJĄCYCH SIĘ POTRZEB.
REJESTR SS- WSKAZUJE NA POCZĄTEK SEGMENTU DANYCH, CZYLI
64-KBITOWEGO BLOKU PAMIĘCI ZWANEGO SEGMENTEM STOSU.
REJESTR ZNACZNIKÓW
REJESTR
ZNACZNIKÓW- 14-TY REJESTR PROCESORA 8086.JEST ZBIOREM
POSZCZEGÓLNYCH BITÓW KONTROLNYCH ZWANYCH
ZNACZNIKAMI (FLAGAMI), KTÓRE WSKAZUJĄ NA
WYSTĄPIENIE OKREŚLONEGO STANU.
KAŻDY ZNACZNIK JEST BITEM W REJESTRZE, KTÓRY
WSKAZUJE CZY WYSTĄPIŁ OKREŚLONY STAN.
ZNACZNIKI MOGĄ BYĆ WYKORZYSTYWANE
ZARÓWNO PRZEZ PROCESOR JAK I
PROGRAMISTĘ NA DWA SPOSOBY:
- USTAWIENIE ZNACZNIKA DLA ZAPAMIĘTANIA
OKREŚLONEGO STANU PO WYKONANIU ROZKAZU.
- TESTOWANIE ZNACZNIKA CELEM UMOŻLIWIENIA DECYZJI
O SPOSOBIE DALSZEGO POSTĘPOWANIA (PRZETWARZANIA
DANYCH)
ZNACZNIKI STANU
CF- FLAGA PRZENIESIENIA LUB POŻYCZKI, USTAWIANA PRZY
PRZEKROCZENIU ZAKRESU DŁUGOŚCI SŁOWA, W KTÓRYM ZAPISYWANY
JEST WYNIK ( 1 – WYSTĘPUJE PRZENIESIENIE)
PF- FLAGA PARZYSTOŚCI (1- WSKAZUJE NA PARZYSTĄ LUB NIEPARZYSTĄ
LICZBĘ BITÓW O WARTOŚCI 10)
ZF- FLAGA ZERA SYGNALIZUJĄCA, ŻE WYNIKIEM OSTATNIO WYKONYWANEJ
OPERACJI JEST ZERO
AF- FLAGA PRZENIESIENIA POMOCNICZEGO, JEST WYKORZYSTYWANA PRZY
DZIAŁANIACH NA LICZBACH.
USTAWIANA JEST, GDY NASTĘPUJE PRZENIESIENIE LUB POŻYCZKA Z
NAJSTARSZEGO BITU.
SF- FLAGA ZNAKU USTAWIANA, GDY NAJSTARSZY BIT WYNIKU JEST RÓWNY
1.
OF- FLAGA PRZEPEŁNIENIA, SYGNALIZUJĄCA PRZEKROCZENIE ZAKRESÓW
DLA OPERACJI ARYTMETYCZNYCH.
ZNACZNIKI KONTROLNE
TF- ZNACZNIK PRACY KROKOWEJ;
USTAWIENIE 1 POZWALA NA WYKONANIE
PRZEZ PROCESOR (PO WYKONANIU KAŻDEGO ROZKAZU) PRZERWANIA I
PRZEJŚCIE DO SPECJALNYCH PROCEDUR OBSŁUGI.
IF- ZNACZNIK ZEZWOLENIA NA PRZERWANIE;
USTAWIENIE 1 POWODUJE ODBLOKOWANIE SYSTEMU PRZERWAŃ W
PROCESORZE,0- PROCESOR IGNORUJE PRZERWANIE
DF- ZNACZNIK KIERUNKU, UMOŻLIWIA REALIZACJĘ PRZETWARZANIA
ŁAŃCUCHÓW (CIĄGU SŁÓW) PRZY ROSNĄCYCH ADRESACH 1 LUB
MALEJĄCYCH ADRESACH 0.
ALU- BLOK ARYTMETYCZNO- LOGICZNY (ARTMETIC LOGICAL UNIT)
JEST CZĘSTO NAZYWANY UKŁADEM WYKONAWCZYM PROCESERA,
PONIEWAŻ WYKONUJE WIĘKSZOŚĆ ROZKAZÓW ZLECONYCH
PROCESOROWI.
JEST UNIWERSALNYM UKŁADEM KOMBINACYJNYM, KTÓRY
REALIZUJE OPERACJE MATEMATYCZNE I LOGICZNE W ZALEŻNOŚCI OD
ZAPROGRAMOWANEJ OPERACJI TJ. ROZKAZU UMIESZCZONEGO W
PROGRAMIE.
ROZKAZY MOGĄ DOTYCZYĆ:
1. OPERACJI DWUARGUMENTOWYCH
- OPERACJI ARYTMETYCZNYCH: +, -
- OPERACJI LOGICZNYCH: SUMOWANIE, MNOŻENIE
2. OPERACJI JEDNOARGUMENTOWYCH NP. NEGOWANIE BITÓW, PRZESUWANIE ZAWARTOŚCI REJESTRÓW
UKŁAD STEROWANIA- ZWYKLE LISTA ROZKAZÓW PROCESORA, ZAWIERA
ROZKAZY PROSTE, KTÓRE PROCESOR WYKONUJE W
JEDNYM KROKU (NP. ROZKAZ DODAWANIA DWÓCH
LICZB) ORAZ ZŁOŻONE, WYKONYWANE W KILKU
KROKACH (NP. ROZKAZY MNOŻENIA, DZIELENIA SĄ
WYKONYWANE JAKO CIĄG DODAWAŃ I PRZESUWAŃ.)
W CELU ZAPEWNIENIA WŁAŚCIWEGO
WYSTEROWANIA UKŁADU PROCESORA TRZEBA
ZAPEWNIĆ ODPOWIEDNIE SEKWENCJE SŁÓW
PODAWANE NA WEJŚCIE STERUJĄCE UKŁADU ALU.