32
1 Podstawy techniki cyfrowej Mikroprocesory Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

P od stawy te chn iki cyfrowej Mikroprocesory - sq1ftb.com filezestaw ten jest znacznie bogatszy. 5

Embed Size (px)

Citation preview

1

Podstawy techniki cyfrowej

Mikroprocesory

Mgr inż. Bogdan Pietrzak

ZSR CKP Świdwin

2

Mikroprocesor to układ cyfrowy wykonany jako pojedynczy układ scalony o wielkim stopniu integracji

zdolny do wykonywania operacji

cyfrowych według dostarczonych mu instrukcji.

3

Historia mikroprocesora

Jednym z twórców idei mikroprocesora był Ted Hoff z firmy Intel. Wpadł on na pomysł by zamiast projektować 12 niezale nych układów scalonych do kalkulatorów zaprojektować jeden, który będzie w stanie pełnić funkcje wszystkich ich razem wziętych i będzie pracować w taki sposób jak procesor w komputerze. W firmie Intel wyprodukowano pierwszy

komercyjny mikroprocesor o nazwie 4004 - zawierał on 2300 tranzystorów i wykonany był w technologii p-

MOS. Pierwszym na świecie procesorem był jednak ściśle tajny "chip" Ż14 CAŹC u ywany w samolocie Grumman F14 Tomcat.

4

Budowa mikroprocesora

Mikroprocesor składa się z zasadniczych bloków funkcjonalnych :

ALU - jednostka arytmetyczno-logiczna (Arithmetic

Logic Unit), wykonuje ona operacje logiczne na

dostarczonych jej danych, podstawowy zestaw to:

dodawanie, podstawowe operacje logiczne (AND,

XOR, OR, NOT), oraz przesunięcia bitowe w lewo i w prawo. W bardziej zło onych mikroprocesorach zestaw ten jest znacznie bogatszy.

5

• CU - układ sterowania (Control Unit),

zwany te dekoderem rozkazów. Odpowiedzialny jest on za dekodowanie

dostarczonych mikroprocesorowi instrukcji i

odpowiednie sterowanie pozostałymi jego blokami (na przykład jeśli zdekodowaną instrukcją będzie dodawanie, CU

odpowiednio ustawi sygnały sterujące, by ALU wykonała tę właśnie operację)

6

• Rejestry - umieszczone wewnątrz mikroprocesora komórki pamięci o niewielkich rozmiarach (najczęściej 4/8/16/32/64/128 bitów) słu ące do przechowywania tymczasowych wyników

obliczeń (rejestry danych) oraz adresów

lokacji w pamięci operacyjnej (rejestry

adresowe). Proste mikroprocesory mają tylko jeden rejestr danych zwany akumulatorem.

7

Oprócz rejestrów danych i rejestrów adresowych

występuje te pewna liczba rejestrów o specjalnym przeznaczeniu:

• PC - licznik rozkazów (Program Counter) -

zawiera on adres komórki pamięci zawierającej następny rozkaz do wykonania

• IR - rejestr instrukcji (Instruction Register) -

zawiera on adres aktualnie wykonywanej przez

procesor instrukcji.

• SP - wska nik stosu (Stack Pointer) - zawiera

adres wierzchołka stosu.

Mikroprocesor komunikuje się z otoczeniem za pomocą szyny danych i szyny adresowej.

8

• kopiowanie danych

- z pamięci do rejestru

- z rejestru do pamięci - z pamięci do pamięci (niektóre procesory)

działania arytmetyczne - dodawanie

- odejmowanie

- porównywanie dwóch liczb

- dodawanie i odejmowanie jedności - zmiana znaku liczby

Do typowych rozkazów wykonywanych przez

procesor nale ą:

9

• działania na bitach - iloczyn logiczny - AND

- suma logiczna - OR

- suma modulo 2 (ró nica symetryczna) - XOR

- negacja - NOT

- przesunięcie bitów w lewo lub prawo

• skoki

- bezwarunkowe

- warunkowe

10

Mikroprocesor Z80

11

12

Budowa rejestrów mikroprocesora

13

Rejestr znaczników flagowych

Ten rejestr jest przeznaczony do przechowywania

dodatkowych cech wyników operacji np. :

• znak przekroczenia zakresu operacji

• znak parzystości • znak przeniesienia lub po yczki

Ka dy znak (flaga) jest jednobitowym znacznikiem

zapisanym w odpowiednim miejscu rejestru.

Je eli wartość tego bitu wynosi 1 , oznacza to, e stan taki wystąpił po wykonaniu ostatniej operacji.

14

Wykorzystanie informacji z rejestru flagowego

Informacje z rejestru flagowego mogą być wykorzystane przez programistów na dwa sposoby:

• ustawienie znacznika dla zapamiętania określonego stanu po wykonaniu operacji • testowanie znacznika celem podjęcia odpowiedniego dalszego działania.

15

Znaczniki (flagi) stanu

• CF – flaga przeniesienia, ustawiana przy

przekroczeniu zakresu długości słowa, w którym jest zapisywany wynik.

• PF – flaga parzystości, wskazuje na parzystą lub nieparzystą liczbę bitów o wartości jedynki. • ZF – flaga zera, sygnalizująca, e wynikiem ostatniej operacji było zero. • PF – przeniesienie pomocnicze dla kodu BCD

• SF – flaga znaku, ustawiona gdy najstarszy bit

wyniku jest równy 1 ( operacje na kodzie U2)

• OF – flaga przepełnienia, sygnalizuje przekroczenie zakresu dla operacji arytmetycznych

(U2)

16

Znaczniki (flagi) kontrolne

• TF – znacznik pracy krokowej,

• IF – znacznik zezwolenia na przerwanie

• DF – znacznik kierunku

• IOPL – znacznik ochrony instrukcji wejścia-wyjścia

• NT – znacznik zadania zagnie d onego

17

Rejestry ogólnego przeznaczenia

Akumulator – rejestr funkcjonalnie związany z ALU,

przeznaczony do przechowywania jednego z

operandów (argumentów) wykonywanej operacji oraz

wyniku operacji. Czasami wynik operacji mo e być przechowywany w innym rejestrze.

W mikroprocesorze mo e być kilka takich rejestrów.

18

Rejestry segmentowe

• CS – rejestr segmentowy programu, wskazuje

segment programu, z którego aktualnie są pobierane rozkazy programu do wykonania

• DS. – rejestr segmentowy stosu, wskazuje segment

w którym są zapamiętywane zmienne u ywane przez program

• ES – rejestr segmentowy dodatkowy, wskazuje

dodatkowy segment danych

• SS – rejestr segmentowy stosu, wskazuje segment

pamięci, w której umiejscowiony jest stos.

19

Rejestry wska nikowe i indeksowe

• SP, BP – rejestry wska nikowe słu ące do adresowania danych w obrębie wydzielonego obszaru pamięci. • SI, DI – rejestry indeksowe słu ące do adresowania danych w obszarze pamięci zwanym segmentem danych.

Licznik rozkazów słu y do przechowywania adresu komórki, z której nale y pobrać następny rozkaz.

Rejestr rozkazów słu y do przechowywania pobranych z pamięci słów-kodów rozkazów.

20

21

22

Stosem nazywamy wyró niony obszar pamięci, którego przeznaczeniem jest krótkotrwałe przechowywanie informacji. Stos jest zorganizowany w oparciu o metodę zapisu LIFO.

23

Rozkazy

Rozkazem (instrukcją maszynową) nazywamy

najprostszą operację do wykonania przez mikroprocesor.

Listą rozkazów nazywamy zestaw rozkazów

(instrukcji maszynowych) jakie potrafi wykonywać dany mikroprocesor.

Formatem rozkazu nazywamy sposób

rozmieszczenia informacji w kodzie programu.

24

Cykl rozkazowy mikroprocesora

Realizując cykl rozkazowy mikroprocesor wykonuje pewne powtarzające się czynności polegające na cyklicznym pobieraniu kodów rozkazów z pamięci i przesyłaniu ich układu sterowania a następnie na ich wykonaniu

Czas potrzebny na oczytanie kodu rozkazu z pamięci, na pobraniu argumentów, na wykonanie rozkazu, na

przesłanie wyniku operacji nazywa się cyklem

rozkazowym mikroprocesora.

25

26

Tryby adresowania mikroprocesora

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

Argumenty rozkazu mogą być przechowywane w:

• Rejestrach

• Pamięci • Kodzie rozkazu

Do podstawowych trybów adresowania zaliczamy:

• Adresowanie bezpośrednie

• Adresowanie pośrednie

27

Przy adresowaniu bezpośrednim adres komórki

zawiera się bezpośrednio w rozkazie.

28

Przy adresowaniu pośrednim adres komórki zawiera

adres komórki, w której znajduje się adres argumentu lub rejestru.

29

Sposoby prezentowania rozkazu

EB 03h JMP SHORT ALA 11101011 000

00000011 001

010

011

rozkaz 100

101

ALA

Mnemonik Argument

Kod rozkazu Adresy Pamięć

Ten rozkaz zostanie wykonany po skoku

30

31

Sygnały sterujące mikroprocesora

80486

RESET

CLK

RDY#

M/IO#

D/C#

HOLD

HLDA

INTR

NMI

W/R#

RESET Restart mikroprocesora

CLK Zegar

RDY# żotowość np. pamięci M/IO# Operacja memory/IO

D/C# Obecność danych/kodu

HOLD Stan zawieszenia -

ądanie

HLDA Stan zawieszenia -

potwierdzenie

INTR ądanie przerwania

NMI Przerwanie niemaskow

W/R# Zapis lub odczyt

32

ródła: 1. Jacek Bartman – Architektura komputerów

2. Józef Kalisz – Układy mikroelektroniczne.Układy cyfrowe. WAT wewn. 634/77

3. Krzysztof Wojtuszkiewicz – Urządzenia techniki komputerowej.