przetwarzanie informacji (2)

35
SYSTEM LOGICZNY SYSTEM LOGICZNY Wykład Jacka FLORKA Wykład Jacka FLORKA ( (http://ii1. ap . siedlce . pl /~ florek / sk ) ) Ewa Banachowicz Ewa Banachowicz Zakład Biofizyki Molekularnej Zakład Biofizyki Molekularnej 1 Przetwarzanie Przetwarzanie informacji (2) informacji (2)

Upload: farrah

Post on 15-Jan-2016

48 views

Category:

Documents


0 download

DESCRIPTION

Przetwarzanie informacji (2). Wykład Jacka FLORKA ( http://ii1.ap.siedlce.pl/~florek/sk ) Ewa Banachowicz Zakład Biofizyki Molekularnej. SYSTEM LOGICZNY. 1. Bloki funkcjonalne komputera. Układy logiczne wykonujące jedną lub kilka operacji przetwarzania informacji - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Przetwarzanie informacji (2)

SYSTEM LOGICZNYSYSTEM LOGICZNY

Wykład Jacka FLORKA Wykład Jacka FLORKA ( (http://ii1.ap.siedlce.pl/~florek/sk ) )Ewa Banachowicz Ewa Banachowicz Zakład Biofizyki MolekularnejZakład Biofizyki Molekularnej

1

PrzetwarzaniePrzetwarzanie informacji (2)informacji (2)

Page 2: Przetwarzanie informacji (2)

Bloki funkcjonalne komputera

• Układy logiczne wykonujące jedną lub kilka operacji przetwarzania informacji

• Bloki funkcjonalne zbudowane są z bramek i przerzutników

• Grupy bloków:– Arytmetyczne (sumator, komparator, licznik, rejestr)

– Komutacyjne (multiplekser, demultiplekser, dekoder)

Page 3: Przetwarzanie informacji (2)

PODZIAŁ UKŁADÓW LOGICZNYCHPODZIAŁ UKŁADÓW LOGICZNYCH

Układy logiczne można podzielić (w zależności od przyjętego kryterium) na:Układy logiczne można podzielić (w zależności od przyjętego kryterium) na:

Def.1. Układem kombinacyjnym nazywamy taki układ cyfrowy, w Def.1. Układem kombinacyjnym nazywamy taki układ cyfrowy, w którym stan wejść jednoznacznie określa stan wyjść układu.którym stan wejść jednoznacznie określa stan wyjść układu.

Def.1. Układem kombinacyjnym nazywamy taki układ cyfrowy, w Def.1. Układem kombinacyjnym nazywamy taki układ cyfrowy, w którym stan wejść jednoznacznie określa stan wyjść układu.którym stan wejść jednoznacznie określa stan wyjść układu.

Def.2. Układem sekwencyjnym nazywamy taki układ cyfrowy, w Def.2. Układem sekwencyjnym nazywamy taki układ cyfrowy, w którym stan wyjść zależy od stanu wejść oraz od poprzednich którym stan wyjść zależy od stanu wejść oraz od poprzednich stanów układu.stanów układu.

Def.2. Układem sekwencyjnym nazywamy taki układ cyfrowy, w Def.2. Układem sekwencyjnym nazywamy taki układ cyfrowy, w którym stan wyjść zależy od stanu wejść oraz od poprzednich którym stan wyjść zależy od stanu wejść oraz od poprzednich stanów układu.stanów układu.

• układy kombinacyjneukłady kombinacyjne• układy sekwencyjneukłady sekwencyjne

• układy asynchroniczneukłady asynchroniczne• układy synchroniczneukłady synchroniczne

Def.3. Układem asynchronicznym nazywamy taki układ cyfrowy, dla Def.3. Układem asynchronicznym nazywamy taki układ cyfrowy, dla którego w dowolnym momencie jego działania stan wejść którego w dowolnym momencie jego działania stan wejść oddziaływuje na stan wyjść.oddziaływuje na stan wyjść.

Def.3. Układem asynchronicznym nazywamy taki układ cyfrowy, dla Def.3. Układem asynchronicznym nazywamy taki układ cyfrowy, dla którego w dowolnym momencie jego działania stan wejść którego w dowolnym momencie jego działania stan wejść oddziaływuje na stan wyjść.oddziaływuje na stan wyjść.

Def.4. Układem synchronicznym nazywamy taki układ cyfrowy, dla Def.4. Układem synchronicznym nazywamy taki układ cyfrowy, dla którego stan wejść wpływa na stan wyjść w pewnych którego stan wejść wpływa na stan wyjść w pewnych określonych odcinkach czasu zwanych określonych odcinkach czasu zwanych czasem czynnymczasem czynnym, , natomiast w pozostałych odcinkach czasu zwanych natomiast w pozostałych odcinkach czasu zwanych czasem czasem martwymmartwym stan wejść nie wpływa na stan wyjść. stan wejść nie wpływa na stan wyjść.

Def.4. Układem synchronicznym nazywamy taki układ cyfrowy, dla Def.4. Układem synchronicznym nazywamy taki układ cyfrowy, dla którego stan wejść wpływa na stan wyjść w pewnych którego stan wejść wpływa na stan wyjść w pewnych określonych odcinkach czasu zwanych określonych odcinkach czasu zwanych czasem czynnymczasem czynnym, , natomiast w pozostałych odcinkach czasu zwanych natomiast w pozostałych odcinkach czasu zwanych czasem czasem martwymmartwym stan wejść nie wpływa na stan wyjść. stan wejść nie wpływa na stan wyjść.

Page 4: Przetwarzanie informacji (2)

PODZIAŁ UKŁADÓW LOGICZNYCHPODZIAŁ UKŁADÓW LOGICZNYCH

układy kombinacyjne:układy kombinacyjne:

– sumatorysumatory– komparatorykomparatory– dekodery, kodery, transkoderydekodery, kodery, transkodery– multipleksery, demultiplekserymultipleksery, demultipleksery– ..........

• układy matrycoweukłady matrycowe• ................

• układy zbudowane z bramekukłady zbudowane z bramek• bloki kombinacyjnebloki kombinacyjne

układy sekwencyjne:układy sekwencyjne:

• przerzutnikiprzerzutniki• rejestryrejestry• licznikiliczniki• ..........

A={X,Y,A={X,Y,: X: XY}Y}

X- zbiór stanów sygnałów wejściowegoX- zbiór stanów sygnałów wejściowego

Y - zbiór stanów sygnałów wyjściowegoY - zbiór stanów sygnałów wyjściowego

- funkcja opisująca działanie układu- funkcja opisująca działanie układu

A={X, Y, S, A={X, Y, S, : X: XxSSS, S, : X: XxSSY}Y}X- zbiór stanów sygnałów wejściowegoX- zbiór stanów sygnałów wejściowego

Y - zbiór stanów sygnałów wyjściowegoY - zbiór stanów sygnałów wyjściowego

S - zbiór stanów wewnętrznychS - zbiór stanów wewnętrznych

- funkcja przejść (określa zmiany - funkcja przejść (określa zmiany stanów układu wszystkich wzbudzeń)stanów układu wszystkich wzbudzeń)

- funkcja wyjść (przyporządkowuje - funkcja wyjść (przyporządkowuje sygnały wyjściowe stanom układu i sygnały wyjściowe stanom układu i wzbudzeniom)wzbudzeniom)

Page 5: Przetwarzanie informacji (2)

PRZERZUTNIKIPRZERZUTNIKI

Posiada co najmniej dwa wejścia i z reguły dwa wyjściaPosiada co najmniej dwa wejścia i z reguły dwa wyjścia

wej

ścia

pro

gra

mu

jące

wej

ścia

pro

gra

mu

jące

wej

ścia

wej

ścia

in

form

acyj

ne

in

form

acyj

ne

wejście wejście zegarowezegarowe w

yjśc

iaw

yjśc

ia

Zasadnicze typy przerzutników: Zasadnicze typy przerzutników: RS, JK, DRS, JK, D i i TT

Def.1. Przerzutniki są podstawowymi elementami układów Def.1. Przerzutniki są podstawowymi elementami układów sekwencyjnych, których zasadniczym zadaniem jest sekwencyjnych, których zasadniczym zadaniem jest pamiętanie jednego bitu informacjipamiętanie jednego bitu informacji

Def.1. Przerzutniki są podstawowymi elementami układów Def.1. Przerzutniki są podstawowymi elementami układów sekwencyjnych, których zasadniczym zadaniem jest sekwencyjnych, których zasadniczym zadaniem jest pamiętanie jednego bitu informacjipamiętanie jednego bitu informacji

Page 6: Przetwarzanie informacji (2)

SYNCHRONICZNY PRZERZUTNIK RSSYNCHRONICZNY PRZERZUTNIK RS

SS

RR

QQ

QQ

wyjście wyjście prosteprostewyjście wyjście zanegowanezanegowane

wejście wejście zerujące (RESET)zerujące (RESET)

wejście wejście ustawiające (SET)ustawiające (SET)

zegarzegar CKCK

SS

RR

QQ

czasczas

CKCK

QQasynchronicznyasynchroniczny

Page 7: Przetwarzanie informacji (2)

HazardHazard• Idealne bramki logiczne- stan wyjścia jest funkcją logiczną

stanów wejściowych. • Rzeczywista bramka logiczna pracująca w dowolnej sieci

ma pewną budowę wewnętrzną (składa się zwykle z kilku tranzystorów, diod i oporników). Elementy te nie pracują dowolnie szybko. Przeładowanie stanu na wyjściu bramki wymaga pewnego czasu, który nazywamy czasem propagacji sygnału przez bramkę. Czas propagacji jest bardzo krótki i wynosi kilka nanosekund (w szybkich procesorach osiąga on poziom pikosekund). W prostych sieciach nie odgrywa on większej roli. Jednak w sieciach złożonych, gdzie sygnały wędrują różnymi drogami, czasy propagacji wprowadzają różne opóźnienia w działaniu poszczególnych elementów sieci, co może prowadzić przy źle zaprojektowanej sieci logicznej do błędów w jej działaniu

Page 8: Przetwarzanie informacji (2)

Taktowanie procesora

• Jednym ze sposobów walki z hazardem jest wprowadzenie synchronizującego sygnału zegarowegosynchronizującego sygnału zegarowego - tzw. taktowania. Sygnał zegarowy jest sygnałem cyfrowym pulsującym z określoną częstotliwością pomiędzy stanami 0 i 1, zwykle kilkaset MHz. Wszystkie elementy sieci synchronizują się do tego sygnału. Okres taktu zegarowego musi być tak dobrany, aby w sieci zanikły hazardy i ustaliły się sygnały wyjściowe bramek logicznych. Stan sieci jest następnie  analizowany przy końcu taktu zegarowego. Ze sposobu tego korzystają wszystkie współczesne komputery częstotliwość taktowania procesoraczęstotliwość taktowania procesora.

Page 9: Przetwarzanie informacji (2)

Informacja cyfrowaInformacja cyfrowa

• Zmienna binarna – zmienna o wartościach 1 i 0• Wektor informacji cyfrowej – wektor o

elementach binarnych, np.: 0111• Informacja cyfrowa – informacja przedstawiona

za pomocą ciągu wektorów informacji cyfrowej• Adresowanie wektora informacji cyfrowej-

wzajemnie jednoznaczne przypisanie kazdemu wektorowi innego w.i.c. zwanego adresem

Page 10: Przetwarzanie informacji (2)

Reprezentacja czasowa w.i.c.Reprezentacja czasowa w.i.c.

• Bitowo-równoległa – wszystkie bity wektor są dostępne jednocześnie (na równoległych liniach magistrali lub w rejestrze)

• Bitowo-szeregowa – poszczególne bity pojawiają się na tej samej linii lub w tym samym przerzutniku, w kolejnych „okienkach czasu”

Page 11: Przetwarzanie informacji (2)

REJESTRYREJESTRY

Def.1. Rejestrem nazywamy układ cyfrowy przeznaczony do krótkoterminowego Def.1. Rejestrem nazywamy układ cyfrowy przeznaczony do krótkoterminowego przechowywania niewielkich informacji lub do zamiany postaci informacji przechowywania niewielkich informacji lub do zamiany postaci informacji z równoległej na szeregową lub odwrotnie.z równoległej na szeregową lub odwrotnie.

Def.1. Rejestrem nazywamy układ cyfrowy przeznaczony do krótkoterminowego Def.1. Rejestrem nazywamy układ cyfrowy przeznaczony do krótkoterminowego przechowywania niewielkich informacji lub do zamiany postaci informacji przechowywania niewielkich informacji lub do zamiany postaci informacji z równoległej na szeregową lub odwrotnie.z równoległej na szeregową lub odwrotnie.

a a 11a a 22a a 33

We

3W

e 3

We

2W

e 2

We

1W

e 1

We

0W

e 0 CLKCLK

a a 00

rejestrrejestr

CLKCLK

a a 00a a 11a a 22

a a 33

rejestrrejestr

CLKCLK

a a 00a a 11a a 22

a a 33

rejestrrejestr

CLKCLK

a a 00

a a 11

a a 22a a 33

rejestrrejestr

......

T1T1 T3T3T2T2

Wprowadzanie równoległe - wszystkie bity słowa informacji wprowadzamy jednocześnie , w jednym takcie zegara

Wprowadzanie szeregowe - informację wprowadzamy bit po bicie (jeden bit na jeden takt zegara)

Page 12: Przetwarzanie informacji (2)

LICZNIKILICZNIKI

Def.1. Licznikiem nazywamy układ cyfrowy, na którego wyjściu pojawia się Def.1. Licznikiem nazywamy układ cyfrowy, na którego wyjściu pojawia się zakodowana liczba impulsów podanych na jego wejście zliczające.zakodowana liczba impulsów podanych na jego wejście zliczające.

Musi być znany:Musi być znany:• stan początkowy licznika (zero)stan początkowy licznika (zero)• pojemność licznikapojemność licznika• kod zliczaniakod zliczania

Def.1. Licznikiem nazywamy układ cyfrowy, na którego wyjściu pojawia się Def.1. Licznikiem nazywamy układ cyfrowy, na którego wyjściu pojawia się zakodowana liczba impulsów podanych na jego wejście zliczające.zakodowana liczba impulsów podanych na jego wejście zliczające.

Musi być znany:Musi być znany:• stan początkowy licznika (zero)stan początkowy licznika (zero)• pojemność licznikapojemność licznika• kod zliczaniakod zliczania

Rodzaje liczników:Rodzaje liczników:• liczące w przód (następnikowe)liczące w przód (następnikowe)• liczące w tył (poprzednikowe)liczące w tył (poprzednikowe)• rewersyjne (mozliwość zmiany kierunku zliczania)rewersyjne (mozliwość zmiany kierunku zliczania)

• szeregowe (asynchroniczne)szeregowe (asynchroniczne)• równoległe (synchroniczne)równoległe (synchroniczne)

D0D0 D1D1 D2D2 D3D3

Q0Q0 Q1Q1 Q2Q2 Q3Q3

TCTCCEPCEPCETCETCLKCLKLDLDCLRCLR

LICZNIKLICZNIK

D0 - D3 - wejścia danychD0 - D3 - wejścia danychCLK - wejście zegaroweCLK - wejście zegaroweCLR - wejście zerująceCLR - wejście zerująceLD - wejście sterujące do wpisywania danych z LD - wejście sterujące do wpisywania danych z

wejść D0-D1wejść D0-D1CEP - wejście dostępu (umożliwia zliczanie)CEP - wejście dostępu (umożliwia zliczanie)CET - wejście dostępu (umożliwia powstanie CET - wejście dostępu (umożliwia powstanie

przeniesienia TC)przeniesienia TC)Q0 - Q3 - wyjściaQ0 - Q3 - wyjściaTC - wyjście przeniesienia (umożliwia TC - wyjście przeniesienia (umożliwia

rozbudowę)rozbudowę)

Page 13: Przetwarzanie informacji (2)

MAGISTRALE DANYCHMAGISTRALE DANYCH

Def.1. Magistralą nazywamy zestaw linii oraz układów przełączających, Def.1. Magistralą nazywamy zestaw linii oraz układów przełączających, łączących dwa lub więcej układów mogących być nadajnikami lub łączących dwa lub więcej układów mogących być nadajnikami lub odbiornikami informacji. Przesyłanie informacji zachodzi zawsze odbiornikami informacji. Przesyłanie informacji zachodzi zawsze pomiędzy dokładnie jednym układem będącym nadajnikiem a dokładnie pomiędzy dokładnie jednym układem będącym nadajnikiem a dokładnie jednym układem będącym odbiornikiem, przy pozostałych układach jednym układem będącym odbiornikiem, przy pozostałych układach odseparowanych od linii przesyłających.odseparowanych od linii przesyłających.

Def.1. Magistralą nazywamy zestaw linii oraz układów przełączających, Def.1. Magistralą nazywamy zestaw linii oraz układów przełączających, łączących dwa lub więcej układów mogących być nadajnikami lub łączących dwa lub więcej układów mogących być nadajnikami lub odbiornikami informacji. Przesyłanie informacji zachodzi zawsze odbiornikami informacji. Przesyłanie informacji zachodzi zawsze pomiędzy dokładnie jednym układem będącym nadajnikiem a dokładnie pomiędzy dokładnie jednym układem będącym nadajnikiem a dokładnie jednym układem będącym odbiornikiem, przy pozostałych układach jednym układem będącym odbiornikiem, przy pozostałych układach odseparowanych od linii przesyłających.odseparowanych od linii przesyłających.

NADNAD

ODBODB

Układ odseparowanyUkład odseparowany

Page 14: Przetwarzanie informacji (2)

PRZETWARZANIE INFORMACJIPRZETWARZANIE INFORMACJIWszelkie procesy zamierzonego przetwarzania informacji przebiegają według Wszelkie procesy zamierzonego przetwarzania informacji przebiegają według ustalonego algorytmuustalonego algorytmu

DANE DANE POCZĄTKOWEPOCZĄTKOWE

WYNIKI WYNIKI KOŃCOWEKOŃCOWE

PROCES PROCES PRZETWARZANIAPRZETWARZANIA

ALGORYTMALGORYTM

Przetwarzanie informacji można zrealizować dwoma sposobami:Przetwarzanie informacji można zrealizować dwoma sposobami:• Specjalizowany układ cyfrowy:Specjalizowany układ cyfrowy:

• System mikroprocesorowy (maszyna cyfrowa):System mikroprocesorowy (maszyna cyfrowa):

SPECJALIZOWANYSPECJALIZOWANYUKŁAD CYFROWYUKŁAD CYFROWY

MASZYNA MASZYNA CYFROWACYFROWA

WYNIKIWYNIKI

PROGRAMPROGRAM

DANEDANE

DANEDANE

WYNIKIWYNIKI

Page 15: Przetwarzanie informacji (2)

Organizacja maszyny cyfrowej

PAMIĘĆ PAMIĘĆ ZEWNĘTRZNAZEWNĘTRZNA

UKŁADY WY UKŁADY WY URZĄDZENIA URZĄDZENIA ZEWNĘTRZNEZEWNĘTRZNE

PAMIĘĆ PAMIĘĆ OPERACYJNAOPERACYJNA

BLOK BLOK PRZETWA-PRZETWA-

RZANIARZANIA

STEROWANIESTEROWANIE

UKŁADY WE UKŁADY WE URZĄDZENIA URZĄDZENIA ZEWNĘTRZNEZEWNĘTRZNE

MASZYNA CYFROWAMASZYNA CYFROWA

PROCESORPROCESOR

JEDNOSTKA CENTRALNAJEDNOSTKA CENTRALNA

WY

NIK

IW

YN

IKI

PR

OG

RA

MP

RO

GR

AM

DA

NE

DA

NE

Page 16: Przetwarzanie informacji (2)

......

URZ. URZ. ZEWN.ZEWN.

PROCESORPROCESOR PAMIĘCPAMIĘCUKŁADYUKŁADYWE/WYWE/WY

ZEGARZEGAR

SZYNA DANYCHSZYNA DANYCH

SZYNA ADRESOWASZYNA ADRESOWA

SZYNA STEROWANIASZYNA STEROWANIA

UŻYTKOWNIKUŻYTKOWNIK

DANEDANEPROGRAMYPROGRAMYWYNIKIWYNIKI

MONITORY, DRUKARKI, MONITORY, DRUKARKI, CZYTNIKI,...CZYTNIKI,...

SYSTEM MIKROPROCESOROWYSYSTEM MIKROPROCESOROWY

Centralna jednostka Centralna jednostka przetwarzająca (CPU)przetwarzająca (CPU)

Liczba linii wyznacza Liczba linii wyznacza możliwości adresowania możliwości adresowania np. liczba linii 20 to można np. liczba linii 20 to można zaadresować 2zaadresować 22020 komórek komórek

Liczba linii określa długość Liczba linii określa długość słowa procesora (8, 16, słowa procesora (8, 16, 32, .... (+biyt detekcji i 32, .... (+biyt detekcji i korekcji błędów)korekcji błędów)

Kilkanaście (kilkadziesiąt) Kilkanaście (kilkadziesiąt) liniilinii

Uniwersalny układ Uniwersalny układ przetwarzający przetwarzający informację i sterujący informację i sterujący pracą pozostałych pracą pozostałych elementów systemuelementów systemu

Page 17: Przetwarzanie informacji (2)

PROCESORPROCESOR PAMIĘĆPAMIĘĆ

AdresAdres

DaneDaneZapisZapis

11

22

33

33

44

PROCESORPROCESOR PAMIĘĆPAMIĘĆ

AdresAdres

DaneDaneOdczytOdczyt

11

22

33

44

PROCESORPROCESOR UKŁADUKŁADWY-WEWY-WE

AdresAdres

DaneDaneZapisZapis

11

22

33

44

PROCESORPROCESOR UKŁADUKŁADWY-WEWY-WE

AdresAdres

DaneDaneOdczytOdczyt

11

22

33

44

Z P

RO

CE

SO

RA

DO

PA

MIĘ

CI

Z P

RO

CE

SO

RA

DO

PA

MIĘ

CI

Z P

AM

IĘC

I D

O P

RO

CE

SO

RA

Z P

AM

IĘC

I D

O P

RO

CE

SO

RA

Z P

RO

CE

SO

RA

NA

WY

JŚC

IEZ

PR

OC

ES

OR

A N

A W

YJŚ

CIE

Z W

EJŚ

CIA

DO

PR

OC

ES

OR

AZ

WE

JŚC

IA D

O P

RO

CE

SO

RA

PRZEPŁYW DANYCH W SYSTEMIE MIKROPROCESOROWYMPRZEPŁYW DANYCH W SYSTEMIE MIKROPROCESOROWYM

Page 18: Przetwarzanie informacji (2)

ARCHITEKTURA PROCESORAARCHITEKTURA PROCESORA

Schemat blokowy procesoraSchemat blokowy procesora

RejestryRejestry

Blok arytmetyczno-logiczny (ALU)Blok arytmetyczno-logiczny (ALU)

Układ sterowaniaUkład sterowania

8

Page 19: Przetwarzanie informacji (2)

SCHEMAT BLOKOWY PROCESORASCHEMAT BLOKOWY PROCESORA

ALUALU

JEDNOSTKA JEDNOSTKA WYKONAWCZAWYKONAWCZA

układ układ sterowaniasterowania

dek

od

erd

eko

der

rozk

azó

wro

zkaz

ów

reje

str

reje

str

rozk

azó

wro

zkaz

ów

rejestry części rejestry części wykonawczejwykonawczej

DANEDANE

PROGRAMPROGRAM

WYNIKIWYNIKI

wewnętrznewewnętrzne sygnały sygnały sterującesterujące zewnętrzne zewnętrzne

sygnały sygnały sterującesterujące

JEDNOSTKA JEDNOSTKA STERUJĄCASTERUJĄCA

Zadaniem jednostki wykonawczej jest Zadaniem jednostki wykonawczej jest wykonywanie operacji arytmetycznych i wykonywanie operacji arytmetycznych i logicznych w zależności od wewnętrznych logicznych w zależności od wewnętrznych sygnałów sterującychsygnałów sterujących

Jednostka sterująca z programu dekoduje Jednostka sterująca z programu dekoduje rozkaz i na jego podstawie generowane są rozkaz i na jego podstawie generowane są wewnętrzne i zewnętrzne sygnały wewnętrzne i zewnętrzne sygnały sterującesterujące

Page 20: Przetwarzanie informacji (2)

BLOK ARYTMETYCZNO-LOGICZNYBLOK ARYTMETYCZNO-LOGICZNY

Blok arytmetyczno-logiczny (ALU)Blok arytmetyczno-logiczny (ALU) - jest - jest uniwersalnym układem kombinacyjnym, który uniwersalnym układem kombinacyjnym, który realizuje operacje matematyczne i logiczne w realizuje operacje matematyczne i logiczne w zależności od zaprogramowanej operacji tj. zależności od zaprogramowanej operacji tj. rozkazu umieszczonego w programie. rozkazu umieszczonego w programie. Rozkazy mogą dotyczyć Rozkazy mogą dotyczyć

• operacji dwuargumentowych:operacji dwuargumentowych:–operacji arytmetycznych (dodawanie i operacji arytmetycznych (dodawanie i

odejmowanie)odejmowanie)–operacji logicznych (sumowanie operacji logicznych (sumowanie

mnożenie, sumowanie mod 2, itp.)mnożenie, sumowanie mod 2, itp.)• operacji jednoargumentowych (np. operacji jednoargumentowych (np.

negowanie bitów lub przesuwanie zawartości negowanie bitów lub przesuwanie zawartości rejestrów)rejestrów)

Argumentami rozkazów są najczęściej dwa słowa Argumentami rozkazów są najczęściej dwa słowa binarne, od długości których mówi się o liczbie binarne, od długości których mówi się o liczbie bitów ALU.bitów ALU.

AA00 - A - A33

BB00 - B - B33

SS00 - S - S33MM

FF00 - F - F33

Page 21: Przetwarzanie informacji (2)

UKŁAD STEROWANIAUKŁAD STEROWANIA

Zwykle procesor wykonuje rozkazy nie w jednym kroku (jak np. dodawanie) ale Zwykle 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 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 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 odpowiednie ciągi słów podawanych na wejścia sterujące układu ALU - układ

sterowania. sterowania.

Cechy takiego automatu to:Cechy takiego automatu to:

• konieczność posiadania bardzo dużej liczby stanów dostosowanych do konieczność posiadania bardzo dużej liczby stanów dostosowanych do

wymaganej liczby wykonywanych rozkazów;wymaganej liczby wykonywanych rozkazów;

• konieczność zapewnienia synchronizacji pracy układu sterowania i konieczność zapewnienia synchronizacji pracy układu sterowania i

wykonawczego (uwzględnienie czasów wykonywania poszczególnych wykonawczego (uwzględnienie czasów wykonywania poszczególnych

operacji).operacji).

W praktyce realizowane są jako:W praktyce realizowane są jako:

• generatory sekwencyjnegeneratory sekwencyjne

• układy mikroprogramowalneukłady mikroprogramowalne

Page 22: Przetwarzanie informacji (2)

ROZKAZY I TRYB ADRESOWANIAROZKAZY I TRYB ADRESOWANIA

Cykl rozkazowyCykl rozkazowy

Lista i format rozkazuLista i format rozkazu

Tryb adresowaniaTryb adresowania

Sposób prezentowania rozkazuSposób prezentowania rozkazu

9

Page 23: Przetwarzanie informacji (2)

CYKL ROZKAZOWY PROCESORACYKL ROZKAZOWY PROCESORA

Realizując program, system mikroprocesorowy wykonuje pewne powtarzające Realizując program, system mikroprocesorowy wykonuje pewne powtarzające się czynności, polegające na cyklicznym pobieraniu kodów rozkazów z pamięci 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 rozkazui wczytywaniu ich do układu sterowania, a następnie realizacji rozkazu

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

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

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

Pam

ięć

Pam

ięć

CP

UC

PU

POBRANIE POBRANIE ROZKAZUROZKAZU

WYSŁANIE WYSŁANIE ADRESU ADRESU

ROZKAZUROZKAZU

DEKODOWADEKODOWANIENIE

ROZKAZUROZKAZU

OBLICZANIEOBLICZANIEADRESU ADRESU

ARGUMENTUARGUMENTUII

OBLICZANIEOBLICZANIEADRESU ADRESU

ARGUMENTUARGUMENTUIIII

WYKONANIE WYKONANIE ROZKAZUROZKAZU

OBLICZENIE OBLICZENIE ADRESU ADRESU

PRZEZNACZE-PRZEZNACZE-NIANIA

ZAPIS ZAPIS WYNIKUWYNIKU

POBRANIE POBRANIE ARGUMENTU ARGUMENTU

IIII

POBRANIE POBRANIE ARGUMENTU ARGUMENTU

II

cykl pobrania rozkazucykl pobrania rozkazu

cykl cykl pobrania pobrania

argumentu argumentu II

cykl cykl pobrania pobrania

argumentu argumentu IIII cykl zapisu wynikucykl zapisu wyniku

Page 24: Przetwarzanie informacji (2)

CYKL ROZKAZOWY PROCESORACYKL ROZKAZOWY PROCESORA

Czas trwania fazy pobierania rozkazu (pobierania argumentu) zależy od rodzaju Czas trwania fazy pobierania rozkazu (pobierania argumentu) zależy od rodzaju procesora i rodzaju rozkazu (argumentu).procesora i rodzaju rozkazu (argumentu).Np. Np. Jeżeli procesor jest 8-bitowy, kod rozkazu 8-bitowy, adres argumentu 16-bitowy Jeżeli procesor jest 8-bitowy, kod rozkazu 8-bitowy, adres argumentu 16-bitowy to faza pobrania rozkazu składa się z trzech cykli odczytu pamięci:to faza pobrania rozkazu składa się z trzech cykli odczytu pamięci:

• odczyt kodu - pobranie rozkazuodczyt kodu - pobranie rozkazu• odczyt jednego bajtu adresuodczyt jednego bajtu adresu• odczyt drugiego bajtu adresuodczyt drugiego bajtu adresu

Jeżeli procesor i rozkaz są 32-bitowe to wystąpi jedna faza pobrania rozkazuJeżeli procesor i rozkaz są 32-bitowe to wystąpi jedna faza pobrania rozkazu

Rozpatrzmy przykład wykonania programu dodawania dwóch liczb 16-bitowych Rozpatrzmy przykład wykonania programu dodawania dwóch liczb 16-bitowych stałopozycyjnych w komputerze 16-bitowym. Pamięć jest 16-bitowa, kod stałopozycyjnych w komputerze 16-bitowym. Pamięć jest 16-bitowa, kod rozkazu 12-bitowy a adres 20-bitowy (kod rozkazu i adres można zatem rozkazu 12-bitowy a adres 20-bitowy (kod rozkazu i adres można zatem umieścić w 2 komórkach pamięci)umieścić w 2 komórkach pamięci)

Faza pobrania:Faza pobrania:1. adresowanie: podanie zawartości licznika rozkazów PC (rejestru 1. adresowanie: podanie zawartości licznika rozkazów PC (rejestru

adresującego pamięć AD) na magistralę adresowąadresującego pamięć AD) na magistralę adresową2. odczyt zaadresowanej komórki pamięci do rejestru rozkazów (RR)2. odczyt zaadresowanej komórki pamięci do rejestru rozkazów (RR)3. zwiększenie zawartości licznika rozkazów3. zwiększenie zawartości licznika rozkazów

Faza wykonania:Faza wykonania:4. zdekodowanie kodu rozkazu i wytworzenie sygnałów sterujących 4. zdekodowanie kodu rozkazu i wytworzenie sygnałów sterujących

realizujących dany rozkazrealizujących dany rozkaz

11

22

33

44

Cykl von NeumanaCykl von Neumana

w przypadku rozkazów wielobajtowych

PC(AD)PC(AD)

RRRR

kod kod rozkazurozkazu

kod kod rozkazurozkazu

kod kod rozkazurozkazu

kod kod rozkazurozkazu

kod kod rozkazurozkazu

procesorprocesorpamięćpamięć

szyn

a ad

reso

wa

szyn

a ad

reso

wa

szyn

a d

anyc

hsz

yna

dan

ych

Page 25: Przetwarzanie informacji (2)

LISTA ROZKAZÓWLISTA ROZKAZÓW

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

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

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

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

• rozkazy przesłańrozkazy przesłań• rozkazy arytmetyczne i logicznerozkazy arytmetyczne i logiczne• rozkazy sterujące (skoki, wywołania podprogramów, pętle, itp.)rozkazy sterujące (skoki, wywołania podprogramów, pętle, itp.)• inne (np. sterowanie pracą koprocesora, rozkazy testujące, operacje w trybie inne (np. sterowanie pracą koprocesora, rozkazy testujące, operacje w trybie

chronionym)chronionym)

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

Adreskomórki

Zawartośćkomórki

0000 0000 1011 00010000 0001 0001 01010000 0010 1010 00000000 0011 0000 00000000 0100 0000 11110000 0101 0000 00000000 0110 1100 10000000 0111 1100 01100000 1000 1010 1010

--

0000 1111 0000 0010

MOV CL,5

MOV A, [B2,B3]

ADD CL,A

A=A+5

OUT [B2] PRINT

rozkazy w postaci kodów binarnychrozkazy w postaci kodów binarnych instrukcje maszynoweinstrukcje maszynowe instrukcje w FORTRANieinstrukcje w FORTRANie

Page 26: Przetwarzanie informacji (2)

TRYB ADRESOWANIATRYB ADRESOWANIA

Def.W trybie Def.W trybie adresowania indeksowego z przemieszczeniem adresowania indeksowego z przemieszczeniem adres adres argumentu przechowywanego w pamięci obliczany jest jako suma argumentu przechowywanego w pamięci obliczany jest jako suma zawartości rejestru określonego w kodzie rozkazu i wartości zawartości rejestru określonego w kodzie rozkazu i wartości umieszczonej w kodzie rozkazu, zwanej przemieszczeniemumieszczonej w kodzie rozkazu, zwanej przemieszczeniem

Def.W trybie Def.W trybie adresowania indeksowego z przemieszczeniem adresowania indeksowego z przemieszczeniem adres adres argumentu przechowywanego w pamięci obliczany jest jako suma argumentu przechowywanego w pamięci obliczany jest jako suma zawartości rejestru określonego w kodzie rozkazu i wartości zawartości rejestru określonego w kodzie rozkazu i wartości umieszczonej w kodzie rozkazu, zwanej przemieszczeniemumieszczonej w kodzie rozkazu, zwanej przemieszczeniem

Kod Kod rozkazurozkazu

Kod operacjiKod operacjiOkreślenie Określenie

rejestrurejestru wartośćwartość

REJESTRREJESTR

PrzemieszczeniePrzemieszczenie ArgumentArgument

PA

MIĘ

ĆP

AM

IĘĆ

Page 27: Przetwarzanie informacji (2)

UKŁDY WEJŚCIA/WYJŚCIA UKŁDY WEJŚCIA/WYJŚCIA WSPÓŁADRESOWALNE Z PAMIĘCIĄWSPÓŁADRESOWALNE Z PAMIĘCIĄ

Szyna adresowaSzyna adresowa

PAMIĘĆ PAMIĘĆ OPERACYJNAOPERACYJNACPUCPU I/OI/O

MEMR MEMWMEMR MEMW MEMR MEMWMEMR MEMW MEMR MEMWMEMR MEMW

Def. W przypadku układów współadresowalnych z pamięcią operacyjną Def. W przypadku układów współadresowalnych z pamięcią operacyjną wybieramy obiekt, na którym dokonujemy operacji (komórka pamięci lub wybieramy obiekt, na którym dokonujemy operacji (komórka pamięci lub rejestr układu we/wy), za pomocą adresu (istnieje potrzeba wydzielenia w rejestr układu we/wy), za pomocą adresu (istnieje potrzeba wydzielenia w pamięci przestrzeni dla adresów układów we/wy). Sygnały sterujące są pamięci przestrzeni dla adresów układów we/wy). Sygnały sterujące są wspólne dla pamięci i układów we/wy.wspólne dla pamięci i układów we/wy.

Def. W przypadku układów współadresowalnych z pamięcią operacyjną Def. W przypadku układów współadresowalnych z pamięcią operacyjną wybieramy obiekt, na którym dokonujemy operacji (komórka pamięci lub wybieramy obiekt, na którym dokonujemy operacji (komórka pamięci lub rejestr układu we/wy), za pomocą adresu (istnieje potrzeba wydzielenia w rejestr układu we/wy), za pomocą adresu (istnieje potrzeba wydzielenia w pamięci przestrzeni dla adresów układów we/wy). Sygnały sterujące są pamięci przestrzeni dla adresów układów we/wy). Sygnały sterujące są wspólne dla pamięci i układów we/wy.wspólne dla pamięci i układów we/wy.

Np. karta graficznaNp. karta graficzna

Page 28: Przetwarzanie informacji (2)

UKŁDY WEJŚCIA/WYJŚCIA IZOLOWANEUKŁDY WEJŚCIA/WYJŚCIA IZOLOWANE

Szyna adresowaSzyna adresowa

PAMIĘĆ PAMIĘĆ OPERACYJNAOPERACYJNACPUCPU I/OI/O

MEMR MEMR

MEMWMEMW MEMR MEMWMEMR MEMW IOR IOWIOR IOW

Def. Dla izolowanych układów we/wy wybieramy obiekt, na którym dokonujemy Def. Dla izolowanych układów we/wy wybieramy obiekt, na którym dokonujemy operacji (komórka pamięci lub rejestr układu we/wy), za pomocą sygnałów operacji (komórka pamięci lub rejestr układu we/wy), za pomocą sygnałów sterujących. Przestrzenie adresowe pamięci układów we/wy są rozdzielonesterujących. Przestrzenie adresowe pamięci układów we/wy są rozdzielone

Def. Dla izolowanych układów we/wy wybieramy obiekt, na którym dokonujemy Def. Dla izolowanych układów we/wy wybieramy obiekt, na którym dokonujemy operacji (komórka pamięci lub rejestr układu we/wy), za pomocą sygnałów operacji (komórka pamięci lub rejestr układu we/wy), za pomocą sygnałów sterujących. Przestrzenie adresowe pamięci układów we/wy są rozdzielonesterujących. Przestrzenie adresowe pamięci układów we/wy są rozdzielone

IOR IOR

IOWIOW

Sygnały sterujące Sygnały sterujące dla pamięcidla pamięci

Sygnały sterujące dla Sygnały sterujące dla układów we/wyukładów we/wy

Np. sterownik dysku Np. sterownik dysku twardegotwardego

Page 29: Przetwarzanie informacji (2)

OPERACJE WEJŚCIA/WYJŚCIAOPERACJE WEJŚCIA/WYJŚCIA

Def. Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych do Def. Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych do realizacji wymiany informacji pomiędzy mikroprocesorem i pamięcią z realizacji wymiany informacji pomiędzy mikroprocesorem i pamięcią z jednej strony a układem wejścia/wyjścia z drugiej.jednej strony a układem wejścia/wyjścia z drugiej.

Def. Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych do Def. Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych do realizacji wymiany informacji pomiędzy mikroprocesorem i pamięcią z realizacji wymiany informacji pomiędzy mikroprocesorem i pamięcią z jednej strony a układem wejścia/wyjścia z drugiej.jednej strony a układem wejścia/wyjścia z drugiej.

Operacje wejścia/wyjścia mogą być realizowane:Operacje wejścia/wyjścia mogą być realizowane:

• od początku do końca przy udziale procesora - przesyłana informacja od początku do końca przy udziale procesora - przesyłana informacja

przepływa przez rejestry procesora, który także steruje każdym krokiem przepływa przez rejestry procesora, który także steruje każdym krokiem

realizacji operacji - są to realizacji operacji - są to operacje z bezpośrednim sterowaniem przez operacje z bezpośrednim sterowaniem przez

mikroprocesormikroprocesor

• poprzez zainicjowanie operacji przez procesor, który następnie przekazuje poprzez zainicjowanie operacji przez procesor, który następnie przekazuje

nadzór nad realizacją operacji innemu układowi (zarządcy magistrali) - są nadzór nad realizacją operacji innemu układowi (zarządcy magistrali) - są

to to operacje z pośrednim sterowaniem przez mikroprocesor (z operacje z pośrednim sterowaniem przez mikroprocesor (z

bezpośrednim dostępem do pamięci - DMA)bezpośrednim dostępem do pamięci - DMA)..

Page 30: Przetwarzanie informacji (2)

OPERACJE Z BEZPOŚREDNIM OPERACJE Z BEZPOŚREDNIM STEROWANIEM PRZEZ MIKROPROCESORSTEROWANIEM PRZEZ MIKROPROCESOR

Operacje wejścia/wyjścia z bezpośrednim sterowaniem przez mikroprocesor :Operacje wejścia/wyjścia z bezpośrednim sterowaniem przez mikroprocesor :

• bezwarunkowe operacje wejścia/wyjściabezwarunkowe operacje wejścia/wyjścia

• operacje z testowaniem stanu układu wejścia/wyjściaoperacje z testowaniem stanu układu wejścia/wyjścia

• operacje z przerwaniem programuoperacje z przerwaniem programu

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

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

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

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

Page 31: Przetwarzanie informacji (2)

OPERACJE Z BEZPOŚREDNIM OPERACJE Z BEZPOŚREDNIM STEROWANIEM PRZEZ MIKROPROCESORSTEROWANIEM PRZEZ MIKROPROCESOR

operacje z przerwaniem programuoperacje z przerwaniem programu

Operacje wejścia/wyjścia z przerwaniem programu eliminują wady operacji z Operacje wejścia/wyjścia z przerwaniem programu eliminują wady operacji z

testowaniem stanu układu. testowaniem stanu układu.

Procesor wykonuje Procesor wykonuje program głównyprogram główny oczekując na zgłoszenie gotowości. Zgłoszenie powoduje oczekując na zgłoszenie gotowości. Zgłoszenie powoduje przerwanie wykonywania programu głównego i zapamiętanie informacji potrzebnej do przerwanie wykonywania programu głównego i zapamiętanie informacji potrzebnej do późniejszego powrotu do programu głównego. Procesor przechodzi do wykonania późniejszego powrotu do programu głównego. Procesor przechodzi do wykonania programu programu obsługi przerwań obsługi przerwań ((ISR - interrupt service routineISR - interrupt service routine) - następuje wymiana informacji z układem ) - następuje wymiana informacji z układem we/wy. Po zakończeniu wymiany (programu obsługi przerwania) procesor kontynuuje we/wy. Po zakończeniu wymiany (programu obsługi przerwania) procesor kontynuuje przerwany program główny.przerwany program główny.

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

INSTRUKCJA 5INSTRUKCJA 5INSTRUKCJA 6INSTRUKCJA 6INSTRUKCJA 7INSTRUKCJA 7INSTRUKCJA 8INSTRUKCJA 8INSTRUKCJA 9INSTRUKCJA 9

RET 10RET 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 32: Przetwarzanie informacji (2)

OPERACJE Z BEZPOŚREDNIM OPERACJE Z BEZPOŚREDNIM STEROWANIEM PRZEZ MIKROPROCESORSTEROWANIEM PRZEZ MIKROPROCESOR

operacje z przerwaniem programuoperacje z przerwaniem programu

W przypadku pojawienia się jednoczesnego kilku zgłoszeń od urządzeń we/wy W przypadku pojawienia się jednoczesnego kilku zgłoszeń od urządzeń we/wy

sytuacja może się komplikować. Dlatego stosuje się tzw. sytuacja może się komplikować. Dlatego stosuje się tzw. sterownik przerwaństerownik przerwań. .

Główne zadania sterownika przerwań:Główne zadania sterownika przerwań:

• pośredniczenie w przyjmowaniu zgłoszeń przerwań pomiędzy procesorem pośredniczenie w przyjmowaniu zgłoszeń przerwań pomiędzy procesorem

i układami we/wyi układami we/wy

• przyjmowanie zgłoszeń od wielu układów we/wy (procesor posiada tylko przyjmowanie zgłoszeń od wielu układów we/wy (procesor posiada tylko

jedno wejście zgłoszenia przerwań)jedno wejście zgłoszenia przerwań)

• wybór spośród wielu zgłoszeń tego, które zostanie obsłużonewybór spośród wielu zgłoszeń tego, które zostanie obsłużone

• sygnalizowanie wyboru przez podanie adresu układu we/wy, z którym sygnalizowanie wyboru przez podanie adresu układu we/wy, z którym

zostanie dokonana wymiana (adresu programu obsługi przerwania zostanie dokonana wymiana (adresu programu obsługi przerwania

realizującego tą wymianę, a właściwie numer pozycji w realizującego tą wymianę, a właściwie numer pozycji w tablicy wektorów tablicy wektorów

przerwańprzerwań))

• wygenerowanie sygnału zgłoszenia przerwania bezpośrednio do wygenerowanie sygnału zgłoszenia przerwania bezpośrednio do

procesoraprocesora

Page 33: Przetwarzanie informacji (2)

OPERACJE Z BEZPOŚREDNIM OPERACJE Z BEZPOŚREDNIM STEROWANIEM PRZEZ MIKROPROCESORSTEROWANIEM PRZEZ MIKROPROCESOR

operacje z przerwaniem programu - tablica wektorów przerwańoperacje z przerwaniem programu - tablica wektorów przerwań

Początek IRSPoczątek IRS

CSCSIPIPCSCSIPIPCSCSIPIP

Pamięć operacyjnaPamięć operacyjna

Numer przerwania

Adres początku Adres początku programu programu obsługi obsługi przerwaniaprzerwania

Tablica Tablica wektorów wektorów przerwańprzerwań

CSCSIPIPCSCSIPIP

Sterownik Sterownik przerwańprzerwań

Page 34: Przetwarzanie informacji (2)

ProcesoryProcesory

Pierwszy procesor 4004Pierwszy procesor 40044 bitowy, 1971 r. na zamówienie japońskiej firmy

ETI, przeznaczony do kalkulatora Procesor zawarty był w pojedynczym

układzie, składał się z około 2300 tranzystorów upakowanych na powierzchni 10 mikrometrów i pracował z częstotliwością 108 KHz. 

Page 35: Przetwarzanie informacji (2)

ProcesoryProcesory

Procesor 8086Procesor 808616 bitowy, 1976 r., firma INTEL Procesor 8088Procesor 80888 bitowy, wykorzystujący 16bitowe rejestryDo komputerów PC XT i AT1MB przestrzeń adresowaZegar 4.77 – 10 MHz