Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałEmeryk Pytko Został zmieniony 11 lat temu
1
Technika Mikroprocesorowa - informacje podstawowe
2
Zasada budowy i działania mikroprocesora
Treść wykładu /46 Zasada budowy i działania mikroprocesora Historia Architektury Podstawowe pojęcia Funkcjonowanie procesorów Tryby adresowania operandów rozkazów Przykłady procesorów
3
Budowa i działanie mikroprocesora 3/46
1011 0111 A B CIN Σ COUT COUT=(A+B+CIN) / 16 1 W W=(A+B+CIN) mod 16 10010 0010 A+B+CIN = W+16·COUT
4
Budowa i działanie mikroprocesora 4/46
ALU A B W COUT CIN S2..S0
5
Budowa i działanie mikroprocesora 5/46
S2..S0 ALU COUT CIN
6
Budowa i działanie mikroprocesora 6/46
F TEMP2 TEMP1 ALU CY S2..S0 rozkaz 1a. Pobranie argumentu #1 sekwencja działań 1b. Pobranie argumentu #2 sekwencyjny układ sterujący 2. Działanie ALU 3. Zapisanie wyniku
7
Budowa i działanie mikroprocesora 7/46
F TEMP2 TEMP1 ALU CY n-1 n pamięć programu rejestr rozkazu rozkaz 1. Pobranie rozkazu 2. Dekodowanie rozkazu licznik rozkazów sekwencyjny układ sterujący 3a. Pobranie argumentu #1 3b. Pobranie argumentu #2 4. Działanie ALU 5. Zapisanie wyniku
8
Budowa i działanie mikroprocesora 8/46
Przykład programu: suma 3 liczb z rej. B, C i D umieszczona w rej. A (A := B + C + D) wymaga to następujących działań: 1. CY := 0 , np. poprzez A:=AA 2. A := B + C 3. CY := 0 , np. poprzez A:=AA 4. A := A + D Zał: sposób kodowania rejestrów roboczych: 000 001 010 011 100 101 A B C D E F Kody rozkazów: A:=AA: A:=B+C: A:=A+D: 000 100 001 010 011
9
wykorzystanie maszyn liczących Holleritha do spisu ludności w USA
Historia /46 wykorzystanie maszyn liczących Holleritha do spisu ludności w USA 1643 mechaniczny sumator Pascala „młyn arytmetyczny” - projekt Babbage’a maszyna licząca Leibniza kalkulator Thomasa algebra Boole’a 1670 1820 1833 1854 1889 Ilustracje:
10
ENIAC Pensylwania ukoń. 1946
Historia /46 4040 1MHz MHz MARK1 Harward Altair 400$ „zrób sam” (1975) kHz programowalne elektro-mech. kalkulatory Z1 , Z2 , Z3 Konrad Zuse, Anglia logika SSI i MSI ENIAC Pensylwania ukoń. 1946 kHz 8085 3MHz Z80 2,5MHz logika tranzystorowa 1900 Alan Turing John von Neumann 1943 1944 1958 1965 1971 1972 1974 1976 Ilustracje:
11
Historia /46 Pentium P5 4GB RAM superskalarność FP unit, 8kB/46kB L1 60-200MHz 80386 4GB RAM wielozadaniowość 16-33MHz 80486 4GB RAM FP unit, 8kB L1 16-133MHz 8086 1MB RAM 5-10MHz 80286 16MB RAM 6-16MHz 8088 1978 1979 1981 1985 1989 1990 1993 RISC 1 i 2 Berkeley pierwszy ARM Am486DXx 80-133MHz
12
przetw. danych wideo, audio, grafiki
Historia /46 Pentium MMX przetw. danych wideo, audio, grafiki MHz 1993 Pentium P5 4GB RAM superskalarność FP unit, dzielony cache 60-200MHz Pentium III techn. 3D-FP 0,45-1,1GHz Pentium 4 przetw. danych multimedialnych 1,3-1,8GHz Itanium techn. IA-64 1,3-1,8GHz Pentium Pro dalszy rozwój superskalarności MHz Pentium II techn. MMX MHz 1995 1996 1997 1998 1999 2000 2001 Celeron MHz Celeron II MHz AMD K6 MHz AMD K5 75-166MHz Athlon 0,5-1GHz
13
Historia /46 68000 32MB RAM 8-20MHz 32b ALU 16b DATA-BUS 68020 4GB RAM 32b DATA-BUS 16-33MHz 68040 FP unit 8kBcache do 50MHz 68060 FP unit 8kBcache do 75MHz 68030 4GB RAM 20-50MHz 6800 6809 1974 1977 1979 1984 1987 1990 1992
14
uwspółcześniona koncepcja von Neumana pierwotna koncepcja von Neumana
Architektury /46 PROCESOR PAMIĘĆ OPERACYJNA URZĄDZENIA WE/WY uwspółcześniona koncepcja von Neumana MAGISTRALA SYSTEMOWA PROCESOR PAMIĘĆ OPERACYJNA URZĄDZENIA WE/WY pierwotna koncepcja von Neumana
15
Architektury - pojęcia 15/46
Pamięć operacyjna - układy służące przechowywaniu: programów podczas ich wykonywania; danych dla tych programów; wyników ich pracy. Urządzenia zewnętrzne - układy pośredniczące w wymianie informacji pomiędzy systemem mikrokomputerowym a: człowiekiem (urz. operatorskie); otoczeniem fizycznym (urz. obiektowe); innymi systemami (urz. komunikacyjne).
16
struktura współczesnego komputera zgodnego z koncepcją von Neumana
Architektury /46 struktura współczesnego komputera zgodnego z koncepcją von Neumana blok rejestrów magistrala wewnętrzna urządzenia zewnętrzne pamięć danych i programu flagi b u f o r y s y g n. z e w n. A B ALU rejestr rozkazu układ sterowania rejestr adresów PC licznik rozkazów wspólne magistrale danych, adresów i sterowań procesor
17
struktura komputera typu Harvard
Architektury /46 struktura komputera typu Harvard blok rejestrów wewnętrzna magistrala danych urządzenia zewnętrzne pamięć danych flagi A B ALU rejestr rozkazu układ sterowania rejestr adresów danych PC licznik rozkazów wspólna magistrala pamięci danych i urz. zewn. procesor b u f o r y s y g n. z e w n. wewnętrzna magistrala rozkazów pamięć programu wydzielona magistrala pamięci programu
18
struktura komputera typu Harvard wersja oszczędnościowa
Architektury /46 struktura komputera typu Harvard wersja oszczędnościowa blok rejestrów wewnętrzna magistrala danych urządzenia zewnętrzne pamięć danych flagi A B ALU rejestr rozkazu układ sterowania rejestr adresów danych PC licznik rozkazów procesor b u f o r y s y g n. z e w n. wewnętrzna magistrala rozkazów pamięć programu rozdzielone linie sterujące wspólne linie danych i adresów
19
Typowe składniki wewnętrznej struktury procesorów
Architektury /46 Typowe składniki wewnętrznej struktury procesorów Powszechnie spotyka się: rejestry uniwersalne; rejestry dedykowane (akumulatory, liczniki rozkazów, wskaźniki stosu, rejestry adresujące, rejestry stanu i sterujące, rejestry przesuwające); dekodery (rozpoznające kody rozkazów); liczniki; jednostki arytmetyczno-logiczne (ALU); układy sterowania sekwencyjnego (sieci działań realizujące mikroprogramy); bufory sygnałów zewnętrznych; wewnętrzne magistrale. Rzadziej: wbudowane pamięci danych lub programu.
20
Architektury /46 przykład rejestru stanu procesora S - flaga znaku, najbardziej znaczący bit wyniku operacji Z - flaga zera, =1 gdy wynik operacji jest równy 0 H - flaga przeniesienia połówkowego przy dodawaniu lub pożyczki przy odejmowaniu (między bitami 3 i 4) P/V - flaga parzystości po operacjach logicznych (=1 przy parzystej liczbie „1” w wyniku) albo nadmiaru po operacjach arytmetycznych N - flaga odejmowania C - flaga przeniesienia
21
urządzeń zewnętrznych.
Podstawowe pojęcia /46 Mikroprocesor uniwersalny - procesor wymagający przy konstruowaniu systemu mikroprocesorowego (systemu mikrokomputerowego) dołączenia zewnętrznych układów: pamięci operacyjnej; urządzeń zewnętrznych. Mikrokomputer jednoukładowy - układ scalony zawierający: właściwy procesor (np. rdzeń procesora uniwersalnego); pamięć operacyjną (całą dostępną lub jej część); wybrane urządzenia zewnętrzne (porty we/wy); podstawowe układy sterujące systemem (np. kontroler przerwań, dekodery adresu, układ resetu, generator taktu).
22
Podstawowe pojęcia /46 szerokość słowa procesora (słowa maszynowego) - ilość bitów słów binarnych, które mogą być przetwarzane przez większość rozkazów procesora przestrzeń adresowa - zakres adresów jakimi może operować dany mikroprocesor przy odwołaniach do komórek pamięci lub rejestrów urządzeń zewnętrznych stos - specyficzna struktura danych, działająca jak rejestr LIFO, może być zrealizowany jako: wbudowana struktura sprzętowa albo stos programowy
23
Funkcjonowanie - przetwarzanie rozkazów 23/46
Sekwencja działań procesora przy przetwarzaniu pojedynczego rozkazu cykl rozkazowy (CR) - odcinek czasu niezbędny do pobrania i wykonania danego rozkazu cykl maszynowy (CM) - odcinek czasu niezbędny do realizacji elementarnego odwołania do pamięci lub urządzenia we/wy
24
Funkcjonowanie - architektura von Neumana 24/46
Cykl realizacji rozkazu - ilustracja dla struktury von Neumana rejestry robocze urządzenia zewnętrzne pamięć danych i programu flagi ALU RR US rej. adr. PC procesor DR
25
Funkcjonowanie - architektura von Neumana 25/46
Cykl realizacji rozkazu - ilustracja dla struktury von Neumana dekodowanie rozkazu pobranie rozkazu pobranie rozkazu pobranie rozkazu pamięć danych i programu zapamiętanie wyniku flagi US rej. adr. ALU rej. adr. RR US rej. adr. PC DR procesor pobranie argumentu dekodowanie rozkazu dekodowanie rozkazu rej.tym. rej.adr. rej.adr. rejestry robocze flagi ALU RR DR RR pobranie argumentu wykonanie operacji pobranie argumentu rej.tym. PC rej. adr. ALU wykonanie operacji zapamiętanie wyniku wykonanie operacji DR rejestry robocze US flagi urządzenia zewnętrzne zapamiętanie wyniku
26
Funkcjonowanie - architektura Harvard 26/46
Cykl realizacji rozkazu - ilustracja dla struktury Harvard pobranie rozkazu[PC] pobranie rozkazu rejestry robocze I/O pamięć danych flagi ALU RR US rej.adr PC procesor pamięć programu DR pobranie rozkazu[PC+1] pobranie rozkazu[PC+1] rej. tymcz. rej.adr dekodowanie rozkazu dekodowanie rozkazu dekodowanie rozkazu dekodowanie rozkazu rej. tymcz pobranie argumentu pobranie argumentu wykonanie operacji wykonanie operacji zapamiętanie wyniku zapamiętanie wyniku
27
Funkcjonowanie - przetwarzanie rozkazów 27/46
Schematy przetwarzania sekwencji rozkazów
28
Funkcjonowanie - przetwarzanie rozkazów 28/46
Schematy przetwarzania sekwencji rozkazów c.d. Warunek realizowalności: podział wewnętrznej struktury procesora na niezależnie działające bloki Zalecana architektura typu Harvard
29
Funkcjonowanie - przetwarzanie rozkazów 29/46
Schematy przetwarzania sekwencji rozkazów c.d. Warunki realizowalności: zwielokrotnione układy wewnętrzne procesora; odpowiednie oprogramowanie
30
Funkcjonowanie - tryby adresowania 30/46
tryby adresowania - sposoby wskazywania w kodzie rozkazów umiejscowienia ich argumentów i wyników (zwanych ogólnie operandami) kod arg arg wyn rozkaz: tryby adresowania mogą być: proste - jednoskładnikowe (pojedyncze słowo binarne wskazujące lokalizację operandu); dwuskładnikowe (adres operandu powstaje jako suma dwóch słów binarnych); wieloskładnikowe (na adres operandu składają się więcej niż 2 słowa binarne).
31
Funkcjonowanie - tryby adresowania 31/46
Jednoskładnikowe tryby adresowania natychmiastowy kod rozkazu argument rejestrowy operand kod rozkazu Rx: bezpośredni kod rozkazu adres PAO PAO rejestrowy pośredni adres kod rozkazu Rx: pośredni kod rozkazu adres PAO
32
Funkcjonowanie - tryby adresowania 32/46
Dwuskładnikowe tryby adresowania adres operandu = baza + przemieszczenie Składniki te traktuje się jako zmienne, jeżeli są pobierane z rejestrów procesora, albo stałe - gdy są dostarczane razem z kodem rozkazu. baza - powinna być słowem binarnym o długości umożliwiającej dostęp do całej przestrzeni adresowej przemieszczenie - może być słowem krótszym od bazy, zapisanym w kodzie NB lub U2 Podstawowe warianty trybów dwuskładnikowych: przemieszczenie stałe przemieszczenie zmienne baza stała - indeksowy baza zmienna bazowy bazowo-indeksowy
33
Funkcjonowanie - tryby adresowania 33/46
Dwuskładnikowe tryby adresowania - przykłady bazowy baza kod rozkazu d PAO Rx: indeksowy d kod rozkazu baza PAO Ry: bazowo-indeksowy baza kod rozkazu d PAO Rx: Ry:
34
Funkcjonowanie - tryby adresowania 34/46
Dwuskładnikowe tryby adresowania - przykłady adresowanie względne baza kod rozkazu dU2 PAO PC: PC: adresowanie indeksowo-względne d kod rozkazu PAO baza Ry: adresowanie stronicowe - położenie operandu jest określane jako adres względem początku wskazanej strony pamięci adresowanie segmentowe - położenie operandu jest określane jako adres względem początku aktualnie używanego segmentu pamięci
35
Funkcjonowanie - tryby adresowania 35/46
Trójskładnikowe tryby adresowania - przykłady bazowo-indeksowy z przesunięciem baza kod rozkazu d indeks PAO Rx: Ry: bazowo-indeksowy skalowalny z przesunięciem baza kod rozkazu d indeks S SRy PAO Rx: Ry:
36
Struktura 8-bitowego mikroprocesora uniwersalnego CISC - Z80
Procesory - CISC /46 CISC - (Complex Instruction Set Computer) - klasyczne procesory o rozbudowanej ( ) liście rozkazów Struktura 8-bitowego mikroprocesora uniwersalnego CISC - Z80
37
Schemat blokowy 8086/88 Procesory - CISC 37/46 EU jednostka wykonawcza
AH AL BH BL CH CL DH DL SP BP DI SI szyna adresowa 20b CS DS SS ES IP rejestry komunikacji wewn. ALU rejestry chwilowe znaczniki układ sterowania jednostką wykonawczą wewnętrzna szyna danych EU jednostka wykonawcza kolejka rozkazów: 6B w 8086, 4B w 8088 jednostka złącza BIU układ ster. szyną i bufory multipleksowana szyna danych/adresów (16b danych w 8086, 8b danych w 8088)
38
Schemat blokowy Pentium 4
Procesory - CISC /46 Schemat blokowy Pentium 4 Pamięć podręczna danych L1 8kB Blok rejestrów FP Blok rejestrów całkowitoliczbowych Jednostka FPU/MMX ALU złożonych liczb całk. ALU prostych liczb całk. układ łado-wania adresu układ przecho-wywania adresu Jednostka przeno-szenia liczb FP Pamięć podręczna L2 256kB Pamięć podręczna rozkazów L1 12k mikrooperacji Jednostka pobierania i dekodowania rozkazów Układy wykonywania rozkazów poza kolejnością 256b 64b magistrala systemowa
39
Cechy listy rozkazów procesora RISC:
Procesory - RISC /46 RISC - (Reduced Instruction Set Computer) - procesory o zredukowanej (około 100) liczbie rozkazów Cechy listy rozkazów procesora RISC: dostęp do pamięci operacyjnej jest możliwy tylko rozkazami przesłań; operandy wszystkich rozkazów znajdują się tylko w rejestrach wewnętrznych procesora; rozkazy mają stały (jednakowy) format (długość w bitach); ograniczenie dostępnych trybów adresowania.
40
Różnice pomiędzy procesorem RISC a CISC:
Procesory - RISC /46 Różnice pomiędzy procesorem RISC a CISC: zastosowanie przetwarzania potokowego, co daje skrócenie czasu wykonywania rozkazów; dzięki małej liczbie rozkazów o stałym formacie i prostym trybom adresowania, uzyskuje się uproszczony i szybko działający układ sterowania; często wykorzystuje się architekturę typu Harvard; przy dużej liczbie rejestrów procesora możliwa jest sprzętowa realizacja stosu, co przyśpiesza wywoływanie i zagnieżdżanie podprogramów. Przykłady procesorów RISC: IBM801, AM29000, Intel 80960, MIPS R2000/R3000, Motorola 88100, Sun SPARC (1988/469), rodzina PowerPC
41
Procesory - RISC /46 Przykład 8-bitowego mikrokomputera jednoukładowego RISC Harvard z rodziny AVR Atmela
42
Schemat blokowy Itanium 2
Procesory - RISC /46 Schemat blokowy Itanium 2 B M I F rozgałęzienie i predykacja 128 rejestrów całkowitoliczbowych 128 rejestrów zmiennopozycyjnych jednostki rozgałęzień jednostki całkowito- liczbowe i MMU 16kB cache L1 danych 2-portowa ALAT jednostki zmienno- pozycyjne sterownik magistrali 96kB cache L2 dekodo- wanie i stero- wanie przewidywane rozgałęzienie tablica wyników, bity predykacji, wyjątki 4MB cache L3 16kB cache L1 rozkazów ITLB
43
Cechy procesorów DSP (Digital Signal Processing):
Procesory - DSP /46 Cechy procesorów DSP (Digital Signal Processing): wykorzystanie arytmetyki stałopozycyjnej (16b) lub zmiennopozycyjnej (32b na cechę i mantysę); rozbudowane moduły arytmetyki - zrównoleglone, sprzętowe układy mnożące realizujące operacje w jednym cyklu; rejestry dedykowane dla układów arytmetyki znacząco “dłuższe” od słowa maszynowego procesora (np. 80b przy słowie 32b-ym); jednostka ALU mogąca jednocześnie obliczać sumy i różnice argumentów; wbudowany cykliczny rejestr przesuwający, realizujący wielobitowe obroty i przesunięcia w jednym cyklu;
44
Cechy procesorów DSP - c.d.
Procesory - DSP /46 Cechy procesorów DSP - c.d. co najmniej zdwojone układy generacji adresów, celem przyśpieszenia dostępów do pamięci; architektura Harvard; wbudowana pamięć RAM, co najmniej dwuportowa , o pojemności wystarczającej dla większości zastosowań; możliwość akceptacji większej liczby przerwań zewnętrznych; system przerwań wielopoziomowy i priorytetowy; wbudowane układy do sprzętowej realizacji pętli programowych; w zaawansowanych procesorach większość podstawowych rozkazów może być wykonywana warunkowo; wbudowane interfejsy do zewnętrznych przetworników A/C i C/A (najczęściej szybkie szeregowe);
45
Procesory - DSP /46 Dziedziny zastosowań procesorów DSP: sterowanie silnikami asynchronicznymi; systemy GPS; obróbka i kompresja dźwięku; przetwarzanie i rozpoznawanie sygnałów mowy; kompresja sygnału mowy; pomiary dźwięków; obróbka obrazu; telefonia cyfrowa - automaty zgłoszeniowe i informacyjne; wideotelefony; modemy; mierniki mocy prądu 1- i 3-fazowego.
46
Struktura blokowa 32-bitowego procesora ADSP2106x SHARC
Procesory - DSP /46 Struktura blokowa 32-bitowego procesora ADSP2106x SHARC
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.