42
Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora 2. Jednostka arytmetyczno-logiczna 3. Rejestry a) Rejestry mikroprocesorów Zilog Z80 i Intel 8086 b) Typy rejestrów c) Wykorzystanie stosu 4. Układ sterowania 5. Magistrale II. Działanie mikroprocesora 1. Cykl rozkazowy mikroprocesora 2. Tryby adresowania 3. Wymiana danych z urządzeniami zewnętrznymi a) Operacje ze sprawdzaniem gotowości urządzeń b) Wymiana z przerwaniami c) Wymiana z bezpośrednim dostępem do pamięci (DMA) 4. Tryby pracy 5. Procesory w komputerach personalnych

BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Embed Size (px)

Citation preview

Page 1: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora

1. Schemat blokowy mikroprocesora 2. Jednostka arytmetyczno-logiczna 3. Rejestry

a) Rejestry mikroprocesorów Zilog Z80 i Intel 8086 b) Typy rejestrów c) Wykorzystanie stosu

4. Układ sterowania 5. Magistrale

II. Działanie mikroprocesora

1. Cykl rozkazowy mikroprocesora 2. Tryby adresowania 3. Wymiana danych z urządzeniami zewnętrznymi

a) Operacje ze sprawdzaniem gotowości urządzeń b) Wymiana z przerwaniami c) Wymiana z bezpośrednim dostępem do pamięci (DMA)

4. Tryby pracy 5. Procesory w komputerach personalnych

Page 2: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

BUDOWA MIKROPROCESORA

Mikroprocesor jest układem sekwencyjnym synchronicznym

µP wykonuje operacje na słowach.

Słowo – elementarna jednostka informacji przesyłana pomiędzy zespołami µP; długość słowa – 4, 8, 16, 32, 64 bity

Produkowane µP różnią się znacznie strukturą logiczną (organizacyjną). Zawierają jednak pewne, powtarzające się (podstawowe) podzespoły:

arytmometr (jednostka arytmetyczno –logiczna, ALU);

rejestry (układy pamięci);

wewnętrzne szyny łączące – magistrale;

układ sterowania i synchronizacji.

Mikroprocesor jest centralnym elementem systemu komputerowego wykonanym w postaci układu scalonego. Wykonuje on operacje arytmetyczne i logiczne na pobranych z zewnątrz (z innych bloków systemu komputerowego) danych według zadanego programu.

Page 3: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Schemat blokowy mikroprocesora Większość mikroprocesorów zawiera następujące podzespoły:

jednostkę arytmetyczno-logiczną ALU

akumulator A

licznik rozkazów PC

zestaw rejestrów roboczych Ri

dostępnych programowo

niedostępnych programowo

rejestr rozkazów IR

wskaźnik stosu SP

układy sterowania CU

magistralę danych

magistrale adresową

magistralę sterującą

Page 4: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Jednostka arytmetyczno-logiczna ALU

W trakcie wykonywania operacji arytmetycznych ALU tworzy znaczniki wyniku zwane flagami zapisując je w rejestru stanu (znaczników). Ich analiza pozwala programowi wychwycić sytuacje anormalne

Rozkazy mogą dotyczyć operacji dwuargumentowych:

– operacji arytmetycznych (dodawanie i odejmowanie) – operacji logicznych (sumowanie mnożenie, sumowanie mod 2, itp.)

operacji jednoargumentowych (np. negowanie bitów lub przesuwanie zawartości rejestrów)

ALU jest funkcjonalnie powiązane z jednym z rejestrów roboczych - akumulatorem

Blok arytmetyczno-logiczny (ALU) - układ realizujący zaprogramowane operacje arytmetyczne i logiczne, takie jak: suma logiczna, iloczyn logiczny, różnica symetryczna (suma modulo dwa), negacja słowa (uzupełnienie do 1), dodawanie arytmetyczne (binarne, dziesiętne), odejmowanie, porównywanie, przesunięcie słowa w lewo i w prawo o jeden bit. ; warunkuje moc obliczeniową µP

Page 5: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Dostępne programowo rejestry procesora I8086

FLAGS

AX AX

BX

CX

DX

SI

DI

BP

SP

IP

CS

DS

ES

SS

15 0

7 15 0

Rejestr stanu(flagowy)

Rejestry ogólnego przeznaczenia

Rejestry wskaźnikowe i indeksowe

Rejestry segmentowe

Licznik rozkazów

AH AL

BH BL

CH CL

DH DL

Wskaźnik stosu

Wskaźnik bazy

Rejestr indeksowy przeznaczenia

Rejestr indeksowy źródła

Rejestr danych

Rejestr zliczający

Rejestr bazowy

Akumulator

Rejestr programu

Rejestr danych

Rejestr dodatkowy

Rejestr stosu

Rejestry podstawowe

Wszystkie te rejestry można traktować jako pary rejestrów 8-bitowych z niezależnym dostępem do części mniej (low) oraz bardziej znaczącej (high).

Poszczególne rejestry przyjmują wtedy nazwy: AL, AH, BL, BH, CL, CH, DL, DH.

Taka organizacja rejestrów pozwala na wykonywanie w prosty sposób zarówno operacji 8-bitowych, jak i 16-bitowych.

Dla wielu rozkazów szczególną funkcję pełni akumulator AX (lub AL). Rozkazy wykorzystujące rejestr AX (w przeciwieństwie do rozkazów wykorzystujących pozostałe rejestry) mają zwarty kod, a czas ich wykonania jest najkrótszy.

Page 6: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Dostępne programowo rejestry procesora I8086

FLAGS

AX AX

BX

CX

DX

SI

DI

BP

SP

IP

CS

DS

ES

SS

15 0

7 15 0

Rejestr stanu(flagowy)

Rejestry ogólnego przeznaczenia

Rejestry wskaźnikowe i indeksowe

Rejestry segmentowe

Licznik rozkazów

AH AL

BH BL

CH CL

DH DL

Wskaźnik stosu

Wskaźnik bazy

Rejestr indeksowy przeznaczenia

Rejestr indeksowy źródła

Rejestr danych

Rejestr zliczający

Rejestr bazowy

Akumulator

Rejestr programu

Rejestr danych

Rejestr dodatkowy

Rejestr stosu

Mikroprocesor 8086 posiadają dwa rejestry wskaźnikowe i dwa indeksowe - wszystkie 16-bitowe. Mogą być one wykorzystane jako argumenty większości rozkazów arytmetycznych i logicznych.

SP jest to rejestr wskaźnikowy stosowany do adresowania danych w obrębie wydzielonego obszaru pamięci, zwanego segmentem stosu Rejestr SP jest modyfikowany przy standardowych operacjach prowadzonych z wykorzystaniem stosu.

Rejestr BP podobnie jak rejestr bazowy BX może być źródłem jednego ze składników (adresu bazowego) adresu efektywnego. Bywa też wykorzystywany podczas operacji niestandar-dowych np. przy pobieraniu parametrów przekazywanych przez stos.

Oba rejestry indeksowe SI, DI mogą wchodzić w skład sumy dającej w wyniku adres efektywny, z tym że po wykonaniu rozkazu wykorzystującego indeksowany tryb adresacji podlegają automodyfikacji (zwiększeniu/zmniejszeniu o jeden lub dwa).

Page 7: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Dostępne programowo rejestry procesora I8086

FLAGS

AX AX

BX

CX

DX

SI

DI

BP

SP

IP

CS

DS

ES

SS

15 0

7 15 0

Rejestr stanu(flagowy)

Rejestry ogólnego przeznaczenia

Rejestry wskaźnikowe i indeksowe

Rejestry segmentowe

Licznik rozkazów

AH AL

BH BL

CH CL

DH DL

Wskaźnik stosu

Wskaźnik bazy

Rejestr indeksowy przeznaczenia

Rejestr indeksowy źródła

Rejestr danych

Rejestr zliczający

Rejestr bazowy

Akumulator

Rejestr programu

Rejestr danych

Rejestr dodatkowy

Rejestr stosu

Rejestr IP (instruction pointer) łącznie z rejestrem segmentowym CS adresuje kolejne rozkazy przeznaczone do wykonania.

IP wskazuje adres względem początku segmentu programu (offset).

Page 8: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Dostępne programowo rejestry procesora I8086

FLAGS

AX AX

BX

CX

DX

SI

DI

BP

SP

IP

CS

DS

ES

SS

15 0

7 15 0

Rejestr stanu(flagowy)

Rejestry ogólnego przeznaczenia

Rejestry wskaźnikowe i indeksowe

Rejestry segmentowe

Licznik rozkazów

AH AL

BH BL

CH CL

DH DL

Wskaźnik stosu

Wskaźnik bazy

Rejestr indeksowy przeznaczenia

Rejestr indeksowy źródła

Rejestr danych

Rejestr zliczający

Rejestr bazowy

Akumulator

Rejestr programu

Rejestr danych

Rejestr dodatkowy

Rejestr stosu

Rejestry segmentowe wykorzystywane są do adresowania pamięci operacyjnej. Pamięć o maksymalnej wielkości 1 MB jest dzielona na logiczne segmenty nie większe niż 64kB. Adresy wewnątrz segmentu są co najwyżej dwubajtowe i mogą być generowane przez 16-bitowe rejestry np. SI, DI, BP, SP.

Rejestry segmentowe zawierają adresy początkowe segmentów

CS (code segment register) - rejestr segmentowy programu wskazuje segment programu, z którego aktualnie są pobierane kolejne rozkazy do wykonania

DS (data segment register) - rejestr segmentowy stosu wskazuje segment, w którym są zapamiętane zmienne używane w programie

ES (extra segment register) - rejestr segmentowy dodatkowy wskazuje dodatkowy segment danych

SS (stack segment register) - rejestr segmentowy stosu wskazuje segment pamięci, w którym jest zdefiniowany stos.

Page 9: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Rejestry – rejestr znaczników flagowych

Rejestr znaczników (flagowy) - rejestr przeznaczony do przechowywania dodatkowych cech wyniku operacji (np. znak, przekroczenie zakresu, znak parzystości, ...) w postaci tzw. flagi (znacznika). Każdy znacznik jest bitem w rejestrze, który wskazuje czy określony stan wystąpił. Znaczniki mogą być wykorzystywane przez procesor lub 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)

0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF

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 przerwania) – DF - znacznik kierunku - umożliwia realizację przetwarzania łańcuchów (ciągu słów)

przy rosnących adresach (1) lub malejących adresach (0) – IOPL – Poziom ochrony instrukcji wejścia-wyjścia – NT - Znacznik zadania zagnieżdżonego

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ąpiło przeniesienie) – PF - flaga parzystości (1) wskazuje na parzystą lub nieparzystą liczbę bitów o wartości

jedynki – AF - flaga przeniesienia pomocniczego jest wykorzystywana przy działaniach na

liczbach w kodzie BCD. Ustawiana jest gdy następuje przeniesienie lub pożyczka z najstarszego bitu pierwszej tetrady wyniku

– ZF - flaga zera - sygnalizująca, że wynikiem ostatnio wykonywanej operacji jest zero – SF - flaga znaku, ustawiana gdy najstarszy bit wyniku jest równy 1 (operacje liczb ze

znakiem - kod U2) – OF - flaga przepełnienia, sygnalizująca przekroczenie zakresu dla operacji

arytmetycznych (operacje liczb ze znakiem - kod U2)

Page 10: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Rejestry ogólnego przeznaczenia

Rejestry ogólnego przeznaczenia - rejestry przeznaczone do przechowywania dowolnych danych i wykonywania operacji (arytmetycznych i logicznych), ale jednocześnie spełniające pewne funkcje specjalne. Szczególną funkcję pełni akumulator

Akumulator - rejestr funkcjonalnie związany z ALU, przeznaczony do przechowywania jednego z operandów (argumentów) wykonywanej operacji oraz wyniku operacji (czasami wynik może być umieszczany w innym rejestrze). W mikroprocesorze może być kilka takich rejestrów.

Page 11: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Rejestry – kontrola zawartości akumulator rejestr bazowy rejestr

zliczający rejestr danych

wskaźnik stosu

wskaźnik bazy

rejestr indeksowy źródła

rejestr indeksowy przeznaczenia

rejestr danych

rejestr dodatkowy

rejestr stosu

rejestr programu wskaźnik rozkazów

rejestr flagowy (znaczników)

Page 12: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Wykorzystanie stosu Wskaźnik stosu(SP) - rejestr zawierający adres ostatniej zapełnionej komórki stosu (wierzchołka stosu)

Stosem nazywamy wyróżniony obszar w pamięci używany wg reguł:

informacje zapisane są na stos do kolejnych komórek (pod kolejnymi adresami), przy czym żadnego adresu nie wolno pominąć

odczytujemy informacje w kolejności odwrotnej do ich zapisu

informacje odczytujemy z ostatnio zapełnionej komórki, natomiast zapisujemy do pierwszej wolnej

Czyli obowiązuje reguła LIFO - ostatni wchodzi pierwszy wychodzi

Stos może być również zorganizowany sprzętowo przez wydzielenie w mikroprocesorze odpowiedniego zbioru rejestrów mogących pracować jako pamięć LIFO (rozwiązanie sprzętowe jest szybsze)

Adres Program główny

101 Instrukcja 102 Instrukcja 103 Call

Wywołanie podprogramu I (adres 104 na stos)

1002 Instrukcja 1003 Instrukcja 1004 Call

Wywołanie podprogramu II (adres 1005 na stos)

2001 Instrukcja 2002 Instrukcja 2003 Return

1005 Instrukcja 1006 Instrukcja 1007 Return

Powrót z podprogramu II (do adresu 1005

odczytanego ze stosu) 104 Instrukcja 105 Instrukcja 106 Instrukcja

Powrót z podprogramu I (do adresu 104

odczytanego ze stosu) 107 Instrukcja

lub

stos

stos

Page 13: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Układ sterowania

Układ sterowania CU dekoduje zawartość rejestru rozkazów i generuje wewnętrzny sygnały sterujące zapewniające właściwy przebieg operacji zdefiniowanej kodem rozkazu

Często (a może najczęściej) procesor wykonuje rozkazy nie w jednym kroku (jak np. dodawanie) ale w wielu krokach (np. mnożenie lub dzielenie jako ciąg dodawań i przesunięć) W tym celu potrzebny jest złożony automat sekwencyjny, generujący odpowiednie ciągi słów podawanych na wejścia sterujące układu ALU - układ sterowania.

Cechy takiego automatu to:

konieczność posiadania bardzo dużej liczby stanów dostosowanych do wymaganej liczby wykonywanych rozkazów;

konieczność zapewnienia synchronizacji pracy układu sterowania i wykonawczego (uwzględnienie czasów wykonywania poszczególnych operacji).

W praktyce realizowane są jako:

generatory sekwencyjne

układy mikroprogramowalne

Page 14: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Magistrale

Adresowa

Danych

Sterująca

Page 15: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Rozkazy

Formatem rozkazu nazywamy sposób rozmieszczenia informacji w kodzie rozkazu

Kod rozkazu:

musi zawierać określenie rodzaju wykonywanej operacji (kod operacji) - w pierwszym bajcie (bajtach) kodu rozkazu

może zawierać operandy i/lub adresy operandów wykonywanych operacji

Rozkazem (instrukcją maszynową) nazywamy najprostszą operację, której wykonania programista może zażądać od procesora

Rozkazy (jak inne informacje) są przechowywane w systemie mikroprocesorowym w postaci kodów binarnych

Listą rozkazów nazywamy zestaw wszystkich instrukcji maszynowych (rozkazów), jakie potrafi wykonać dany procesor

rozkazy przesłań

rozkazy arytmetyczne i logiczne

rozkazy sterujące (skoki, wywołania podprogramów, pętle, itp.)

inne (np. sterowanie pracą koprocesora, rozkazy testujące, operacje w trybie chronionym)

Page 16: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Cykl rozkazowy mikroprocesora

Realizując program, system mikroprocesorowy wykonuje pewne powtarzające się czynności, polegające na cyklicznym pobieraniu kodów rozkazów z pamięci i wczytywaniu ich do układu sterowania, a następnie realizacji rozkazu

Czas potrzebny na odczytanie kodu rozkazu z pamięci, na pobranie argumentów, na wykonanie rozkazu i przesłanie wyniku operacji nazywa się cyklem rozkazowym (instrukcyjnym)

Cykl rozkazowy składa się zwykle z faz pobierania (kodu rozkazu, pobierania argumentu) i wykonania rozkazu

Postać rozkazu określa, które podzespoły mikroprocesora będą brać udział w jego realizacji

Page 17: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Cykl rozkazowy mikroprocesora

MA PC

IR MD

PC PC+1

DEKODOWANIE ROZKAZU

OPERACJE WEWNĘ- TRZNE

WYKONANIE ROZKAZU

FAZ

A P

OBI

ERA

NIA

RO

ZKA

ZU

FAZ

A W

YK

ON

YW

AN

IAR

OZK

AZ

U

wysłanie na magistralę adresową MA stanu licznika rozkazów PC wpisanie do rejestru rozkazów IR kodu operacji/rozkazu z magistrali danych MD zwiększenie przez układ sterowania CU o 1 stanu licznika rozkazów PC

generacja sekwencji sygnałów sterujących ewentualna modyfikacja stanu licznika rozkazów

określenie adresu pamięci lub układu we/wy operacja zapisu/odczytu do/z pamięci lub układu we/wy przebieg różny dla różnych rozkazów

Page 18: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Cykl rozkazowy mikroprocesora Pa

mię

ć C

PU

POBRANIE ROZKAZU

WYSŁANIE ADRESU

ROZKAZU DEKODOWANIE

ROZKAZU

OBLICZANIE ADRESU

ARGUMENTU I

OBLICZANIE ADRESU

ARGUMENTU II WYKONANIE

ROZKAZU

OBLICZENIE ADRESU

PRZEZNACZENIA

ZAPIS WYNIKU

POBRANIE ARGUMENTU II

POBRANIE ARGUMENTU I

cykl pobrania rozkazu cykl pobrania argumentu I cykl pobrania

argumentu II cykl wykonania rozkazu

Page 19: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Lista rozkazów

Program dla wszystkich standardowych mikrokomputerów jest w pełni uporządkowanym zbiorem rozkazów, które będą wykonane w porządku sekwencyjnym (z wyjątkiem rozkazów, które celowo zmieniają tę kolejność wykonania). Adres komórki pamięci obecnie wykonywanego rozkazu jest zawarty w liczniku rozkazów (PC).

Rozkaz typowych mikrokomputerów składa się z dwóch części:

kodu operacji, określającego jego działanie,

adresu (adresów) argumentów, określającego położenie w pamięci argumentów, na których mają być wykonywane operacje.

Na ogół w mikroprocesorach są realizowane trzy typy rozkazów:

manipulacji danymi;

wejścia/wyjścia;

sterowania wykonaniem programu.

Page 20: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Lista rozkazów - rozkazy manipulacji danymi

MOV X, Y [Rejestr (X)] ← [Rejestr (Y)]

MOV X, AdrPam [Rejestr (X)] ← [Pamięć (Z)]

MOV AdrPam, X [Pamięć (Z)] ← [Rejestr (X)]

MOV X,Dana [Rejestr (X)] ← Dana

MOV AdrPam, Dana [Pamięć (Z)] ← Dana

ADD X, Y [Rejestr (X)] ←[Rejestr (X)] + [Rejestr (Y)]

ADD X, AdrPam [Rejestr (X)] ← [Rejestr (X)] + [Pamięć (Z)]

ADD X, ‘17' [Rejestr (X)] ← [Rejestr (X)] + Dana

Page 21: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Lista rozkazów - Rozkazy wejścia/wyjścia

Rozkazy wejścia/wyjścia

IN X, Nr_Portu [Rejestr (X)] ← [Nr_Portu]

OUT Nr_Portu, X [Nr_Portu]←[Rejestr (X)]

Rozkazy sterujące wykonywaniem programu

JMP Tam [PC] ← AdrPam Tam

JMPZ Tutaj Jeśli (ostatni wynik = 0), to [PC] ← AdrPam Tutaj Jeśli nie, [PC] ←[PC] + 1

Page 22: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Tryby adresowania

Argumenty rozkazu (dotyczy zarówno danych jak i wyników) mogą być przechowywane w

rejestrach

pamięci

kodzie rozkazu

Rozróżniamy następujące tryby adresowania (rozróżnia się co najmniej 19 trybów ale zostały one odpowiednio pogrupowane)

adresowanie bezpośrednie

adresowanie pośrednie

adresowanie względne

adresowanie bezwzględne

adresowanie indeksowe

Trybem adresowania nazywamy sposób określenia miejsca przechowywania argumentów rozkazu

Niech:

MOV a, b – oznacza przesłanie danych z ‘b’ do ‘a’

MOV a, [b] – oznacza przesłanie danych z miejsca którego adres zapisano w ‘b’ do ‘a’

Page 23: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Wymiana danych z urządzeniami zewnętrznymi

Praca komputera wymaga wymiany danych pomiędzy jednostką centralna a urządzeniami zewnętrznymi.

Wymianę danych między urządzeniami zewnętrznymi a mikroprocesorem można realizować jako:

operacje z bezpośrednim sterowaniem przez mikroprocesor - przesyłana informacja przepływa przez rejestry procesora, który także steruje każdym krokiem realizacji operacji - są to operacje:

bezwarunkowe we/wy,

ze sprawdzeniem gotowości urządzeń zewnętrznych,

z przerwaniami,

operacje z pośrednim sterowaniem przez mikroprocesor (z bezpośrednim dostępem do pamięci - DMA) – procesor inicjuje wymianę a następnie przekazuje nadzór nad realizacją operacji innemu układowi (zarządcy magistrali).

Każde urządzenie zewnętrzne dołączone jest za pomocą interfejsu do wszystkich szyn mikrokomputera

Page 24: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Operacje we/wy z bezpośrednim udziałem procesora

Bezwarunkową operacją wejścia/wyjścia nazywamy taką operację, przy realizacji której mikroprocesor nie sprawdza gotowości układu wejścia/wyjścia do tej wymiany. Są to operacje najprostsze realizowane tylko w niektórych przypadkach np. przesłanie sygnału do wyświetlania informacji za pomocą zestawu diod elektroluminescencyjnych.

Przy realizacji operacji wejścia/wyjścia z testowaniem stanu układu wejścia/wyjścia, mikroprocesor sprawdza sygnał (np. określony bit kontrolny) gotowości układu do wymiany. W przypadku potwierdzenia gotowości do wymiany przez układ jest ona realizowana. Operacje te są stosowane np. przy współpracy z przetwornikiem A/C - procesor cyklicznie przepytuje przetwornik (tzw. pętla przepytywania) do chwili uzyskania zgłoszenia gotowości.

Przy realizacji operacji wejścia/wyjścia z przerwaniami, urządzenie we/wy wystawia sygnał z żądaniem obsługi co prowadzi do przerwania przez procesor obsługi programu głównego i przejście do podprogramu obsługi układu wejścia/wyjścia.

Page 25: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Wymiana z przerwaniami

Przy obsłudze urządzeń zewnętrznych za pomocą przerwań należy zapewnić:

zapamiętanie stanu procesora występującego w chwili przyjęcia sygnału żądania przerwania;

identyfikację źródła sygnału przerwania (sygnały żądania przerwania mogą być generowane przez wiele urządzeń zewnętrznych) niezbędną do przekazania sterowania obsługi właściwemu podprogramowi;

określenie priorytetu przerwań w przypadku równoczesnego pojawienia się większej liczby sygnałów żądania przerwania;

ustalenie procedury postępowania dla przypadków, w których podczas obsługi przerwania zgłaszają się sygnały żądania przerwania od innych urządzeń zewnętrznych;

odtworzenie stanu procesora i powrót do realizacji przerwanego programu głównego.

INSTRUKCJA 1 INSTRUKCJA 2 INSTRUKCJA 3 INSTRUKCJA 4 INSTRUKCJA 11 INSTRUKCJA 12

INSTRUKCJA 5 INSTRUKCJA 6 INSTRUKCJA 7 INSTRUKCJA 8 INSTRUKCJA 9

RET 10

Program główny Zgłoszenie przerwania

Odtworzenie stanu rejestrów

procesora

Początek programu obsługi przerwania

Zapamiętanie stanu rejestrów procesora

Page 26: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Wymiana z przerwaniami

Rozkaz n

Rozkaz n+1

Rozkaz n+2

Rozkaz n+3

Rozkaz n+4

Rozkaz n+5

zapamiętaj stan systemu

Wykonaj obsługę

przerwania

odtwórz stan systemu

Rejestry

Stos

Stos

Rejestry

Page 27: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Wymiana z przerwaniami

Z punktu widzenia miejsca powstania przerwania można podzielić na:

zewnętrzne związane ze stanem urządzeń zewnętrznych (maskowalne),

wewnętrzne (np.: wystąpienie błędu)

Przerwania maskowalne można zablokować

Zadanie ustalenia kolejności obsługi urządzeń zewnętrznych generujących sygnały żądania przerwania rozwiązuje się przez nadanie tym urządzeniom odpowiednich priorytetów. Można to realizować zarówno programowo jak i sprzętowo.

W rozwiązaniu programowym mikroprocesor po sprawdzeniu rejestru przerwań przekazuje sterowanie do podprogramu odpowiadającego źródłu przerwania o najwyższym priorytecie.

Przy sprzętowej realizacji systemu przerwań każde urządzenie zewnętrzne ma odpowiadający mu podprogram obsługi umieszczony w określonym obszarze pamięci. Adres komórki pamięci zawierającej pierwszy rozkaz podprogramu obsługi przerwania tworzony jest na podstawie wektora adresu przerwania. Identyfikacja źródła przerwania odbywa się w ten sposób, że mikroprocesor po przyjęciu sygnału żądania przerwania generuje sygnał potwierdzenia przerwania IACK. W odpowiedzi na ten sygnał źródło przerwania wysyła na magistralę danych odpowiadający mu wektor adresu przerwania. Pobrany przez mikroprocesor (lub wyznaczony) wektor adresu przerwania jednoznacznie identyfikuje źródło przerwania i umożliwia przejście do odpowiadającego mu podprogramu obsługi.

Page 28: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Wymiana z przerwaniami

Układ przerwań może być zorganizowany jako jedno- lub wielopoziomowy.

W jednopoziomowej strukturze przerwań nie ma możliwości zawieszenia realizowanego podprogramu przez sygnał żądania przerwania pochodzący od urządzenia o wyższym priorytecie

Czas

Priorytet

IRQ2

IRQ1

IRQ3 IRQ3

IRQ2

IRQ1

Page 29: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Wymiana z przerwaniami

W wielopoziomowej strukturze przerwań urządzenie zewnętrzne o wyższym priorytecie ma możliwość przerwania realizowanego podprogramu obsługi urządzenia zewnętrznego o niższym priorytecie

Czas

Priorytet

IRQ2

IRQ1

IRQ3 IRQ3

IRQ2

IRQ1

Page 30: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Wymiana z bezpośrednim dostępem do pamięci

Wymiana z bezpośrednim dostępem do pamięci umożliwia najszybsze przesyłanie danych między pamięcią a urządzeniami zewnętrznymi (np. dyskami lub monitorami ekranowymi).

Wymiana z bezpośrednim dostępem do pamięci odbywa się bez udziału mikroprocesora. Jego rolę w tym przypadku pełni specjalizowany układ wejścia/wyjścia, tzw. Sterownik DMA (ang. direct memory access controller DMAC ). Sterownik taki należy przygotować programowo, tzn. umieścić w odpowiednich jego rejestrach informacje niezbędne do planowanego przesłania danych (jak np. kierunek transmisji, liczbę słów, obszar pamięci, z którego będą pobierane dane lub do którego dane będą wysłane itp.).

Niezależnie od sposobu realizacji przy bezpośrednim dostępie do pamięci wymaga się, aby kontrolę nad magistralami na czas przesyłania przejął sterownik DMA.

W przypadku gdy ze sterownikiem DMA współpracuje wiele urządzeń zewnętrznych i kilka z nich jednocześnie żąda bezpośredniego dostępu do pamięci, pojawia się konieczność ustalenia priorytetu. Realizuje się to podobne jak w układach przerwań.

Page 31: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Wymiana z bezpośrednim dostępem do pamięci Bezpośredni dostęp do pamięci realizować można przez:

blokowanie pracy mikroprocesora na pełny czas transmisji danych; mikroprocesor musi na czas transmisji między urządzeniami zewnętrznymi a pamięcią przerwać

realizację programu (praca DMA jako Master),

wymiana danych między urządzeniami zewnętrznymi a pamięcią odbywa się niejako „na raty” i zachodzi tylko w tych taktach zegarowych, w których mikroprocesor nie wykorzystuje magistrali systemowej (nie komunikuje się z pamięcią lub układem wejścia/wyjścia). Występuje tu więc równoległa praca mikroprocesora i sterownika (praca DMA jako Slave).

wykradanie niektórych taktów zegarowych lub całych cykli maszynowych mikroprocesora i wykorzystywanie ich do przesłania w trybie DMA;

Szyna adresowa

PAMIĘĆ OPERACYJNA

STEROWNIK DMA

I/O

MEMR MEMW MEMR MEMW IOR IOW

IOR IOW

CPU

HOLD

Inicjowanie operacji

Określa: • wielkość bloku do transmisji • sposób transmisji (blokowa,

pojedynczymi słowami, na żądanie) • adres pierwszej komórki bufora

pamięci • rodzaj operacji (zapis, odczyt)

zawieszenie

Page 32: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Tryby pracy DMA

DMA jako Slave

DMA jako Master

Sterownik DMA Pamięć We -Wy

Programowanie lub badanie stanu sterownika

Sterowanie

Dane

Adres

µ P

Sterownik DMA Pamięć We -Wy

Przesyłanie informacji

Sterowanie

Dane

Adres

µ P

Page 33: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Parametry charakteryzujące procesor

Podstawowymi parametrami wpływającymi na wydajność

procesora (szybkość wykonywania operacji przez procesor) są:

Liczba rdzeni

Szybkość – (częstotliwość taktowania) określana częstotliwością zegara ( mierzona w MHz)

Szerokość magistrali danych (liczba przesyłanych jednocześnie bitów), (8, 16, 32, 64 bity)

Częstotliwość taktowania magistrali danych (Szybkość przekazywania danych do urządzeń wejściowych i wyjściowych)

Wielkość pamięci CACHE pierwszego poziomu (L1) i drugiego poziomu (L2)

Wewnętrzna konstrukcja oraz lista rozpoznawanych i wykonywanych instrukcji elementarnych

Jacek Bartman Architektura komputerów

Page 34: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Ranking procesorów wg opłacalności 19.12.2011

Jacek Bartman Architektura komputerów

Page 35: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Ranking procesorów wg wydajności 19.12.2011

Jacek Bartman Architektura komputerów

Page 36: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Podstawowe parametry procesora Intel Core

Jacek Bartman Architektura komputerów

Page 37: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Podstawowe parametry procesora Intel Core i5 mobile

Jacek Bartman Architektura komputerów

Page 38: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Procesory AMD

Jacek Bartman Architektura komputerów

Page 39: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Istotne pojęcia x86 to zbiorcze oznaczenie procesorów produkowanych przez firmę Intel oraz innych konkurujących

z nią firm które bazowały na wspólnej architekturze CISC. Do rodziny x86 zaliczamy wszystkie procesory Intela serii 8086, 286, 386, 386, 486, Pentium, Pentium II, Pentium III, Celeron, Pentium IV, Core 2 oraz procesory AMD: 5k86K5, 5k86SSA/5, Duron, Athlon, Opteron, Phenom . Architektura procesorów z rodziny x86 jest już obecnie znacznie przestarzała, ciągnie się za nią za nią wiele problemów związanych ze zgodnością wstecz - każdy nowy procesor musi być zdolny do wykonywania kodu, napisanego dla pierwszego z procesorów tej rodziny. Pierwotne procesory o architekturze CISC zostały zastąpione przez znacznie wydajniejsze konstrukcje, wykorzystujące wewnętrznie architekturę RISC.

CISC (Complex Instruction Set Computer) - architektura procesora wykorzystująca złożoną listę rozkazów. Charakterystyczne dla tego typu architektury jest to, że na wykonanie jednej instrukcji potrzeba więcej niż jednego cyklu zegara systemowego

RISC (Reduced Instruction Set Computer) - architektura procesora o uproszczonej liście rozkazów o stałej długości. W jednym cyklu zegarowym można zawsze wykonać co najmniej jedną instrukcję. U podstaw idei RISC leży dążenie do zwiększenia wydajności procesorów przy zastosowaniu tej samej technologii półprzewodnikowej. Dzięki rozbiciu przetwarzania rozkazu na kilka prostych etapów, które mogą być wykonywane przez stosunkowo proste i w znacznym stopniu autonomiczne jednostki, bardziej nadające się do zrealizowania w nowocześniejszej technologii niż złożona i bardziej związana struktura procesora CISC, łatwiej można skonstruować CPU z większą częstotliwością zegara taktującego. Dlatego procesory RISC są dużo wydajniejsze od procesorów CISC.

Page 40: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

Istotne pojęcia Przetwarzanie potokowe - rozbicie wykonywania pojedynczej instrukcji na kilka następujących po sobie faz

(pobieranie, dekodowanie, pobieranie argumentów, wykonanie instrukcji, zapis).

Wielopotokowość - umiejętność pobrania przez jednostkę wykonawczą kolejnej instrukcji przed zakończeniem wykonywania poprzedniego rozkazu. Oznacza to, że pojedynczy moduł może przetwarzać równocześnie co najmniej dwa potoki, będące w różnych stadiach realizacji.

Superskalarność - cechy architektury, które pozwalają na wykonanie co najmniej dwóch instrukcji jednocześnie. Superskalarność procesorów najczęściej uzyskuje się, zwielokrotniając liczbę jednostek wykonawczych.

SIMD (Single Instruction Multiple Data) - rozwiązanie umożliwiające wykonanie tej samej operacji arytmetycznej (mnożenie, dzielenie, dodawanie lub odejmowanie) na kilku parach operandów (liczbach) równocześnie.

RTC-(real time clock) zegar czasu rzeczywistego (z podtrzymaniem bateryjnym ), którego zawartość jest auto-matycznie przepisywana do pamięci komputera w chwili startu systemu.

CTC zegar systemowy wywołuje tzw .zegarowe przerwanie sprzętowe na linii IRQ0, które jest obsługiwane poprzez procedurę INT 08h. Licznik ten jest podstaw owym źródłem informacji o upływającym czasie, wykorzystywanym przez system operacyjny

Hyper Trading – tryb współbieżny wielowątkowy

Turbo Boost - w momencie, gdy nie wszystkie rdzenie procesora są wykorzystane, jeśli jeden z nich przejdzie w tryb głębokiego uśpienia - system może zwiększyć częstotliwość taktowania pozostałych rdzeni ponad częstotliwość domyślą. Dzięki temu szczególnie aplikacje jedno-wątkowe będą mogły pracować nieco szybciej niż na standardowej częstotliwości taktowania

Page 41: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

AMD

Page 42: BUDOWA I DZIAŁANIE MIKROPROCESORA - Aktualności · Jacek Bartman Architektura komputerów BUDOWA I DZIAŁANIE MIKROPROCESORA I. Budowa mikroprocesora 1. Schemat blokowy mikroprocesora

Jacek Bartman Architektura komputerów

AMD

AMD – K10 - Barcelona (4 rdzenie)