1 / 46

Technika Mikroprocesorowa - informacje podstawowe

Technika Mikroprocesorowa - informacje podstawowe. Treść wykładu 2 /46. Zasada budowy i działania mikroprocesora. Historia. Architektury. Podstawowe pojęcia. Funkcjonowanie procesorów.

dixon
Download Presentation

Technika Mikroprocesorowa - informacje podstawowe

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Technika Mikroprocesorowa- informacje podstawowe

  2. Treść wykładu 2/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. A B CIN COUT COUT=(A+B+CIN) / 16 WW=(A+B+CIN) mod 16 Budowa i działanie mikroprocesora 3/46 1011 0111 Σ 0 1 10010 0010 A+B+CIN = W+16·COUT

  4. A B COUT CIN ALU S2..S0 W Budowa i działanie mikroprocesora 4/46

  5. A B COUT CIN ALU S2..S0 W Budowa i działanie mikroprocesora 5/46

  6. A B TEMP1 TEMP2 C D ALU CY E S2..S0 F rozkaz sekwencjadziałań Budowa i działanie mikroprocesora 6/46 1a. Pobranie argumentu #1 1b. Pobranie argumentu #2 sekwencyjnyukład sterujący 2. Działanie ALU 3. Zapisanie wyniku

  7. A B pamięćprogramu TEMP1 TEMP2 C D ALU CY E F Budowa i działanie mikroprocesora 7/46 01234.....n-1n rejestr rozkazu rozkaz 1. Pobranie rozkazu 2. Dekodowanie rozkazu licznik rozkazów sekwencyjnyukład sterujący 3a. Pobranie argumentu #1 3b. Pobranie argumentu #2 4. Działanie ALU 5. Zapisanie wyniku

  8. Zał: sposób kodowania rejestrów roboczych: 000 001 010 011 100 101 A B C D E F Kody rozkazów: A:=AA: A:=B+C: A:=AA: A:=A+D: 000 000 100 100 001 000 000 000 000 011 010 000 000 000 000 000 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:=AA 2. A := B + C 3. CY := 0 , np. poprzez A:=AA 4. A := A + D

  9. mechanicznysumatorPascala 1643 Historia 9/46 wykorzystanie maszyn liczących Holleritha do spisu ludności w USA „młyn arytmetyczny” - projekt Babbage’a maszynaliczącaLeibniza kalkulator Thomasa algebraBoole’a 1670 1820 1833 1854 1889 Ilustracje:http://www.phys.uni.torun.pl/~duch/books-fsk/historia/timeline.pdf

  10. 1900 Historia 10/46 40401MHz80802MHz MARK1Harward Altair 400$ „zrób sam” (1975) 8008200kHz logikaSSI i MSI programowalneelektro-mech. kalkulatory Z1 , Z2 , Z3Konrad Zuse, Anglia ENIACPensylwaniaukoń. 1946 4004108kHz 80853MHzZ802,5MHz logikatranzystorowa Alan Turing John von Neumann 1943 1944 1958 1965 1971 1972 1974 1976 1938..41 Ilustracje:http://www.phys.uni.torun.pl/~duch/books-fsk/historia/timeline.pdf

  11. Historia 11/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 1981 1985 1989 1990 1993 1979 1978 RISC 1 i 2 Berkeley pierwszy ARM Am486DXx 80-133MHz

  12. Pentium P5 4GB RAM superskalarność FP unit, dzielony cache 60-200MHz 1993 Historia 12/46 Pentium MMX przetw. danych wideo, audio, grafiki 166-266MHz 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 150-200MHz Pentium II techn. MMX 233-450MHz 1996 1995 1997 1998 1999 2000 2001 Celeron 266-533MHz Celeron II 433-700MHz AMD K6 166-500MHz AMD K5 75-166MHz Athlon 0,5-1GHz

  13. Historia 13/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 1977 1984 1987 1990 1992 1974 1979

  14. pierwotna koncepcja von Neumana uwspółcześniona koncepcja von Neumana PROCESOR PAMIĘĆ OPERACYJNA MAGISTRALA SYSTEMOWA URZĄDZENIA WE/WY PROCESOR URZĄDZENIA WE/WY URZĄDZENIA WE/WY PAMIĘĆ OPERACYJNA Architektury 14/46

  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. procesor buforysygn.zewn. pamięć danych i programu magistrala wewnętrzna A wspólnemagistraledanych, adresówi sterowań rejestrrozkazu PC licznikrozkazów rejestradresów ALU B blok rejestrów układsterowania flagi urządzenia zewnętrzne Architektury 16/46 struktura współczesnego komputera zgodnegoz koncepcją von Neumana

  17. pamięć danych urządzenia zewnętrzne procesor buforysygn.zewn. wewnętrzna magistrala danych wspólna magistralapamięci danychi urz. zewn. A rejestradresówdanych ALU układsterowania B blok rejestrów PC licznikrozkazów flagi wydzielona magistralapamięci programu rejestrrozkazu pamięć programu wewnętrzna magistrala rozkazów Architektury 17/46 struktura komputera typu Harvard

  18. pamięć danych urządzenia zewnętrzne procesor buforysygn.zewn. wewnętrzna magistrala danych A wspólne liniedanych i adresów rejestradresówdanych ALU układsterowania B rozdzielone linie sterujące blok rejestrów PC licznikrozkazów flagi rejestrrozkazu pamięć programu wewnętrzna magistrala rozkazów Architektury 18/46 struktura komputera typu Harvard wersja oszczędnościowa

  19. Architektury 19/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. 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 Architektury 20/46

  21. Podstawowe pojęcia 21/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 22/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ń procesoraprzy 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. pamięć danych i programu procesor RR PC rej.adr. ALU DR rejestryrobocze US flagi urządzenia zewnętrzne Funkcjonowanie - architektura von Neumana 24/46 Cykl realizacji rozkazu - ilustracja dla struktury von Neumana

  25. pobranie rozkazu dekodowanie rozkazu dekodowanie rozkazu RR RR pobranie argumentu pobranie argumentu rej.tym. rej.tym. PC rej.adr. rej.adr. rej.adr. rej.adr. rej.adr. ALU ALU wykonanie operacji wykonanie operacji DR DR rejestryrobocze US US flagi flagi zapamiętanie wyniku zapamiętanie wyniku Funkcjonowanie - architektura von Neumana 25/46 Cykl realizacji rozkazu - ilustracja dla struktury von Neumana pobranie rozkazu pobranie rozkazu pamięć danych i programu procesor dekodowanie rozkazu RR pobranie argumentu PC rej.adr. ALU wykonanie operacji DR rejestryrobocze US flagi urządzenia zewnętrzne zapamiętanie wyniku

  26. pamięć danych I/O procesor rej.adr rej.tymcz. US ALU DR rejestryrobocze PC flagi RR pamięć programu rej.tymcz rej.adr Funkcjonowanie - architektura Harvard 26/46 Cykl realizacji rozkazu - ilustracja dla struktury Harvard pobranie rozkazu pobranie rozkazu[PC] pobranie rozkazu[PC+1] pobranie rozkazu[PC+1] dekodowanie rozkazu dekodowanie rozkazu dekodowanie rozkazu dekodowanie rozkazu 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. rozkaz: kod arg1 arg2 wyn Funkcjonowanie - tryby adresowania 30/46 tryby adresowania - sposoby wskazywania w kodzie rozkazów umiejscowienia ich argumentów i wyników (zwanych ogólnie operandami) • 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. kod rozkazu argument • natychmiastowy Rx: • rejestrowy kod rozkazu operand PAO • bezpośredni kod rozkazu adres Rx: PAO • rejestrowy pośredni kod rozkazu adres • pośredni PAO kod rozkazu adres adres Funkcjonowanie - tryby adresowania 31/46 Jednoskładnikowe tryby adresowania

  32. 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 Funkcjonowanie - tryby adresowania 32/46 Dwuskładnikowe tryby adresowania adres operandu = baza + przemieszczenie

  33. bazowy Rx: baza PAO  kod rozkazu d • indeksowy kod rozkazu baza PAO  Ry: d • bazowo-indeksowy Rx: baza PAO kod rozkazu  Ry: d Funkcjonowanie - tryby adresowania 33/46 Dwuskładnikowe tryby adresowania - przykłady

  34. adresowanie względne PC: baza PAO  kod rozkazu dU2 • adresowanie indeksowo-względne PC: baza PAO  kod rozkazu Ry: d Funkcjonowanie - tryby adresowania 34/46 Dwuskładnikowe tryby adresowania - przykłady • 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. bazowo-indeksowy z przesunięciem Rx: baza PAO kod rozkazu d  Ry: indeks • bazowo-indeksowy skalowalny z przesunięciem Rx: baza PAO kod rozkazu S d  Ry: indeks  SRy Funkcjonowanie - tryby adresowania 35/46 Trójskładnikowe tryby adresowania - przykłady

  36. Procesory - CISC 36/46 CISC - (Complex Instruction Set Computer) - klasyczne procesory o rozbudowanej (200...300) liście rozkazów Struktura 8-bitowego mikroprocesora uniwersalnego CISC - Z80

  37. szyna adresowa 20b EUjednostkawykonawcza AH AL BH BL CS CH CL DS DH DL SS SP ES BP IP DI rejestrykomunikacjiwewn. SI układster.szyną ibufory wewnętrzna szyna danych jednostkazłączaBIU rejestry chwilowe układsterowaniajednostkąwykonawczą 1 2 3 4 5 6 ALU kolejka rozkazów: znaczniki 6B w 8086, 4B w 8088 Procesory - CISC 37/46 Schemat blokowy 8086/88 multipleksowanaszyna danych/adresów(16b danych w 8086, 8b danych w 8088)

  38. magistrala systemowa Układy wykonywania rozkazów poza kolejnością Jednostka pobierania i dekodowania rozkazów Pamięć podręczna rozkazów L1 12k mikrooperacji 64b Blok rejestrów całkowitoliczbowych Blok rejestrów FP Pamięć podręczna L2 256kB układ łado-wania adresu układ przecho-wywania adresu ALU prostych liczbcałk. ALU prostych liczbcałk. ALU złożonych liczbcałk. Jednostka przeno-szenia liczb FP Jednostka FPU/MMX Pamięć podręczna danych L1 8kB 256b Procesory - CISC 38/46 Schemat blokowy Pentium 4

  39. Procesory - RISC 39/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. Procesory - RISC 40/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 41/46 Przykład 8-bitowegomikrokomputerajednoukładowegoRISC Harvardz rodziny AVR Atmela

  42. 96kBcacheL2 16kB cache L1rozkazów ITLB dekodo-waniei stero-wanie przewidywanerozgałęzienie 4MBcacheL3 B B B F F M M I I rozgałęzienie ipredykacja 128 rejestrówcałkowitoliczbowych 128 rejestrówzmiennopozycyjnych jednostkirozgałęzień jednostkicałkowito-liczbowei MMU 16kBcacheL1danych2-portowa ALAT jednostkizmienno-pozycyjne tablica wyników, bity predykacji, wyjątki sterownik magistrali Procesory - RISC 42/46 Schemat blokowy Itanium 2

  43. Procesory - DSP 43/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. Procesory - DSP 44/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 45/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. Procesory - DSP 46/46 Struktura blokowa 32-bitowego procesora ADSP2106x SHARC

More Related