Urządzenia
techniki komputerowej
Marek Węgrzyn
Zagadnienia
Budowa systemów mikrokomputerowych.
Mikroprocesory - historia, budowa wewnętrzna.
Pojęcia ogólne - magistrala systemowa, układy we-wy,
urządzenia zewnętrzne, pamięci.
Mikroprocesory rodziny Intel x86 - architektura,
zasada działania.
Pamięci - podział, parametry. Sprzęganie pamięci
z magistralą systemu.
Sprzęganie układów we-wy z magistralą systemu.
Urządzenia we-wy - karty wideo, karty dzwiękowe,
dyski twarde, rodzaje magistrali systemowych.
1
Architektura mikrokomputera
ROM
RAM
Magistrala
adresowa
Magistrala
danych
Magistrala
sterująca
Układy
wejścia-wyjścia
Urządzenia
zewnętrzne
Architektura mikroprocesora
Magistrala
danych
Bufor
wewnętrzna magistrala danych
Zewnętrzne
Układ
sygnały
sterowania
sterujące
sterowanie
Zespół
rejestrów
Bufor
Magistrala
adresowa
2
mikroprocesor
Rejestr
rozkazów
logiczna
Jednostka
arytmetyczno
Historia mikroprocesorów
1974 Intel 8080 - 8-bitowe rejestry, 8-bitowa szyna danych.
Premiera: kwiecień 1974, 60 000 tranzystorów,
2 MHz, 0,64 MIPS
1978 Intel 8086 -16-bitowe rejestry, 16 bitowa szyna danych.
Premiera: czerwiec 1978. 29 000 tranzystorów. 4,77-10 MHz,
0,33 MIPS. Początkowa cena 360 $
1979 Intel 8088 Procesor z 8-bitową szyną danych.
Premiera: czerwiec 1979, 4,77-8 MHz
1981 IBM PC wprowadzony na rynek z procesorem 8088
1982 Intel 80286, 16-bitowe rejestry, 16 bitowa szyna danych,
praca w trybie chronionym. Wprowadzony w lutym 1982.
134000 tranzystorów, 6 -12 MHz, 1-2 MIPS.
Początkowa cena 360 $
1984 IBM PC AT wprowadzony na rynek z procesorem 80286
Historia mikroprocesorów
1985 Intel 80386 32 bitowe rejestry, 32 bitowa szyna
danych. Wprowadzony w pazdzierniku 1985, 275 000
tranzystorów, 16-33 MHz, 6-12 MIPS, Początkowa cena
290 $ 1987 seria IBM PS/2, architektura Micro Channel
1988 Intel 80386 SX, 16 bitowa szyna danych,
wprowadzony: kwiecień 1991. 16-33 MHz
1989 Intel 486DX, 32-bitowe rejestry, 32-bitowa szyna
danych. Zintegrowany procesor matematyczny.
Wprowadzony kwiecień 1989. 1,2 miliona tranzystorów,
25-50 MHz, 20-40 MIPS. Początkowa cena 950 $
1990 Komputery z 486DX/25
1991 Intel 486 SX , 486DX bez koprocesora
matematycznego. Wprowadzony kwiecień 1991.
16-33 MHz
3
Historia mikroprocesorów
1992 Intel486 DX2. 486 z podwojoną częstotliwością
zegara. Wprowadzony w marcu 1992. 50-66 MHz
1993 Intel Pentium, 32 bitowe rejestry, 64-bitowa szyna
danych. superskalarny. Wprowadzony w marcu 1993.
3,2 miliona tranzystorów, 60-133 MHz,
100-200+ MIPS. Początkowa cena 878 $
1994 Intel Pentium P54C 3,3 woltowy z zegarem 90 MHz
1994 Intel 486 DX4, 486DX z potrojonym zegarem
i większą pamięcią podręczną. Wprowadzony w marcu
1994, 75-100 MHz
1994-96 Konkurenci Pentium
T NexGen Nx586, wprowadzony we wrześniu 1994
T Cyrix M1
T AMD K5
Jednostka arytmetyczno logiczna ALU
Długość słowa i rodzaj wykonywanych operacji w ALU (Arithmetic and
Logic Unit) decydują o mocy obliczeniowej mikroprocesora
Typowe działania wykonywane przez ALU mikroprocesorów 8-bitowych to:
T arytmetyczne
dwuargumentowe
T dodawanie, odejmowanie
T porównywanie dwóch liczb
jednoargumentowe
T dodawanie i odejmowanie jedności
T zmiana znaku
T logiczne
dwuargumentowe
T suma (OR), iloczyn (AND)
T suma modulo 2 (EXOR)
jednoargumentowe
T negacja
4
Jednostka arytmetyczno logiczna ALU
ALU mikroprocesorów 16-bitowych wykonują
operacje mnożenia i dzielenia liczb całkowitych
ALU mikroprocesorów 32-bitowych wykonują
również operacje na liczbach rzeczywistych w
zapisie zmiennopozycyjnym
ALU wykonuje operacje na liczbach zapisanych w:
naturalnym kodzie binarnym. Dla liczb całkowitych
bez znaku
kodzie uzupełnień do dwóch. Dla liczb całkowitych
ze znakiem
kodzie BCD. Dla liczb całkowitych bez znaku
Rejestry
rejestr znaczników
licznik rozkazów
wskaznik stosu
rejestry indeksowane
wektor przerwań
rejestr odświeżania
5
Wykonywanie rozkazów
Rozkaz jest elementarną operacją wykonywaną przez
mikroprocesor
Rozkazy wykonywane są na argumentach
przechowywanych w pamięci lub rejestrach procesora
Ciąg rozkazów umieszczonych w kolejnych komórkach
pamięci tworzy program
Każdy rozkaz umieszczony w pamięci jest zakodowany
jako liczba binarna. Kod jednego rozkazu może zajmować
jedną lub kilka kolejnych komórek pamięci
symboliczne nazwy rozkazów nazywa się
mnemonicznymi
Specjalne programy tłumaczące program z postaci
mnemonicznej na postać binarną nazywa się asemblerami
Wykonywanie rozkazów
AD<=PC
RR<=D
Faza pobrania kodu operacji
PC<=PC+1
Dekodowanie
rozkazu
Wykonywanie
Faza wykonania operacji rozkazu
6
Adresowanie
adresowanie za pomocą wskazników
(rejestr wskaznika danych)
adresowanie natychmiastowe (argument umieszczony
bezpośrednio za kodem rozkazu)
adresowanie bezpośrednie (adres argumentu
umieszczony bezpośrednio za kodem rozkazu)
adresowanie indeksowe (suma adresów
umieszczonych w rej. indeksowym i w kodzie
rozkazu bezpośrednio za kodem operacji)
adresowanie względne (suma adresów umieszczonych
w rej. licznika rozkazów i w kodzie rozkazu
bezpośrednio za kodem operacji)
Stos
Jest to pamięć, do której dostęp jest tylko z jednej
strony
Pamięć tak zorganizowaną można porównać
do stosu książek lezących jedna na drugiej. Zapis
informacji odpowiada położeniu książki na wierzchu
stosu. Odczyt zdjęcie książki z wierzchu stosu
Każdy zapis powoduje przesunięcie wierzchołka
stosu do góry
Każdy odczyt powoduje przesunięcie wierzchołka
stosu na dół
Stos jest adresowany za pomocą wskaznika stosu SP.
7
System przerwań
umożliwia zawieszenie wykonywania
bieżącego programu i skok do wykonywania
specjalnego podprogramu - programu obsługi
przerwań
umożliwia natychmiastową reakcje przez
mikroprocesor na zdarzenia zewnętrzne
(żądania obsługi urządzeń zewnętrznych)
przerwania dzielą się na maskowalne (INT)
i niemaskowalne (NMI)
przerwania mogą posiadać priorytety
Obsługa przerwań
Pobranie i
wykonanie
rozkazu
Jest
przerw. TAK
NMI?
NIE
Przyjęcie przerwania NMI
NIE
- wyłączenie systemu przerwań
- PC => stos
- LR <= adres pr. obsługi
Czy
NIE przerw.
włącz.?
TAK
Jest
przerw. TAK
INT?
Przyjęcie przerwania NMI
- wyłączenie systemu przerwań
- PC => stos
- LR <= adres pr. obsługi
8
Procesor Intel 8086
16-bitowy mikroprocesor
możliwość równoległego wykonywania rozkazów
i pobierania danych
dwa tryby pracy (minimalny/maksymalny)
możliwość współpracy z wieloma procesorami
adresowanie 1MB pamięci
wiele trybów adresowania
praca na bitach, bajtach, słowach i blokach
wykonywanie arytmetycznych operacji na liczbach
binarnych i dziesiętnych
Produkowany w trzech wersjach (5, 8 i 10 MHz)
Procesor 8086 (schemat blokowy)
Rejestry Rejestry
danych segmentowe i
wskaznikowe i licznika
indeksowe rozkazów
/BHE
ALU
S7
A19..A16/S6..S3
Znaczniki
AD15..AD0
BIU
INTA,RD,WR
DT /R, /DEN,ALE
Kolejka rozkazów
/
TEST /LOCK
INT
NMI
QS0,QS1
Układy sterujące
/RQ /GT0
HOLD /S2, /S1, /S0
HOLDA
RESE
MN /MX
T READ
CLK
Y
9
GND, VCC
Procesor 8086 - Rejestry
Rejestry danych
Rejestry segmentowe
7 0 7 0
15 0
AX, Akumulator
AH AL
Rejestr segmentu kodu
CS
BX, Rejestr Bazy
BH BL
Rejestr segmentu danych
DS
CX, Licznik
CH CL
Rejestr segmentu stosu
SS
DX, Rejestr danych
DH DL
Rejestr segmentu danych
ES
specjalnych
Rejestry stanu i sterujące
15 0
Rejestry wskaznikowe i indeksowe
15 0
IP
Licznik rozkazów
Wska znik stos u
SP
Rejestr słowa
Wska znik adresu bazy
BP
Inde ks zródła danych
SI
Indeks przeznaczenia danych
DI
Procesor 8086 - rejestr słowa stanu - flagi
Nr bitu Flaga Komentarz
0. C bit przeniesienia
1. X -
2. P bit parzystości
3. X
4. A bit przeniesienia pomocniczego
5. X
6. Z bit zera
7. S bit znaku
8. T bit przerwania specjalnego
9. I bit przerwań (0-blokuje)
10. D bit kierunku (0-zwiększanie)
11. O bit przepełnienia
12. X
13. X
14. X
15. X
10
Procesor 8086 - Adresowanie
SEGMENT 0000
PRZESUNICIE
EFEKTYWNY ADRESS
V Adresowanie za pomocą argumentu w rejestrze
V bezpośrednie podanie argumentu
V adresowanie za pomocą pamięci
V adresowanie bezpośrednie
V adresowanie przez rejestr (BP, BX, SI, DI)
V adresowanie bazowe (względne - BX, BP)
V adresowanie indeksowe (SI, DI)
V adresowanie bazowo indeksowe (BX lub BP i SI lub DI)
Procesor 8086 (wyprowadzenia)
11
Pamięci
V Stałe
ROM (ang. Read Only Memory)
EPROM (ang. Erasable Programmable ROM)
EEPROM (ang. Electrically Erasable Programmable)
V Ulotne RAM (ang. Random Access Memory)
DRAM (ang. Dynamic RAM)
SRAM (ang. Static RAM)
VRAM (ang. Video RAM)
EDORAM (ang. Extended Data Out RAM)
E-DRAM (ang. Enhanced DRAM)
SDRAM (ang. Synchronous DRAM)
Pamięć DRAM
V komórki pamięci składają się z kondensatorów
V najczęściej spotykane w postaci modułów SIMM
(dawniej SIP)
V cykle oczekiwania (ang. wait states)
V odświeżanie (ang. refresh), za które
odpowiedzialny jest kontroler DMA
wraz z timerem
V główne zastosowanie to pamięć operacyjna
komputerów
V czas dostępu od 50 do 70 ns (a nawet 120 ns)
V relatywnie niska cena
12
V Pamięci SRAM
T komórki pamięci składają się z tranzystorów
T nie potrzeba stałego odświeżania
T duża szybkość (8 do 35 ns)
T używane jako pamięć cache drugiego poziomu
(w procesorach 486, Pentium i Pentium Pro)
oraz pamięć pierwszego poziomu
(w procesorach 386 i starszych)
T relatywnie wysoka cena
V Pamięć VRAM
T możliwość jednoczesnego zapisu i odczytu
T duża szybkość
T relatywnie wysoka cena
V Pamięć ROM
pamięć stałą, zapisywana jednokrotnie
zwykle zapisywana przez producenta przy pomocy specjalnego
programatora
zastosowanie: pamięci kopiarek, automatycznych sekretarek itp.
V Pamięć EPROM
różni się tym od pamięci ROM, że po 20-minutowym
naświetlaniu promieniami UV można skasować jej zawartość
co pozwala na ponowny zapis
zastosowanie: BIOS komputerów
V Pamięć EEPROM
możliwość elektrycznego kasowania i programowania pamięci
zastosowanie: pamięci telefonów
13
Pentium
V jest procesorem CISC
V jest procesorem superskalarnym
(przetwarzanie dwupotokowe)
V 64-bitowe magistrala wewnętrzna i rejestry
V podwójna wewnętrzna pamięć podręczna
(8 kB dla danych i 8 kB dla rozkazów)
V częstotliwość taktowania 60 do 166 MHz
V 112 MIPS ów (przy częstotliwości 66 MHz)
V układ przewidywania skoków
(ang. branch prediction)
Pentium
V dwukrotne zwiększenie szybkości
wykonywania operacji stałoprzecinkowych
V pięciokrotne zwiększenie szybkości
wykonywania operacji zmiennoprzecinkowych
V 3,2 miliona tranzystorów
V zastosowano po raz pierwszy technologię
BiCMOS
V wewnętrzna kontrola parzystości
V praca w trybie oszczędnym
V 273 nóżki (Intel 486 posiadał 168)
14
Przetwarzanie dwupotokowe
Pamięć
podręczna
kodu
programu
Układ do
przewidywani
a wyniku
V analizowanie zależności
wykonania
rozkazu skoku
Bufor
danych (unikanie
wstępnego
pobierania
konfliktów) rozkazów
Potok V
Potok U
V występują dwa potoki:
potok U i potok V
Jednostka Jednostka
Układ
arytmetycz arytmetycz
sterowania
no logiczna no logiczna
szyną
dla danych dla danych
64-bitową
całkowitych całkowitych
Jednostka
potokowego
potok U umożliwia przetwarzania
danych
wykonywanie rozkazów na
zmiennopozy-
cyjnych
Blok rejestrów
danych całkowitych i
zmiennopozycyjnych
potok V umożliwia
wykonywanie rozkazów na Pamięć
podręczna
danych całkowitych
danych
Pentium Pro
V jest procesorem superskalarnym
(przetwarzanie trzypotokowe)
V jest procesorem superpotokowym
V 64-bitowe magistrala wewnętrzna i rejestry
V 256 lub 512 kB pamięci podręcznej
drugiego poziomu w jednej obudowie (ang.
dual-cavity)
V częstotliwość taktowania 133 do 200 MHz
V 112 MIPS ów (przy częstotliwości 66 MHz)
V możliwość zmiany nazw rejestrów
15
Pentium Pro
V możliwość niekolejnego wykonywania instrukcji
V 5,5 miliona tranzystorów
V pamięć podręczna zawiera od 15,5 do 31
milionów tranzystorów
V 40 do 60 % większa wydajność w porównaniu
do Pentium
V możliwość pracy w systemie wieloprocesorowym
V nie blokująca się pamięć
V spekulatywne wykonywanie instrukcji
Procesory Pentium Pro i II
16
Układ we-wy Intel 8255
A1 A0 /RD /WR /CS
0 0 0 1 0
PA D
0 1 0 1 0
PB D
/CS /WR /RD
RESET A1 A0
1 0 0 1 0
PC D
Bufor
0 0 1 0 0
D PA
Układ sterowania
szyny
zapisem i odczytem 0 1 1 0 0
D PB
danych
1 0 1 0 0 D PC
1 1 1 0 0
D rej.ster
Układ Układ
sterowania sterowania
(grupa II) (grupa I)
Port A (8) Port C (4) Port C (4) Port A (8)
Układ we-wy Intel 8255
PA
PA
Szyna danych
Szyna danych
PCa
PCa
8255
8255
PCb
PCb
PB
PB
PA
PA
Szyna danych
Szyna danych
PCa
PCa
8255
8255
PCb
PCb
PB
PB
17
Szyna
D7-D0
danych
PB7-PB0
PA7-PA0
PC3-PC0
PC7-PC4
Programowalny licznik 8253
Szyna
CLK0
Bufor Licznik
danych GATE0
danych 0
OUT0
(8)
/RD
CLK1
Układy
Licznik
/WR
GATE1
zapisu,
1
A0
OUT1
odzcytu
A1
/CS
CLK2
Rejestr Licznik
GATE2
sterujący 2
OUT2
Układ szeregowego wyprowadzania danych 8251
Bufor szyny Bufor
D7-D0 TxD
danych nadajnika
Tor nadawczy
RESET /TxC
Sterowanie
/CS TxRDY
nadajnikiem
C/D Logika TxEMPTY
/RD sterująca
/WR
CLK
SYNDET
Sterowanie
/RxC
odbiornikiem
RxRDY
/DSR
Tor odbiorczy
/DTR
Logika
/CTS
sterowania
/RTS
modemem
Bufor
RxD
odbiornika
18
Szyna wewn
ę
trzna
Aącze szeregowe
V Transmisja synchroniczna
T dodatkowe łącze synchronizujące
T możliwa zmiana prędkości transmisji
T mało popularna
V Transmisja asynchroniczna
T nadajnik i odbiornik pracują ze stałą,
uzgodnioną wcześniej prędkością
T zredukowana liczba linii łączących
T skomplikowany protokół komunikacyjny
T bardzo popularna
Ramka danych
T czas trwania (prędkość transmisji)
T liczba bitów danych
T liczba bitów stopu
T tryb kontroli parzystości
T odbiornik pracuje z częstotliwością
16-razy większą
Początek
Koniec
bit
bity
Pole danych
Start parzy-
Cisza Cisza
stopu
stości
1 bit 5,6,7 lub bitów 1 bit 1 lub 2 bity
19
Układ scalony 8250
V UART - Universal Asnychronous Receiver-
Transmitter
V układ 8250 osiąga maksymalną prędkość
transmisji 56.000 bodów
V nowsze wersje 16450 i 82450
(prędkość do 115.200 bodów)
V prędkość w komputerach typu PC do 9.600
bodów
V zegar o częstotliwości 1.8432 MHz
Interfejs łącza szeregowego
V terminal - DTE - Data Terminal Equipment
V modem - DCE - Data Communication Equipment
V amerykański standard RS-232C
V standard Consultive Committe on International Telegraph
and Telephone V.24
PGND PGND
Protective GrouND 1
1
TxD TxD 2
2 Transmit Data
RxD RxD 3
3 Receive Data
RTS RTS 4
4 Request To Send
CTS CTS 5
5 Request To Clear
6
DSR DSR
6 Data Set Ready
SGND SGND 7
7 Signal GrouND
DCD DCD 8
8
Data Carrier Detect
DTR DTR 20
20
Data Terminal Ready
Terminal
Komputer
20
Topologia wyprowadzeń dla sygnałów łącza RS-232C
Nr s tyku Na zwa s ygna łu Kie rune k
s ygna łu
1 Ma s a ochronna -
2 (3) TxD Tra ns mit Da ta wy(we )
3 (2) RxD Re ce ive Da ta we (wy)
4 (7) RTS Re que s t To Se nd wy(we )
5 (8) CTS Cle a r To Se nd we (wy)
6 (6) DSR Data Set Ready we(wy)
7 (5) S G S igna l Ground -
8 (1) RLS D Re c. Line S igna l s e le ct we (wy)
20 (4) DTR Da ta Te rminal Re a dy wy(we )
22 (9) RI Ring Indica tor we /wy
2 TxD TxD
Transmit Data
2
3 RxD RxD
Receive Data
3
RTS
5
RTS 5
6 CTS
CTS 6
SGND
7
Signal GrouND
SGND 7
DSR
8
DTR 8
DTR
20
DTR 20
Terminal
Komputer
Szybkość transmisji
Szybkość Warto ść Bardziej Mnie j znac zący Błąd
trans mis ji w po dzie lnika znac zący bajt bajt wzglę dny w
bodach (dzies ię tnie ) (s ze s nas tkowo ) (s zes nastkowo) %
50 2304 09 00 0
110 1047 04 17 0,026
150 768 03 00 0
300 384 01 80 0
600 192 00 C0 0
1200 96 00 60 0
2000 58 00 3A 0,69
2400 48 00 30 0
3600 32 00 20 0
4800 24 00 180
7200 1600100
9600 12000C0
19200 6 00 06 0
38400 3 00 03 0
56000 2 00 02 2,86
115000 1 00 01 0,17
0 0 00 00 0
21
Adresy łącz RS-232C i rejestrów obsługujących
Urządzenie Obszar adresowy
logiczne (s zes nas tkowo)
COM1 03F8...03FF
COM2 02F8...02FF
COM3 03E8...03EF
COM4 02E8...02EF
Przes unięcie względem
adres u bazowego Nazwa rejes tru Uwagi
A2 A1 A0
0 0 0 bufor nadajnika tylko zapis LCR7=0
0 0 0 bufor odbiornika tylko odczyt LCR7=0
0 0 0 mniej znaczący bajt podzielnika LCR7=1
0 0 1 rejestr aktywacji przerwań LCR7=0
0 0 1 bardziej znaczący bajt podzielnika LCR7=1
0 1 0 rejestr identyfikacji przerwań tylko do odczytu
0 1 1 rejestr parametrów transmisji (LCR)
1 0 0 rejestr sterowania modemem (MCR)
1 0 1 rejestr stanu transmisji (LSR)
1 1 0 rejestr stanu modemu (MSR)
Rejestry LCR i LSR
Nr bitu Funkc ja Warto ść Znacze nie
1,0 Długość słowa 00 5 bitów
01 6 bitów
10 7 bitów
Nr bitu Zna czenie dla 1
11 8 bitów
0 s komple towa na da na w buforze
2 Bity stopu 0 1 bit
odbiornika
1 1,5 bitu gdy słowo 5 bitowe ,
1 błą d odebra nia da ne j
2 bity w pozostał. przypad.
2 błą d pa rzys toś ci
4,3 Parzystość X0 bez pa rzys tości
3 błą d ra mki
01 bit nieparzystoś ci
4 s ygna ł prze rwa nia ode bra ny na
11 bit parzystości
we jś ciu s ze re gowym
5 Odwrócenie 0 normalna parzystość
5 bufor nada jnika pus ty, za wa rtość
pa rzystości 1 zanegowana parzystość
prze ka zana do reje s tru
6 Sygnał 0 normalna pra ca wyjś cia
szeregują cego
przerwania szeregowego
6 rejestr szeregują cy opróżniony
tra ns misji 1 wymuszenie stanu 0 na
7 zawsze = 0
(bre ak) wyjś ciu sze regowym
7 Rozs ze rzenie
adresu
22
Rejestry MCR i MSR
Nr bitu Znaczenie
0 1-gdy linia CTS zmienia stan logiczny
1 1-gdy linia DSR zmienia stan logiczny
2 1-gdy stan na linii RI zmienia się z 1 na 0
3 1-gdylinia RLSD zmienia stan logiczny
4 stan linii CTS (negacja)
5 stan linii DSR (negacja)
6 stan linii RI (negacja)
7 stan linii RLSD (negacja)
Nr bitu Funkcja
0 poz. Logiczne na wyj. DTR
(negacja)
1 poz. Logiczne na wyj. RTS
(negacja)
2 wyjście OUT1 (negacja)
3 wyjście OUT2 (negacja)
4 0-normalne działanie
1-zamknięcie pętli wewnętrznego
sprzężenia w celu samotestowania
5, 6, 7 ustawione na 0
Rejestr aktywacji i identyfikacji przerwań
Nr bitu Funkcja
0 dana skompletowana w buforze odbiornika
1 bufor nadajnika pus ty
2błę dy
3 zmiany stanów sygnałów CTS, DSR, RI, RLSD
4, 5, 6, 7 nie używane
Nr bitu Warto ść Znac ze nie
0 0 is tnie je a ktywne prze rwa nie
1 nie is tnie je prze rwa nie wyma ga ją ce obs ługi
2,1 00 je dno z czte re ch prze rwa ń re je s tru
01 mode mu-na jniższy priorytet
10 pus ty bufor na da jnika
11 s komple towa na da na w buforze odbiornika
je dno z czte re ch prze rwa ń błę dów w
rejestrze stanu transmisji-najwyższy
prioryte t
23
Interfejs równoległy
V dwukierunkowa magistrala danych
V szerokość 8-32 bitów
V linie sterujące (handshake)
V Intel 8255, Zilog PIO, Motorola MCY 7855
V GPIO typu HP82940A firmy Hewlett-Packard
(16 bitów)
V interfejs równoległy do drukarek (8 bitów, <8 m)
V jeżeli długość przewodu jest mniejsza niż 1m
szybkość transmisji dochodzi do 1 MB/s
Oznaczenia linii gniazda Centronics
Nr wyprowadzenia Nazwa
1 /STR Strobe
2-9 Data0-7
10 /ACK Acknowledge
11 BUSY
12PAP Paper
13 ONOF online/offline
14 /ALF Auto Line Feed
15 ERR Error
16 /INI Initialization
17 /DSL Detect Select
18-25 (GND)
24
Interfejsu Centronics (zależności czasowe)
D0-D7
/Data Strobe
/ACKNLG
Busy
/Data Strobe
/ACKNLG
Busy
DMA - Direct Memory Access
V bezpośredni dostęp do pamięci dla urządzeń
peryferyjnych
Układ
Processor Pamięć
we-wy
Kontroler
DMA
25
Kontroler DMA - Intel 8237A
kontroler 8-bitowy, łączony w pary może pracować
jako 16-bitowy
układ obsługuje 4 kanały
urządzenie żądające obsługi wysyła sygnał DREQ
(DMA Request)
następnie 8237A przejmuje kontrole na magistralą
systemu i przeprowadza transmisję
procesor jest wolny , ale nie może użyć magistrali
adresowej i danych - częściowym rozwiązaniem
problemu jest pamięć typu cache
Kontroler DMA - Intel 8237A
V aktualnie układ 8237A może znajdować się wewnątrz układu
VLSI, przykładem takiego układu jest 82C206, który
dodatkowo zawiera: programowalne generatory przebiegów
czasowych, kontroler przerwań i pamięć CMOS
V możliwość pracy w trybie master-slave (7 kanałów)
T wszystkie kanały mają priorytety (0-najwyższy, 3 najniższy)
T kanały układu slave mają wyższy priorytet od kanałów układu master
HRQ HRQ
Kanał 7 Kanał 3
HLDA
HLDA
Kanał 6 Kanał 2
Procesor CPU 8237A 8237A
Kanał 5 Kanał 1
MASTER SLAVE
DREQ0
Kanał 0
Kanał 4
DACK0
26
Tryby pracy kontrolera DMA
I Idle
kontroler jest w stanie spoczynku
testowane są wejścia DREQn
po wykryciu żądania zwolnienia magistrali kontroler
ustawia wyjście HRQ żądając od układu kontrolującego
magistrale zwolnienia jej
układ taki odpowiada sygnałem HLDA i odłącza się od
magistral.
kontroler potwierdza sygnałem DACKn i rozpoczyna
transmisje
cały czas jest sprawdzane wejście /CS. Jeżeli ma one
wartość logicznego zera to układ przechodzi w tryb
programowania
Tryby pracy kontrolera DMA
S single
wykonywane jest pojedyncze przesłanie
rejestr transmisji jest zmniejszany o jeden, a licznik adresowany
może być zwiększany lub zmniejszany o jeden
następne przesłanie wymaga ponownego żądania DREQn
B block
transmisja trwa do momentu wystąpienia sygnału EOP lub
osiągnięcia stanu FFFF przez licznik transmisji
D demand
transmisja trwa do momentu wystąpienia sygnału EOP,
osiągnięcia stanu FFFF przez licznik transmisji, zaniku sygnału
DREQn lub nadejścia żądania obsługi o wyższym priorytecie
27
Tryby pracy kontrolera DMA
C cascade
w trybie tym przekazywane są tylko sygnały od
układu master
układ pracujący w trybie slave nie wystawia na
magistrali systemowej adresu, ani innych sygnałów
sterujących
V verify
układ pracuje jak podczas transmisji ale nie generuje
sygnałów dostępu do pamięci i urządzeń wejścia
wyjścia (/IOR, /IOW, /MEMR, /MEMW)
tryb ten służy do diagnostyki
Przebieg transmisji
V urządzenie obsługi zgłasza żądanie obsługi DREQn
V kontroler 8237A przejmuje od procesora kontrolę nad magistralą
systemową
V kontroler 8237A wystawia na liniach A0-A7 bardziej znaczącą
adresu, która jest zatrzaskiwana w rejestrze sygnałem ADSTB,
rejestr strony przekazywany jest przez CPU
V rejestr strony, adres zapisany w rejestrze zatrzaskowym i
aktualny adres zapisany na liniach adresowych układu 8237A
tworzą 20-bitowy adres na magistrali adresowej systemu
V układ 8237A aktywuje sygnał /MEMR
V sterownik pamięci wystawia na magistralę danych zawartość
adresowanej komórki pamięci
V układ 8237A aktywuje sygnał /IOW
V urządzenie wejścia-wyjścia pobiera z magistrali danych bajt i
zapisuje go w swoim buforze
28
Wytwarzanie adresu w transmisji DMA
24-bitowa szyna adresowa
Rejestr Rejestr strony
zatrzaskowy DMA
8237A
(kontroler DMA)
ADSTB
Mikrokomputer jednoukładowy
(ang. single chip microcomputer)
V Jest to układ scalony zawierający w sobie wszystkie
bloki funkcjonalne tworzące mikrokomputer
(jednostka centralna, pamięć, układy wejścia wyjścia)
V Stosowany głównie w małych systemach
mikroprocesorowych
V Zalety:
małe wymiary
wysoka niezawodność
niska cena
małe koszty projektowania i realizacji systemu
29
A8-A
1
5
A0-A7
A
1
6-A23
ustwiany
przez CPU
Mikrokomputer jednoukładowy - Intel 8051
V 8-bitowa jednostka centralna może
wykonywać 111 rozkazów (49 jedno-,
45 dwu- i 17 trzybajtowych)
V Zegar do 12 MHz
V Wewnętrzna pamięć programu, typu ROM
4 kB. Możliwość rozszerzenia do 64 kB
V Wewnętrzna pamięć danych typu RAM 128
bajtów . Możliwość rozszerzenia do 64 kB
Mikrokomputer jednoukładowy - Intel 8051
(c.d.)
V Układ czasowo-licznikowy zawiera dwa
16-bitowe liczniki
V 32 linie wejścia wyjścia. Pogrupowane
w cztery 8-bitowe porty
V Port szeregowy
V Układ przerwań (dwa zewnętrzne, dwa od
układu czasowo-licznikowego i jedno od
układu szeregowego wejścia-wyjścia)
30
Intel 8051 - schemat funkcjonalny
Pamięć Pamięć
Zegar programu danych
ROM RAM
8-bitowa
jednostka
centralna
Układ Szeregowe
System Wejście-
czasowo- wejście-
przerwań wyjście
licznikowy wyjście
RXD-P3.0
TXD-P3.1
T0-P3.4
T1-P3.5
INT0-P3.2
INT1-P3.3
Jednostka arytmetyczno-logiczna (8051)
V operacje arytmetyczne
dodawanie i odejmowanie
mnożenie i dzielenie 8-bitowych liczb bez znaku
zwiększanie i zmniejszanie o 1 zawartości akumulatora
korekcja dziesiętna wyniku
V operacje logiczne
iloczyn (AND), suma (OR), różnica symetryczna
(EXOR)
negacja (NOT)
przesuwanie w lewo i w prawo
31
8-bitów P3
8-bitów P2
8-bitów P
1
8-bitów P0
Uniwersalne rejestry robocze
(ang. working registers)
cztery zbiory rejestrów oznaczonych R0-R7 o adresach
0-7, 8-15, 16-23 i 24-31
programowo dostępne przez nazwę
w danej chwili dostępny jest tylko jeden zbiór
rejestrów
o tym, który zbiór rejestrów jest aktualnie dostępny
decyduje dwubitowy wskaznik (register bank switch)
zawarty w słowie stanu programu PSW
R0 i R1 używane są jako wskazniki danych (data
pointers)
Rejestry specjalne SFR
(ang. special function registers)
V znajdują się w obszarze pamięci o adresach 128-
255
V mikrokomputer jednoukładowy 8052 posiada 256
bajtów pamięci użytkowej, adresy komórek od 128
do 255 muszą być adresowane przez rejestry R0 lub
R1
V wśród rejestrów specjalnych znajdują się:
akumulator
rejestr B, słowo stanu programu
wskaznik stosu, porty P0-P3
liczniki T0 i T1
32
Porty
V cztery ośmiobitowe oznaczone P0-P3
V każdy jest dwukierunkowy
V P0 może pełnić rolę multipleksowanej
magistrali adresowej i danych
V P3 może obsługiwać komunikację szeregową
V linie portów P1, P2 i P3 mogą być obciążone
prze jedno standardowe wejście TTL lub
cztery TTL LS
V linie portu P0 mogą być obciążone przez dwa
standardowe wejście TTL lub osiem TTL LS
Układ czasowo-licznikowy
(ang. timer-counter)
V zawiera dwa 16-bitowe liczniki T0 i T1
V mogą one zliczać impulsy zewnętrzne spełniając
funkcję licznika (ang. event counter)
V mogą one zliczać impulsy wewnętrzne spełniając
funkcję czasomierza (ang. timer)
V każdorazowo po przepełnieniu licznika generowany
jest sygnał przerwania
V stan liczników jest dostępny programowo jako
rejestry specjalne pod adresami: TH0-8CH, TL0-
8AH, TH1-8DH i TL1-8BH
33
Układ czasowo-licznikowy (c.d.)
V mogą pracować w czterech trybach
T w trybie 0 liczniki T0 i T1 pracują jako 13-
bitowe po przepełnieniu generują przerwanie i
zaczynają zliczanie od zera
T w trybie 1 liczniki T0 i T1 pracują
analogicznie jak w trybie 0, z tą różnicą, że są
16 bitowe
T w trybie 2 liczniki T0 i T1 pracują jako
liczniki 8-bitowe z automatycznym wpisaniem
wartości początkowej
T w trybie 3 licznik T1 nie pracuje, a licznik T0
pracuje jak dwa niezależne 8-bitowe licznik
Port szeregowy
V zamiana informacji z równoległej na
szeregową i na odwrót oraz sterowanie
wysyłaniem słowa odbywa się automatycznie
V port może pracować w jednym z czterech
trybów:
T 1 - transmisja synchroniczna, słowa 8-bitowe,
taktowanie sygnałem zegarowym
T 2 - transmisja asynchroniczna, słowa 8-bitowe
T 3 - transmisja synchroniczna, słowa 9-bitowe,
taktowanie 1/32/ lub 1/64 częstotliwości zegara
T 4 - transmisja asynchroniczna, słowa 9-bitowe
34
System przerwań
V mogą występować przerwania z zewnątrz
z wejść INT0 i INT1, z układu czasowo-
licznikowego T0 i T1 oraz z portu
szeregowego
V przerwania można maskować (rejestr IE)
V priorytet obsługi można ustawiać korzystając
z rejestru IP.
V przerwania zewnętrzne (INT0 i INT1) mogą
być zgłaszane opadającym lub narastającym
zboczem
35
Wyszukiwarka
Podobne podstrony:
bank temat slajdyslajdyMM2I Wybrane zagadnienia Internetu SLAJDY [tryb zgodności]utk 2 prawa logiczneutk uklad binarnyslajdySlajdy siecBADANIE PŁYNU MOZGOWO RDZENIOWEGO ćw 2 2 slajdy[tryb zgodności]Slajdy Wybrane Wykład 1utk2 pamieci masoweSlajdy TPMslajdy4utk cw 3 1 karta graficzna teoriaArchitektura IBM PC na slajdy2więcej podobnych podstron