STEDNÍ PRMYSLOVÁ ŠKOLA, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7. (studijní text)



Podobné dokumenty
4 - Architektura poítae a základní principy jeho innosti

Procesor. Procesor FPU ALU. Řadič mikrokód

Intel (2) Intel (1) Intel (3) Intel (4) Intel (6) Intel (5) Nezřetězené zpracování instrukcí:

Úvod do architektur personálních počítačů

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Procesor Intel Pentium (1) Procesor Intel Pentium (3) Procesor Intel Pentium Pro (1) Procesor Intel Pentium (2)

PROCESOR. Typy procesorů

Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje:

64 - BITOVÉ PROCESORY AMD

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

Architektura Intel Atom

Pohled do nitra mikroprocesoru Josef Horálek

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Architektury CISC a RISC, uplatnění v personálních počítačích

27. asové, kmitotové a kódové dlení (TDM, FDM, CDM). Funkce a poslání úzkopásmových a širokopásmových sítí.

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

CHARAKTERISTIKA MODERNÍCH PENTIÍ. Flynnova klasifikace paralelních systémů

Paměťový podsystém počítače

PÍRUKA A NÁVODY PRO ÚELY: - RUTINNÍ PRÁCE S DATY

Každý datový objekt Pythonu má minimáln ti vlastnosti. Identitu, datový typ a hodnotu.

Základy MIDI komunikace

Charakteristika dalších verzí procesorů v PC

2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru

Zbytky zákaznického materiálu

PROCESORY. Typy procesorů

Architektura počítačů

Cache paměť - mezipaměť

ORACLE MANUFACTURING SCHEDULING ORACLE HLAVNÍ PLÁNOVÁNÍ VÝROBY

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

STEDNÍ PRMYSLOVÁ ŠKOLA, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7. (studijní text)

OPS Paralelní systémy, seznam pojmů, klasifikace

Technické prostředky počítačové techniky

"DLK 642-Lite Konfigurator" Programové vybavení pro ídicí jednotku DLK642-Lite Instalaní a programovací návod verze Aktualizace 3.11.

DIPLOMOVÝ PROJEKT ELEKTRONICKÁ ZA ÍZENÍ PRO OSOBNÍ AUTOMOBILY

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Intel Procesor a jeho konstrukce. Vývojové typy, činnost procesoru

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

ORACLE ÍZENÍ VÝROBY ORACLE WORK IN PROCESS KLÍOVÉ FUNKCE ORACLE WORK IN PROCESS

Profilová část maturitní zkoušky 2014/2015

Profilová část maturitní zkoušky 2015/2016

ORACLE DISCRETE MANUFACTURING ORACLE DISKRÉTNÍ VÝROBA

METRA BLANSKO a.s. 03/2005. PDF byl vytvořen zkušební verzí FinePrint pdffactory

Architektura počítače

Paralelní systémy. SIMD jeden tok instrukcí + více toků dat jedním programem je zpracováváno více různých souborů dat

MIKROPROCESOR. (c) Ing. Josef Varačka. Title: XI 28 11:40 (1 of 8)

IMPORT DAT Z TABULEK MICROSOFT EXCEL

Struktura a architektura počítačů (BI-SAP) 11

Výstavba PC. Vývoj trhu osobních počítačů

Ladící pípravek DisplayKit

Architektury počítačů a procesorů

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

AGP - Accelerated Graphics Port

Charakteristika dalších verzí procesorů Pentium

Obsah Úvod...2 Slovníek pojm Popis instalace...3 Nároky na hardware a software...3 Instalace a spouštní...3 Vstupní soubory

Výkonnost mikroprocesoru ovlivňují nejvíce dvě hlediska - architektura mikroprocesoru a tzv. taktovací frekvence procesoru.

Cykly Intermezzo. FOR cyklus

CHARAKTERISTIKY MODELŮ PC

Stanovení požadavk protismykových vlastností vozovek s ohledem na nehodovost

Ing. Jaroslav Halva. UDS Fakturace

Správa obsahu ízené dokumentace v aplikaci SPM Vema

Úvod do architektur personálních počítačů

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje

IM151-8 PN/DP CPU 6ES7151-8AB00-0AB0

Finální verze žádosti (LZZ-GP)

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

KUSOVNÍK Zásady vyplování

(typy a vlastnosti pípojek) p pojek) Robert Bešák

Kubatova Y36SAP procesor - control unit obvodový a mikroprogramový řadič RISC Y36SAP-control unit 1

EVROPSKÁ ÚMLUVA O DOBROVOLNÉM KODEXU O POSKYTOVÁNÍ PEDSMLUVNÍCH INFORMACÍCH SOUVISEJÍCÍCH S ÚVRY NA BYDLENÍ (dále jen ÚMLUVA )

DUM. Databáze - úvod

09. Memory management. ZOS 2006, L.Pešička

ipové karty, standardy PKCS#11, PKCS#15

Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur

19 Jednočipové mikropočítače

Identifikátor materiálu: ICT-1-08

Mezipaměti počítače. L2 cache. L3 cache

architektura mostů severní / jižní most (angl. north / south bridge) 1. Čipové sady s architekturou severního / jižního mostu

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Hardware ZÁKLADNÍ JEDNOTKA

Architektura procesoru ARM

Programovací jazyk Python. Objektov orientovaný. [citováno z

PRVODNÍ A SOUHRNNÁ ZPRÁVA

Role a integrace HR systém

OBSAH... 1 TYPY DATOVÝCH SÍTÍ...

1 Osobní počítač Obecně o počítačích Technické a programové vybavení... 4

Datový typ POLE. Jednorozmrné pole - vektor

Pedání smny. Popis systémového protokolování. Autor: Ing. Jaroslav Halva V Plzni Strana 1/6

Internetový mapový server Karlovarského kraje

Promnné. [citováno z

Systém adresace paměti

METODY OCEOVÁNÍ PODNIKU DEFINICE PODNIKU. Obchodní zákoník 5:

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Procesor EU peníze středním školám Didaktický učební materiál

Struktura a architektura počítačů (BI-SAP) 10

Transkript:

STEDNÍ PRMYSLOVÁ ŠKOLA, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7 (studijní text) µ-procesorová TECHNIKA Studijní text smí být používán pouze k výuce µ-procesorové techniky v SPŠ, Ostrava Moravská Ostrava, Kratochvílova 7. Není dovoleno dokument jakkoliv upravovat a samostatn používat jeho ásti.

1 Vývoj výpoetní techniky... 3 1.1 Úvod... 3 1.2 Vývoj výpoetní techniky... 4 1.3 Cviení k probrané kapitole... 5 2 Sbrnicový systém... 6 2.1 Princip funkce... 6 2.2 Cviení k probrané kapitole... 7 3 Von Neumann-ova architektura... 8 3.1 Popis von Neumann-ovy architektury... 8 3.2 Píklad k objasnní funkce von Neumann-ovy architektury... 9 3.3 Cviení k probrané kapitole... 9 4 Výkonové charakteristiky MIPS...10 4.1 Vývoj metod posuzování výpoetního výkonu...10 4.2 Cviení k probrané kapitole...10 5 Struktury CISC a RISC...11 5.1 Zvláštnosti architektury CISC, pojetí architektury RISC...11 5.2 Mikroprocesory s architekturou CISC, sbrnice, Cache, úzké profily...11 5.3 Systémová strategie, zpsob práce procesor RISC...12 5.4 Cviení k probrané kapitole...13 6 Harvard architektura...14 6.1 Pednosti Harvard architektury...14 6.2 Modifikace Harvard architektury...15 6.3 Cache v Harvard architektue...15 6.4 Praktický píklad...16 6.5 Cviení k probrané kapitole...17 7 Cache a jednotka správy pamti...18 7.1 Pístup do pamti se zpožovacím efektem...18 7.2 Strategie virtuální Cache...19 7.3 Zrychlení prostednictvím instrukní Cache...19 7.4 Cviení k probrané kapitole...20 8 Virtuální pam...21 8.1 Virtuální pamový prostor, bloky stránky segmenty...21 8.2 Virtuální pamové schéma...21 8.3 Cviení k probrané kapitole...22 9 Rysy architektury mikroprocesor Pentium...23 9.1 Nkteré rysy architektury Pentium...23 9.2 Provádní instrukcí u µ-procesoru Pentium...24 9.3 Pedvídání skok u µ-procesoru Pentium...25 9.4 Pravidla párování instrukcí u µ-procesoru Pentium...26 9.5 Technologie MMX u µ-procesor Pentium...27 9.6 Nástupci µ-procesoru Pentium...27 9.7 Cviení k probrané kapitole...28 10 Pamti pro µ-procesorovou techniku...29 10.1 Pamti pro µ-procesorové systémy...29 10.2 Obvody ROM, PROM, EPROM a EEPROM...29 10.3 Pamti typu RWM RAM, vlastnosti a použití...30 10.4 Zálohování napájení pro pamové obvody...31 10.5 Cviení k probrané kapitole...32 11 Podprné obvody µ-procesor...33 11.1 Neprogramovatelné podprné obvody...33 11.2 Programovatelné podprné obvody...34 11.3 Cviení k probrané kapitole...36 12 Základní stavební moduly typického PC...37 12.1 Case, základní deska, µ-procesor, pamové moduly...37 12.2 Disketová jednotka, harddisk, CD-ROM jednotka...39 12.3 Grafický akcelerátor, zvuková karta, faxmodem...42 12.4 Cviení k probrané kapitole...44 2 / 44

1 Vývoj výpoetní techniky Klíové pojmy: µ-procesor, výpoetní výkon, CISC, RISC, Cache. 1.1 Úvod Boulivý rozvoj výpoetní techniky nastal ve 20. století, na poátku to byly elektromechanické analogové poítae byly jednoúelové (zmna programu byla komplikovaná), spolehlivost byla asto nízká, výpoetní výkon byl rovnž malý, ale byly schopny pracovat v reálném ase. V roce 1937 vyvinul Konrad Zuse (nkdy nazývaný praotec moderních poíta) stroj, který lze z dnešního pohledu nazvat poíta, stroj dostal oznaení Z1. Poíta byl postupn modernizován a v roce 1943 vznikl jeho nástupce oznaený Z3. Výkon poítae lze charakterizovat tak, že byl schopen provést 15 20 instrukcí za sekundu a k vynásobení dvou ísel (prameny neuvádí jakých) bylo poteba pti sekund. V roce 1946 byl uveden do provozu poíta nazvaný ENIAC. Obsahoval 18 000 elektronek, vážil pibližn 30 tun a byl umístn na ploše 135 m 2. V porovnání s pedchdcem byl nárst jeho výpoetního výkonu znaný byl schopen realizovat až 300 násobení za sekundu. Z relativn nedávné historie lze uvést napíklad poítae Gray 2 a Supremum výpoetní výkon lze charakterizovat údajem 300*10 6 10 9 násobení za sekundu. Koncem minulého tisíciletí vyvinula a vyrobila firma IBM superpoíta oznaený RS / 6000 SP. Je umístn na ploše asi dvou basketbalových hiš a jeho výpoetní výkon je (dle výrobce) 12 trilion operací za sekundu. V dalším textu bude formou asové osy uveden struný prez vývojem osobních poíta: 1968 ~ založení firmy INTEL (integrated elektronics); 1970 ~ vyroben µ-procesor 4004 (technologie MOS, 4-bitová architektura, 60*10 3 operací/sec); 1972 ~ vyroben µ-procesor 8008 (technologie MOS, 8-bitová architektura, 30*10 3 operací/sec, adresovatelný prostor RAM až 16 kb); 1974 ~ vyroben µ-procesor 8080 (technologie HMOS, 8-bitová architektura, 200*10 3 operací/sec, adresovatelný prostor 64 kb); 1978 ~ vyroben µ-procesor 8086 a koprocesor 8087 (16-bitová architektura, (jak uvidíme pozdji uvádt výpoetní výkon formou potu provedených instrukcí za jednotku asu nemá smysl), adresovatelný prostor RAM 1MB); 1979 ~ vyroben µ-procesor 8088, (vnjší sbrnice 8-bitová z dvodu kompatibility s již dobe zavedeným µ-procesorem 8080); 1983 ~ vyroben µ-procesor 80286 (kompatibilní s 8086), adresovatelný prostor RAM 16MB; 1984 ~ IBM prosadila PC/AT jako standard; 1985 ~ vyroben µ-procesor 80386 (byl dodáván v provedení SX se 16-bitovou sbrnicí a v provedení DX s 32-bitovou sbrnicí), byl k nmu dodáván koprocesor 80387; 1989 ~ vyroben µ-procesor 80486 (podle údaj výrobce byl 3 5 krát rychlejší než 80386) rozvoj technologie výroby umožnil integrovat koprocesor (FPU Floating Point Unit) na ip spolen s procesorem. Mikroprocesor byl dodáván v provedení SX nefunkní FPU a v provedení DX funkní FPU. Oznaení DX2 znamenalo, že vnjší sbrnice pracuje na kmitotu rovnajícímu se 1/2 kmitotu µ-procesoru (doposud pracovala vnjší sbrnice na kmitotu 8 MHz). Oznaení DX4 znamenalo, že vnjší sbrnice pracuje na kmitotu rovnajícímu se 1/3 kmitotu µ-procesoru; 1993 ~ vyroben µ-procesor PENTIUM, z dvodu možnosti patentové ochrany byl zmnn název (vlastnosti a struktura µ-procesoru bude pozdji probrána podrobnji); 1995 ~ vyroben µ-procesor PENTIUM PRO (z dvodu špatného pomru výkon/cena nebyl na trhu úspšný); 1997 ~ byla do výroby µ-procesor aplikována technologie MMX (Multi Media Extensions) 3 / 44

Po µ-procesoru PENTIUM pišly na trh µ-procesory PENTIUM II, III a 4. Firma Intel provedla u µ-procesor revizi jádra a jejím výsledkem byla úspora plochy na ipu (relativn 5% 9%, absolutn 104 mm 2 95mm 2 ). To umožnilo zvtšit cache L2, nebo zmenšit rozmry ipu (lepší výtžnost, nižší píkon, vyšší pracovní kmitoet). Alternativn byly do výroby zavedeny µ-procesory pod oznaením CELERON, pvodn byly vyrábny bez pamti L2 Cache. Mikroprocesory této tídy byly cenov dostupnjší, ale jejich výpoetní výkon byl i vlivem nízkého kmitotu vnjší sbrnice (pouze 66MHz) nižší. K dalším µ-procesorm od firmy Intel patí Merced (pozdji pejmenovaný na Itanium a jeho nástupce Itanium 2). Krom firmy Intel se výrobou µ-procesor zabývají i jiné firmy: AMD (Advanced Micro Devices) ~ Atlon a Duron National Semiconductors ~ Cyrix VIA Technology ~ Joshua 1.2 Vývoj výpoetní techniky Pvodn v poítaích, které již byly vybaveny µ-procesorem realizoval µ-procesor prakticky veškeré operace (zobrazení na obrazovce, vstupn výstupní komunikace, ešená úloha). Z takového zpsobu práce plynuly vysoké požadavky na výpoetní výkon µ-procesoru. Do poítae byly proto dodány specializované obvody (adie), které eší nkteré úlohy související s funkcí poítae (zobrazení na obrazovce, vstupn výstupní komunikace). Tímto opatením došlo k výraznému nárstu výpoetního výkonu systému i pi použití pvodního µ-procesoru. mikroprocesor adresa pam Souasné poítae pracují tak, že úlohy zpracovávají postupn po dávkách (petení instrukce, dekódování instrukce, zpracování instrukce). V prbhu práce µ-procesor asto komunikuje s pamovými obvody. Pamové obvody svou dlouhou pístupovou dobou omezovaly výkon poíta a proto byla do struktury poítae zavedena pam Cache. Krom poíta s tzv. komplexní instrukní sadou CISC byly vyvinuty i procesory s redukovanou instrukní sadou RISC. Podstatný rozdíl mezi obma systémy tkví v tom, že u procesor CISC jsou instrukce realizovány mikroprogramy, kdežto u procesor RISC jsou instrukce realizovány hardware-ov. K objasnní funkce poítae Nárst výpoetního výkonu umožnil zavedení multitaskingového 1 provozu. Takový režim práce však znan zpomaloval zejména systémy na bázi procesor RISC. K vylepšení situace bylo zavedeno virtuální adresování. Jednotlivá opatení však sebou pinášela další problémy. Fyzická Cache byla nahrazena virtuální Cache. To umožnilo zkrácení pístupové doby do pamti, ale vznikaly problémy se zastaralými daty. Problém zastarávání dat vedl k návratu fyzické Cache, která však již v dsledku pokroku technologie výroby ip mohla být i s MMU umístná na ipu s procesorem. Další navýšení výpoetního výkonu bylo možno realizovat napíklad technologií Pipeline (principem toto ešení znamená zavedení pásové výroby do poítae). Von Neumann-ova architektura však zavedení Pipeline neumož uje a proto vznikla struktura Harvard. Podstatným problémem Pipeline jsou potíže s pedvídáním skok. Na ip s procesorem byla dodána pam k odkládání pedzpracovaných instrukcí. Protože problémy s nedostatenou rychlostí pi komunikaci s pamovými obvody petrvávají, byla zavedena technologie Hyper Trading. Mikroprocesor obsahuje jedno jádro, ale dv pamti Cache a dva adie perušení. Jádro procesoru dokáže na dvou úlohách pracovat tém tak, že se z vnjšího pohledu jeví, jako by v pouzdru byly µ-procesory dva. Výhodou tohoto ešení je relativn malý nárst složitosti µ-procesoru, ale pomrn vysoký nárst výpoetního výkonu. 1 Poíta zpracovává více úloh souasn. 4 / 44

1.3 Cviení k probrané kapitole Uvete kdo je v souasnosti nejvtším svtovým výrobcem µ-procesor. Objasnte pojem kompatibilita. Vysvtlete základní rozdíl mezi strukturami CISC a RISC. 5 / 44

2 Sbrnicový systém Klíové pojmy: režim vstupní, režim výstupní, režim vysoká impedance. 2.1 Princip funkce Rozvoj analogové techniky, vznik integrovaných obvod a postupné zvyšování hustoty integrace na ipech vedl ke vzniku digitálních obvod. Digitální technika se vyvíjela velmi rychle a škála rzných typ integrovaných obvod s rznou funkci narstala. Je-li: n ~ poet nezávisle promnných k ~ poet jejich možných kombinací f ~ poet možných logických funkcí n k n pak platí: k = 2 a f = 2 = 4. Uvedené vztahy však platí pouze pro obvody kombinaní. Uvážíme-li obvody sekvenní, zjistíme, že množství rzných typ digitálních integrovaných obvod (vlivem interních promnných a zptných vazeb) narstá tém neomezen. Situace se postupn stávala neúnosnou a hledalo se jiné ešení jak modifikovat strukturu obvod. Pedpokládejme, že existují ti bloky oznaené 1, 2 a 3 a dv varianty jejich vzájemného propojení. Je zejmé, že zmna struktury obvodu je možná pouze zmnou hardware. "1" "2" "3" varianta 1 varianta 2 Klasické ešení ízení blok "1" "2" "3" control sbrnice Sbrnicový systém K významnému pokroku došlo zavedením sbrnic. Sbrnice je trajektorie spojující rzné komponenty v systému tak, že umož uje selektivní penos informací (obvykle obousmrn). ídící blok nastavuje tístavové porty blok ( 1, 2 a 3 ) podle poteby do režim: vstupní, výstupní, stav vysoké impedance. Výhodou sbrnicového systému je možnost nastavovat vzájemné propojení blok pedpisem (softwareov) a zárove možnost toto propojení prbžn mnit. Jako nevýhodu lze oznait fakt, že pi poteb pesunu nestejných dat rzným adresátm se tento musí realizovat postupn. 6 / 44

Ukázka propustnosti nkterých sbrnic používaných v PC: typ sbrnice rychlost penosu šíka sbrnice taktování ISA 16MB/sec 16b 8MHz PCI 132MB/sec 32b 33MHz Odvodnní: Je-li šíka sbrnice 16b, pak 16 b = 2B a 2B *8MHz = 16MB / sec. 8 Je-li šíka sbrnice 32b, pak 2.2 Cviení k probrané kapitole 32 b = 4B a 4B * 33MHz = 132MB / sec. 8 Uvete vztah mezi potem nezávisle promnných a potem logických funkcí platný pro kombinaní obvody. Objasnte funkci sbrnicového systému. Popište výhody a nevýhody sbrnicového systému. 7 / 44

3 Von Neumann-ova architektura Klíové pojmy: ídící sbrnice, adresová sbrnice, datová sbrnice, instrukce. 3.1 Popis von Neumann-ovy architektury K popisu funkce von Neumann-ova poítae použijeme blokové schéma. Tento princip práce využívají poítae od roku 1952 (z dnešního pohledu se jedná o klasické zapojení a spolupráci prvk poítae). adresová sbrnice mikroprocesor RI DI IR ACC ALU pam dat (1) (2) (3) pam programu datová sbrnice Blokové schéma von Neumann-ovy architektury Legenda: RI ~ registr instrukcí DI ~ dekodér instrukcí IR ~ indexové registry ACC ~ akumulátor ALU ~ aritmeticko logická jednotka tení instrukce dekódování instrukce Sbrnice umož ují zlevnit a zjednodušit penos informací v poítai. Adresová sbrnice uruje (adresuje) bu ku, se kterou se bude komunikovat (zapisovat nebo íst) prostednictvím datové sbrnice. Program je vykonáván po ástech (dávkách) a jednotlivé instrukce jsou zpracovávány v cyklu. Instrukce jsou provádny v prbhu nkolika fází. Selekci pamti dat a pamti programu lze provést adresováním, nebo prostednictvím ídící sbrnice. Nutno dodat, že systém obsahuje ješt další sbrnici urenou k ízení vstupn výstupních port (její zapojení je prakticky shodné se sbrnicí adresovou a pro dosažení lepší pehlednosti schématu nebyla zakreslena). realizace instrukce Pracovní cykl poítae 8 / 44

3.2 Píklad k objasnní funkce von Neumann-ovy architektury Pedpokládejme, že poíta má provést souet obsahu bu ky (1) s obsahem bu ky (2) a výsledek má být uložen v bu ce (3). Všechny uvedené bu ky se nachází v pamti dat. innost poítae bude probíhat následujícím zpsobem: 1) Po inicializaci systému dojde prostednictvím ídící sbrnice ke konfiguraci vstupn/výstupních port takto: adresový port µ-procesoru ~ režim výstupní, adresový port pamti dat ~ režim vysoká impedance, adresový port pamti programu ~ režim vstupní, datový port pamti programu ~ režim výstupní, datový port pamti dat ~ režim vysoká impedance, datový port µ-procesoru ~ režim vstupní. 2) Mikroprocesor vygeneruje adresu instrukce a odešle ji prostednictvím adresové sbrnice do pamti programu. 3) Adresovaná instrukce je prostednictvím datové sbrnice pesunuta do µ-procesoru a umístna v registru instrukcí. 4) Dekodér instrukcí instrukci dekóduje a podílí se na ízení další innosti systému. Mikroprocesor v této chvíli již ví, co má udlat (viz zadání). 5) Prostednictvím ídící sbrnice dojde k pekonfigurování adresové a datové sbrnice tak, aby bylo možno pesunout obsah pamové bu ky (1) z pamti dat do µ-procesoru. Pesunutá jsou umístna v akumulátoru. 6) Mikroprocesor vygeneruje adresu pamové bu ky (2) v pamti dat a její obsah je prostednictvím datové sbrnice pesunut do µ-procesoru a umístn v indexovém registru. 7) Aritmeticko logická jednotka sete obsah akumulátoru s obsahem ureného indexového registru a výsledek operace vloží do akumulátoru. 8) Dojde k rekonfiguraci vstupn/výstupních bran tak, aby bylo možno pesunout obsah akumulátoru do pamti dat. 9) Mikroprocesor vygeneruje adresu bu ky (3) v pamti dat a prostednictvím datové sbrnice je obsah akumulátoru do této bu ky penesen. 10) Úkol plynoucí z instrukce byl tímto dokonen a tak dojde k novému nastavení vstupn výstupních bran tak, aby bylo možno naíst další instrukci.... Z blokového schématu a popisu funkce von Neumann-ovy architektury lze odvodit následující závry. Výhodou von Neumann-ovy architektury je jednoduchost struktury poítae a z ní plynoucí nízká cena. asto se však komunikuje s pamovými obvody a tato komunikace je asov nároná, z toho plyne nízká rychlost a tedy malý výpoetní výkon poítae. Systému chybí strukturování dat, program je zpracováván postupn. Programování se provádí nepímo prostednictvím sady strojových instrukcí. Instrukní sada vyjaduje vztah pamových struktur, sbrnic a možností procesorového jádra vzhledem k požadovaným operacím. Von Neumann-ova architektura je kompromisním ešením s ohledem na výpoetní výkon a cenu systému. 3.3 Cviení k probrané kapitole Popište prvky tvoící von Neumann-ovu architekturu. Objasnte funkci von Neumann-vy architektury. Pojednejte o výhodách a nevýhodách von Neumann-ovy architektury. 9 / 44

4 Výkonové charakteristiky MIPS Klíové pojmy: oscilátor hodinového signálu, taktování µ-procesoru, MIPS. 4.1 Vývoj metod posuzování výpoetního výkonu Výrobci µ-procesor ve snaze podat lepší obraz o svých produktech asto prezentovali kmitoet oscilátoru hodinového signálu jako mítko výpoetního výkonu poítae. f f 2 f 1 f osc f clk oscilátor f osc / 2 mikroprocesor oscilátor f osc = f clk U nkterých µ-procesor však byl kmitoet hodinového signálu 2 ureného k asování nižší než kmitoet oscilátoru (viz schéma). Dvodem byla lepší výtžnost pi výrob krystal a potenciáln vyšší pesnost kmitotu hodinového signálu. Je zejmé, že kmitoet oscilátoru hodinového signálu nemže být mítkem výpoetního výkonu. Výpoetní výkon µ-procesoru je krom jiných parametr závislý na rychlosti taktování. Pedpokládejme existenci dvou systém fungujících tak, že µ-procesory jsou (v obou pípadech) taktovány sestupnou hranou hodinového signálu. Jak je vidt z asových prbh, poet takt u µ- procesoru s dvoufázovým taktováním a poloviní frekvencí hodinového signálu (f 1, f 2 ) je shodný s potem takt provedených za stejnou dobu µ-procesorem, který je taktován hodinovým signálem s dvojnásobným kmitotem. Vidíme, že ani frekvence hodinového signálu nemže být mítkem výpoetního výkonu poítae. K hodnocení výpoetního výkonu byla pozdji zavedena charakteristika MIPS (Millions of Instructions Per Second), která vyísluje poet provedených instrukcí za asovou jednotku. Píklad: Trvá-li provedení typické instrukce dva takty pi f clk =100MHz, pak lze výkon vyjádit 100/2=50MIPS. Trvá-li u jiného µ-procesoru provedení typické instrukce ti takty a procesor je taktován f clk =150MHz, pak výkon systému bude 150/3=50MIPS. Výpoetní výkon obou systém mže být shodný. Posuzujeme-li však prostednictvím MIPS systémy, které k provedení instrukce potebují jiný poet takt a výkon instrukcí není srovnatelný (CISC Complex Instructin Set Computer a RISC Reusable (pvodn Reduced) Instructin Set Computer), zjistíme, že charakteristiku MIPS nelze použít. Instrukce RISC jsou kratší, ale jednodušší než instrukce CISC. Systém na bázi µ-procesoru RISC by byl zvýhodnn. K porovnání výkonu poíta založených na rzných platformách se v souasné dob používají testy, které simulují použití rzných fragment z bžn používaného software. Výsledky jsou zapisovány do tabulek a umožní sledovat vliv zásahu do systému a pípadn i vhodnost konkrétního systému k ešení uritých aplikací. Známý a pomrn asto používaný je testovací software SiSoft Sandra. 4.2 Cviení k probrané kapitole Vysvtlete vztah mezi pojmy kmitoet oscilátoru a kmitoet hodinového signálu. Objasnte pojem výpoetní výkon. Pojednejte o výkonové charakteristice MIPS. mikroprocesor Generátor hodinového signálu pro mikroprocesor Dvoufázové taktování mikroprocesoru 2 Poíta je obvod složitý, proto je ešen jako obvod synchronní (eliminace hazardních stav). t t t 10 / 44

5 Struktury CISC a RISC Klíové pojmy: CISC, RISC, paralelismus. 5.1 Zvláštnosti architektury CISC, pojetí architektury RISC Vývoj µ-procesor je provázen snahou o zvyšování výpoetního výkonu poíta. Jednou z cest je zkracování doby potebné k provedení instrukcí. V roce 1988 bylo dosaženo stávajících technologických mezí v oblasti výroby ip. Vzniklý problém bylo možno ešit dvojím zpsobem: 1) Hledání nových cest. 2) Snaha postupn s rozvojem technologie výroby vylepšovat vlastnosti ip. Druhé ešení bylo podpoeno nástupem QCD (Quantum Coupled Device) ~ technologie kvantov vázaných souástek. Tato technologie výroby ip slibovala dosažení vysoké hustoty integrace prvk (až 10 10 prvk/cm 2 a vysoký mezní pracovní kmitoet (až 1THz). Pvodní von Neumann-ovy µ-procesory mají k realizaci instrukcí implementovány µ-programy. Jejich výkon lze tedy zvýšit zavedením výkonnjších instrukcí. K jejich realizaci je však poteba více takt (až 300). Výsledkem této snahy bylo podstatné navýšení výpoetního výkonu µ-procesor, ale výpoetní výkon poíta vzrostl jen neadekvátn. Tento rozpor ml nkolik píin pekladae vyšších jazyk zpoátku nebyly pipraveny na nové instrukce a nedokázaly je efektivn využít, vznikala poteba dodatených dekódovacích cykl, která vyvolala potíže s pamtí Cache a následn pak prodloužení doby potebné k dekódování instrukcí. Za této situace bylo provedeno statistické zkoumání využití instrukcí pi zpracovávání program. Test probíhal tak, že poíta zpracovával rzné programy a zárove byla zaznamenávána etnost použití rzných druh instrukcí. Výsledkem testu bylo následující zjištní: etnost instrukcí kategorie instrukcí 35 % instrukce pro tení 30 % instrukce pro skoky 15 % instrukce pro zápis 20 % ostatní instrukce Z tabulky vyplývá, že speciální instrukce doplnné do µ-procesor k navýšení výpoetního výkonu (v tabulce jsou zahrnuty v kategorii ostatní instrukce) byly využívány jen omezen. Poátkem osmdesátých let byl v USA vyvinut µ-procesor s architekturou RISC. Tento µ-procesor ml pouze 30 instrukcí, které byly kódovány hardware-ov (k realizaci každé instrukce byl v procesoru vytvoen zvláštní elektronický obvod). Každá instrukce mohla být vykonána v prbhu jediného taktu. Na ipu vznikla volná plocha (již nepotebný prostor k uložení µ-program), která byla využita k realizaci registr. (Pvodní µ- procesory CISC v té dob disponovaly cca 16 registry µ-procesory RISC jich mly až 100.) Instrukce µ-procesor RISC jsou jednodušší a kratší, ale jejich výkon je nižší než u µ-procesor CISC. Von Neumann-ova architektura se dále rozvíjela a k navýšení výkonu mlo pispt zavedení Pipeline. Docházelo však k petížení sbrnic, protože v dob zpracovávání jedné instrukce mla být naítána instrukce další. 5.2 Mikroprocesory s architekturou CISC, sbrnice, Cache, úzké profily Hranice mezi µ-procesory CISC a RISC se smývá. Souasné µ-procesory CISC mají nkteré rysy µ- procesor RISC. Mikroprocesory CISC disponují rozsáhlými registrovými sadami jak pro, tak pro instrukce. Registry jsou využitelné i pro adresy. Do registr lze uložit více operand a rozpracovaných instrukcí. Vlivem toho je možno alespo ásten omezit astou a asov náronou komunikaci s pamtí. Mikroprocesory CISC disponují výkonnými instrukcemi a výkonnými zpsoby adresování. 11 / 44

Všechny programy lze psát relativn, mohou tedy bžet v libovolné oblasti pamti. Mže tedy být využíván multitasking (poíta souasn zpracovává více program). Je zde snaha o zajištní bezpenosti dat. Systémy mohou pracovat ve dvou režimech práce: 1. Režim supervizor ~ programy jsou v tzv. chránné oblasti. Pístup do této oblasti mají pouze privilegované programy (napíklad operaní systém). 2. Režim uživatelský ~ programy jsou mimo tzv. chránnou oblast a použití nkterých instrukcí je zakázáno. Úzké profily von Neumann-ovy architektury: Pevn zapojená aritmeticko logická jednotka (v každém okamžiku mže být zpracovávána pouze jediná operace). Následující instrukce je tena multiplexovan z pamti a tato operace je asov nároná. Po dokonení instrukce není pipravena další instrukce (obtížné použití Pipeline). Pístup k datm je rovnž zprostedkován multiplexerem a je tedy pomalý. Von Neumann-v poíta pracuje sekvenn. Zvýšení výkonu je možno dosáhnout: 1) Technologickou strategií. Využitím nejnovjších výsledk technologie výroby ip ke zvýšení výkonu (µ-procesor se musí vždy znovu navrhnout vývoj RISC je snazší proto, že µ-procesor je jednodušší). Výhody RISC jsou nkdy snižovány faktem, že strojové kódy jsou delší než u CISC. 2) Systémovou strategií. Systémovými opateními mohou být zavedení Cache k eliminaci vlivu skok a paralelní zpracování instrukcí (toto však von Neumann-ova architektura neumož uje). 5.3 Systémová strategie, zpsob práce procesor RISC Poítaové systémy jsou omezovány (krom úzkých profil) dlouhou pístupovou dobou pamových obvod. nevyešené úlohy nevyešené úlohy jádro jádro jádro mikroprocesor mikroprocesor mikroprocesor mikroprocesor vyešené úlohy Vnjší paralelismus vyešené úlohy Vnitní paralelismus 12 / 44

Zvyšování výkonu na úrovni jednotlivých µ-procesor je možné zavedením Cache, ale pi vtvení Cache asto neobsahuje potebná to vede k asovým ztrátám, nebo dokonce k chybám. Jiné ešení spoívá v použití paralelní práce µ-procesor. K realizaci je nutný ídící software ten zpsobí nárst ceny a pokles výpoetního výkonu (výsledný nárst výpoetního výkonu je tedy nižší, než by se oekávalo). Systém mže pracovat tak, že µ-procesory budou soutžit pi práci. V této souvislosti mžeme hovoit o vnjším paralelismu, nebo o vnitním paralelismu. Vnitní paralelismus není možný proto, že von Neumann-ova architektura svou strukturou požadavkm plynoucím ze zpsobu práce pi vnitním paralelizmu nevyhovuje. Další ešení je možné prostednictvím X-puter, nebo Harvard architekturou poítae. X-putery mají jinou strukturu (ALU není zapojena pevn, ale je rekonfigurovatelná v závislosti na ešené úloze). Problematika Harvard architektura bude podrobnji rozebírána pozdji. Mikroprocesory RISC disponují malým potem velmi rychlých instrukcí. Z dvodu hardware-ového kódování instrukcí by bylo obtížné multiplexovat velký poet instrukcí nebo realizovat velmi výkonné instrukce (ale již u µ-procesoru Pentium 4 je realizován maticový souin hardware-ov). Pi pedpokládaném jednotaktovém zpracování je nutné, aby systém pracoval pedevším s registry a nikoli s pamtí. Do pamtí je pístup realizován prostednictvím instrukcí load a store (tyto však nejsou jednotaktové). Problémy vznikají i pi zavedení multitasking-ového režimu, pi výmn task- vznikají asové ztráty (obsah vnitních registr musí být uložen do pamti a do registr musí být vloženy informace vztažené k novému task-u). Ke komplikacím dochází i v multiprocesorových systémech (zmny v datech provedené jedním z µ- procesor ostatní µ-procesory nemusí vas zaregistrovat a to mže zpsobovat chyby). Výhodou µ-procesor RISC je fakt, že u nich lze snadno implementovat pekryvné provádní instrukcí a vlivem jednodušší struktury lze dosáhnout vyšších pracovních kmitot. 5.4 Cviení k probrané kapitole Objasnte pojmy CISC a RISC. Vysvtlete jaké dvody vedly ke konstrukci RISC. Popište paralelní práci µ-procesor. 13 / 44

6 Harvard architektura Klíové pojmy: Pipeline, IFU, EU, MMU, Branch Target Cache. 6.1 Pednosti Harvard architektury Výpoetní systémy pracující na principech Harvard architektury se od poíta s von Neumann-ovou architekturou liší pedevším možností souasné práce s instrukcemi a daty. Rozdlení datové sbrnice umožní v dob zpracovávání jedné instrukce tení instrukce jiné. Tím lze dosáhnout vyšší rychlosti bhu programu a tedy vyššího výpoetního výkonu. periferní obvody CPU MEM instrukce periferní obvody CPU MEM instrukce MEM Sbrnice k penosu instrukcí a dat ve von Neumann-v architektue Sbrnice k penosu instrukcí a dat v Harvard architektue U Harvard architektury lze snadno dosáhnout pekryvného provádní instrukcí. Využívá se zde princip Pipeline. Instrukce musí být k takovému zpsobu zpracování rozdleny na kratší ásti. Princip innosti bude objasnn na následujícím píkladu. Pedpokládejme, že v µ-procesoru existují tí bloky, které jsou schopny realizovat následující operace: Load ~ zavádní instrukcí, Fetch ~ dekódování instrukcí a Execute ~ provádní instrukcí. Je zejmé, že takto realizovaný µ-procesor umož uje souasn zpracovávat ti instrukce. Následující schéma znázor uje dosaženou asovou úsporu. 1. ins-ce 2. ins-ce 3. ins-ce 4. ins-ce 5. ins-ce L F E L F E L F E L F E L F E L F E L F E 1. ins-ce 2. ins-ce postupné provádní instrukcí L F E 3. ins-ce L F E 4. ins-ce L F E 5. ins-ce zrychlení vlivem pipeline Zrychlení bhu programu vlivem "Pipeline" as 14 / 44

6.2 Modifikace Harvard architektury Pi realizaci výpoetního systému je poteba rozhodnout, zda je nutno dlit interní i externí datovou sbrnici (kdyby došlo k rozdlení pouze u vnitní sbrnice, vznikla by úspora poloviny adresových vodi a ady ídících vodi). Rovnž je poteba posoudit, zda oba zpsoby realizace (oddleny vnjší i vnitní sbrnice oddleny pouze vnitní sbrnice) umožní souasný pístup k datm i instrukcím. von Neumann-ova architektura CPU instrukce (32b) (32b) MEM CPU instrukce + adresa adresa instrukce Harvard architektura CPU instrukce Harvard architektura vetn adresových sbrnic Modifikovaná Harvard architektura instrukce CPU Cache instrukce + instrukce CPU Cache instrukce (64b) adresa (spolená) MEM Modifikovaná Harvard architektura vetn adresových sbrnic Jak plyne z pedchozích nákres, externí i interní sbrnice lze zapojit dvma rznými zpsoby. Z uspoádání modifikované Harvard architektury vyplývá použití Cache v Harvard architektue. 6.3 Cache v Harvard architektue V následujícím textu bude popsáno použití Cache v Harvard architektue. Interní sbrnice jsou oddlené a to umož uje samostatný pístup k instrukcím i k datm ve vnitní Cache. Vnjší sbrnice je spolená a to vede k výraznému zjednodušení a zlevnní vnjší sbrnice. Aby nedocházelo ke kolizím (z dvodu rzného obsahu Cache a hlavní pamti), musí být Cache dostaten velká. Systém se pak jako celek jeví, jako by ml oddlené interní i externí sbrnice. Statisticky bylo zjištno, že vtšina aplikací sestává z kratších sekvencí instrukcí a delších blok dat. Experimentáln bylo dokázáno, že systémy na bázi modifikované Harvard architektury za tchto okolností pi podstatn nižších poizovacích nákladech poskytují srovnatelné (nebo i lepší) výsledky než klasická Harvard architektura. Zkoumaný problém bude objasnn na píkladu: Pedpokládejme, že externí sbrnice je široká 64 bit. K petení ty 32 bitových instrukcí je u modifikované Harvard architektury poteba pouze dvou cykl... 4 instrukce* 32 bit = 128 bit k penosu 128 bit k penosu = 2 cykly 64 bit ( šíka spolené sbrnice) 15 / 44

Pedpokládejme, že u klasické Harvard architektury je externí sbrnice široká rovnž 64 bit (je však rozdlena do dvou ástí po 32 bitech). K petení ty 32 bitových instrukcí je u klasické Harvard architektury poteba ty cykl... 4 instrukce * 32 bit = 128 bit k penosu 128 bit k penosu = 4 cykly 32 bit ( šíka instrukní sbrnice) V pípad penosu dat bude situace obdobná. instrukce instrukce instrukce instrukce instrukce Na rozhraní blok instrukcí a dat mže v modifikované architektue dojít ke kolizi. instrukce instrukce instrukce V modifikované architektue dochází k permanentní kolizi. instrukce instrukce instrukce Varianty uložení instrukcí a dat Vznikne-li v jednom cyklu poteba penášet jak instrukce tak nebude možno tomuto požadavku vyhovt najednou. Je-li konfigurace instrukcí a dat typická, mže k takovému problému dojít pouze na rozhraní blok instrukcí a dat a to jen v pípad, že poet slov v pedchozím bloku je lichý. Pouze v tomto ojedinlém pípad by byla klasická Harvard architektura rychlejší. 6.4 Praktický píklad Funkci Harvard architektury budeme demonstrovat na následujícím píkladu, která popisuje tok dat ve vnitní Pipeline. IFU EU nepodmínné skoky podmínné skoky MMU instrukce adresy Schéma k dokumentaci tok dat v pipeline Legenda ke schématu: IFU (Instruction Fetch Unit) ~ dekódování instrukcí EU (Executin Unit) ~ provádní instrukcí MMU (Memory Management Unit) ~ správa pamti 16 / 44

Jedná se o tystup ovou Pipeline (zpracování instrukcí je rozdleno do ty fází tení instrukce, dekódování instrukce, provádní instrukce, uložení výsledku). IFU zajišuje zásobování Pipeline instrukcemi (v každém taktu musí být pipravena jedna instrukce). Instrukce jsou teny z Cache, nebo z externí pamti. Pedpokládejme, že Cache má velikost 512B a je rozdlena na dv ásti. Každá ást obsahuje 16 blok po tyech 32 bitových slovech. 512 16 blok * 4 slova = 64 (32 bitových slov) = 256 B / polovina Cache 2 00 íta instrukcí 26b 4b 2b inc 16 blok 2. až 5. bit 4 slova 0. a 1. bit 6. až 31. bit Branch Target Cache Struktura adresy Je-li innost Cache povolena, pak Branch Target sekvence mže být v jednom ze šestnácti blok jedné ásti Cache (blok urují 2. 5. bit adresy první instrukce). Sekvence je v bloku skuten obsažena v pípad, že se shodují adresy 6. 31. bit adresy vnjší pamti s adresovými bity bloku. Adresa je doplnna dvma bity, které urují pam ze které byla instrukce natena a pracovní režim systému (Supervisor User). 6.5 Cviení k probrané kapitole Vysvtlete jaké dvody vedly k zavedení Harvard architektury. Objasnte princip innosti Pipeline. Popište rozdíly mezi klasickou a modifikovanou Harvard architekturou. 17 / 44

7 Cache a jednotka správy pamti Klíové pojmy: virtuální adresa, fyzická adresa, fyzická Cache, logická Cache, instrukní Cache. 7.1 Pístup do pamti se zpožovacím efektem Pi návrhu poítaových systém je nutné sledovat výkon µ-procesoru, ale i efektivitu Cache a MMU. U jednouživatelských a jednoúlohových systém je výpoetní výkon systému závislý pedevším na výpoetním výkonu µ-procesoru. U víceuživatelských (multiuser) a víceúlohových (multitasking) systém je výpoetní výkon systému výrazn ovlivnn i efektivitou Cache. Je to proto, že asto dochází ke skokm. K dosažení vysokého výpoetního výkonu je dležité, aby pístup do pamti probíhal bez nutnosti vkládat zpožovací cykly (Mikroprocesor by mohl pracovat rychleji, ale je nucen ekat až pamové obvody dokoní operace s daty.) U prvních µ-procesor potíže v tomto smyslu nebyly, protože jejich rychlost byla v souladu s pístupovou dobou 3 pamtí. S nástupem µ-procesor s vyšší taktovací frekvencí musely být využívány rychlé, ale drahé statické pamti, které umožní tení i zápis bez zpožovacích cykl. V prbhu vývoje výpoetní techniky byla provádna rzná opatení vedoucí ke zvýšení výpoetního výkonu. Se zavedením multitaskungu se zaalo používat virtuální adresování. Jeho úelem byla redukce potu skok. Virtuální adresace však vyvolala nutnost dalších opaení. Virtuální adresu je nutno pro další použití peložit na adresu fyzickou (peklad adresy mimo jiné realizuje MMU). virtuální adresa fyzická adresa CPU MMU Cache MEM a ízení K objasnní pojmu fyzická Cache Problém bude objasnn na píkladu. Pedpokládejme, že peklad adresy trvá 2 cykly. Dále pedpokládejme, že CPU (Central Procesor Unit) je schopen z pamti pijmout za ti cykly. Jak je vidt ze schématu propojení procesorového jádra, jednotka správy pamti a pamtí, Cache musí být schopna poskytnout v prbhu jednoho cyklu. Je-li Cache pomalejší, CPU musí ekat a to se projeví jako pokles výpoetního výkonu. 3 Doba potebná ke komunikaci s pamtí (od vygenerování adresy do ukonení penosu dat). 18 / 44

7.2 Strategie virtuální Cache Jiné ešení implementace Cache spoívá v zavedení logické Cache. Takto osazená Cache umožní kompenzovat asové ztráty, které vznikají pi pekladu virtuální adresy na adresu fyzickou. K adresování Cache musí být použita virtuální adresa, jinak eeno Cache musí být µ-procesoru k dispozici ješt ped peložením adresy jednotkou správy pamti. virtuální adresa fyzická adresa CPU Cache MMU MEM a ízení K objasnní pojmu virtuální Cache Na první pohled je patrné, že takto konfigurovaný systém umožní pi použití stejn rychlé Cache jako v pedchozím pípad CPU pracovat na tikrát vyšším kmitotu. Toto ešení však pináší problém, který spoívá v modifikaci dat v hlavní pamti (MEM) kontrolerem DMA (Direct Memory Access). MMU realizuje peklad adres pouze jednosmrn (virtuální adresa fyzická adresa). Proto nelze zjistit, zda Cache obsahuje, která jiný master v hlavní pamti zmnil. Data, která jiný master modifikoval v hlavní pamti se neprojeví v Cache. CPU tedy mže pracovat se zastaralými daty. Rekapitulace Opatení provedená ke zvýšení výpoetního výkonu: o o o zavedení adi periferních zaízení (odlehení práce µ-procesoru); zavedení Cache (eliminace zpožovacích cykl); virtuální adresace (snížení potu skok vyšší efektivita Cache). Tato opatení se však projevila i negativn: virtuální adresace klade v dsledku nutnosti provádt peklad adresy vyšší nároky na rychlost Cache; použití logické Cache mže vést ke vzniku chyb. 7.3 Zrychlení prostednictvím instrukní Cache Jako píklad bude provedena analýza systému, který využívá pouze instrukní Cache (nezrychluje tedy práci s daty). Každá instrukce pracující s daty musí íst tato z hlavní pamti. Statisticky bylo zjištno, že pibližn jedna tetina instrukcí typického programu používá z hlavní pamti. Výkonové pomry výpoetního systému budou objasnny na píkladu: Pedpokládejme, že systém je osazen externí MMU, využívá logickou Cache s 50% úspšností pístupu 4, odkaz na je možný pouze prostednictvím MMU (za cenu dvou vložených cykl). Bžící program obsahuje instrukce z nichž 30% využívá z hlavní pamti. Otázkou je, jaké je relativní snížení potu cykl pi použití instrukní Cache. 4 To znamená, že 50% informací požadovaných z Cache je v této Cache skuten obsaženo. 19 / 44

Jak je vidt z následujícího výpotu, klesne poet zpožovacích cykl (ve srovnání se systémem, který vbec nevyužívá Cache) ze dvou na 1,3 cyklu na sbrnicový cyklus. 2 * (0,7 * 0,5 + 0,3) = 1,3 zkrácení potu vložených zpožovacích cykl 30% instrukcí pracuje s daty 50% neúspšnost pístupu do Cache (100-30)=70% instrukcí nepracuje s daty vložené zpožovací cykly Zkrácení potu zpožovacích cykl Má-li sbrnicový cyklus 4 takty, pak se bez použití Cache prodlouží na 4+2=6 takt. Pi použití instrukní Cache bude sbrnicový cyklus trvat 4+1,3=5,3 takt. Zkrácení doby potebné k vykonání programu a jemu odpovídající navýšení výpoetního výkonu lze vyíslit takto: 6 5,3 *100 = 11,66% 6 Má-li však sbrnicový cyklus 300 takt, pak se bez použití Cache prodlouží na 300+2=302 takt. Pi použití instrukní Cache bude sbrnicový cyklus trvat 300+1,3=301,3 takt. Zkrácení doby potebné k vykonání programu a jemu odpovídající navýšení výpoetního výkonu lze vyíslit takto: 302 301,3 *100 = 0,23% 302 Z výpot je zejmé, že použití samotné instrukní Cache (bez datové Cache) v systému CISC je neefektivní. 7.4 Cviení k probrané kapitole Vysvtlete podstatu zde uvedených implementací Cache. Objasnte výhody a nevýhody použit logické Cache. Popište vlastnosti systému využívajícího instrukní Cache. 20 / 44

8 Virtuální pam Klíové pojmy: blok, stránka, segment, swapping, thrashing efekt. 8.1 Virtuální pamový prostor, bloky stránky segmenty S tímto pojmem souvisí schopnost systému adresovat vtší pamový prostor, než jaká je velikost hlavní pamti (napíklad: 32b adresou lze obsloužit prostor 4GB (4 294 967 296 B)). Virtuální prostor má však velikost 64TB. Pi použití virtuální pamti se programátor nemusí zabývat tím, jak jsou fyzicky uložena. Software-ová architektura systému tedy není závislá na jeho Hardware-ové struktue. Virtuální adresy jsou za bhu programu pekládány na adresy fyzické. K pekladu adres se využívají pekladové tabulky (deskriptory). Aby tyto tabulky nebyly píliš velké, nepekládají se adresy samostatných bajt, ale vtších pamových blok. Bloky jsou oznaovány jako stránky, nebo segmenty. Stránky mají shodnou velikost, segmenty mívají rznou velikost. Jsou-li bloky velké, pak je jich mén a pekladové tabulky jsou menší. Ale penos velkých blok trvá delší dobu. (A obrácen.) Je tedy poteba volit optimální velikost blok. bajt stránka proces K objasnní pekladu virtuální adresy na adresu fyzickou Peklad virtuální adresy na adresu fyzickou probíhá takto: Každý proces má pidlenou vlastní tabulku stránek. Jednotka správy pamti má registr báze tabulky stránek, který ukazuje na zaátek tabulky stránek aktivního procesu. Pitením ísla stránky k bázi tabulky stránek vznikne fyzická adresa stránky. K fyzické adrese stránky se pite tzv. Offset (pozice bajtu na stránce) a získaný údaj je fyzickou adresou bajtu. Peklad musí probíhat dostatenou rychlostí, aby ztráta zpsobená procesem pekladu nepevýšila výhody virtuálního adresování. 8.2 Virtuální pamové schéma Virtuální pamové schéma je tak úinné proto, že programy obvykle neadresují bu ky pamti nahodile, ale vždy v urité lokalit. Je-li pam schopna pojmout volané programové segmenty a potebná bží program bez nárok na správu pamti (rychle). Nastane-li situace, kdy nebo ást programu není v pamti, musí µ-procesor tyto chybjící prvky zavést ze sekundární pamti (HDD, CD-ROM, FDD). Zavedení však pedchází uvolnní prostoru v hlavní pamti. Proces se jako celek nazývá Swapping (výmna). V ideálním pípad jsou do hlavní pamti zavedeny pouze potebné ásti programu a na žádost. 21 / 44

Stránkování a segmentování jsou dva v praxi používané zpsoby implementace virtuální pamti. V segmentovém systému je poet blok omezený (segmenty jsou rozsáhlé). Jsou-li vym ovány segmenty rzné velikosti, mohou vznikat v pamti nevyužitelné fragmenty až do doby, kdy se z nich vytvoí prostor pro segment. uvolnné místo zaplnné menším segmentem nevyužitelné místo obsazená pam volný prostor Fragmentace pamového prostoru Další nevýhoda segmentového systému se projeví v multitaskingu. Segmenty musí být vym ovány velmi asto a s ohledem na jejich velikost jsou nkterá pesouvána zbyten (vznikají asové ztráty). Pi stránkovém schématu jsou mnny pouze menší stránky a proto, že stránky mají shodnou velikost nedochází k fragmentaci. Zpoždní, které vzniklo pesouváním blok pi výmn task vede k poklesu výpoetního výkonu. Pokud jsou asové ztráty velké, pak vzniklý jev nazýváme Thrashing efekt. Za této situace je vtšina asu spotebována k pesunu blok. 8.3 Cviení k probrané kapitole Pojednejte o dvodech vedoucích k zavedení virtuálního pamového prostoru. Popište proces pekladu virtuální adresy na adresu fyzickou. Objasnte pojem Thrashing efekt. 22 / 44

9 Rysy architektury mikroprocesor Pentium Klíové pojmy: fronty u a v pedvídání skok, MMX, párování instrukcí. 9.1 Nkteré rysy architektury Pentium Mikroprocesor Pentium integruje vlastnosti svého pedchdce µ-procesoru 80486. Programy urené pro µ-procesory 80386 a 80486 lze spouštt i na poítai osazeném µ-procesorem Pentium. Kompatibilní je i správa pamti. Mikroprocesor Pentium má ve srovnání s µ-procesorem 80486 adu vylepšení, nkteré z nich budou v dalším textu uvedeny. dynamické pedvídání skok zetzená FPU 5 zkrácení doby potebné k provádní instrukcí oddlené 8kB datové a instrukní vyrovnávací pamti 64b sbrnice zetzení sbrnicového cyklu,... Zetzené provádní instrukcí U tohoto µ-procesoru to znamená, že instrukce mohou být samostatn a nezávisle provádny ve dvou frontách pro zetzené zpracování instrukcí a v FPU. Každá fronta se zetzeným zpracováním dokoní v každém cyklu jednu bžnou instrukci, FPU dokoní v každém cyklu jednu vyjímen dv instrukce. Vtšina instrukcí je provádna v pti fázích, které výrobce oznauje takto: PF (Prefetch) ~ výbr instrukce D1 (Instruction Decode) ~ dekódování instrukce D2 (Address Generate) ~ generování adresy EX (Execute) ~ provedení instrukce WB (Write Back) ~ dokonení instrukce K provádní každé fáze je urena samostatná jednotka (každá tato jednotka je navíc zdvojená). PF D1 D2 EX WB u v u v u v u v u v I1 I2 I3 I4 I1 I2 I5 I6 I3 I4 I1 I2 I7 I8 I5 I6 I3 I4 I1 I2 I7 I8 I5 I6 I3 I4 I1 I2 I7 I8 I5 I6 I3 I4 I7 I8 I5 I6 I7 I8 as Zpracovávání instrukcí ve frontách "u" a "v" K vykonávání instrukcí ve zetzených frontách u a v jsou instrukce párovány. V obou frontách souasn lze vykonávat pouze jednoduché instrukce (instrukce, které svým charakterem odpovídající instrukcím RISC). 5 FPU ~ Floating Point Unit (koprocesor s plovoucí ádovou árkou) 23 / 44

Složitjší instrukce jsou provádny samostatn pouze ve front u. Instrukce, která je vykonávána ve front v je vždy instrukcí následující za instrukcí ve front u. Pro vytvoení lepší pedstavy o struktue µ-procesoru Pentium je zde uvedeno zjednodušené blokové schéma propojení hlavních blok. address cache BTB 64b 32b adress control 256b prefetch buffers control unit bus unit ALU u ALU v FPU 32b page unit 64b cache Redukované blokové schéma mikroprocesoru Pentium 9.2 Provádní instrukcí u µ-procesoru Pentium V dalším textu bude strun popsána innost jednotlivých blok, které tvoí jednotky pro zetzené provádní instrukcí. Prefetch ~ instrukce je vybrána z interní vyrovnávací pamti (Cache), nebo z operaní pamti. V dsledku oddlení Cache pro instrukce a nedochází ke konfliktm. Není-li instrukce v Cache, naítá se z operaní pamti. K výbru instrukce se používají dv 32B pomocné pamti. Výbr instrukce se provádí sekvenn, nebo v souladu s obsahem pamti adres skok. Ze dvou instrukcí, které pichází v úvahu se nakonec provede ta, na niž vyhodnocení skoku vede. Instruction Decode ~ blok rozhoduje, zda lze instrukci provést v páru nebo pouze samostatn ve front u. Zde rovnž dochází k vyhodnocení prefix instrukce. Address Generate ~ blok vyíslí adresu operandu. (Vyíslení = pímá hodnota + pírstek, nebo báze+index). Vyíslení probhne v jediném cyklu (u 80486 bylo poteba dvou cykl). Execute ~ v bloku probíhá zpracování operandu v registru i výbr dat z interní datové Cache a jejich zptný zápis. (Pi manipulaci s Cache jsou nutné dva hodinové cykly). Write Back ~ blok slouží k dokonení instrukce a ke zmn stavu µ-procesoru vyvolané realizovanou instrukcí. 24 / 44

9.3 Pedvídání skok u µ-procesoru Pentium Pentium má implementován mechanizmus pedvídání výsledk skokových instrukcí. Algoritmus ídící innost tohoto mechanismu je založen na následující úvaze: V programech se asto vyskytují cykly (nkteré úlohy jsou ešeny iteraními technikami). Tla cykl se mnohonásobn opakují (asto tedy dochází ke skokm na poátek tla cyklu). Pouze jednou po splnní podmínky je tlo cyklu opuštno (ke skoku nedojde). Ukázka iteraního postupu k výpotu druhé odmocniny: Jestliže platí y = x, pak y lze vypoíst po nkolika krocích využitím následujícího vztahu. 1 x y i+ 1 = ( + yi ) 2 y Výchozí hodnotu y 1 lze zvolit napíklad 1, nebo odhadem. Výpoet bude opakovan provádn do doby než rozdíl pedchozího a souasného výsledku v absolutní hodnot nepoklesne pod stanovenou mez. Pedchozí µ-procesory i v pípad, že mly implementovanou Pipeline její úinnost nedokázaly pln využít, protože vlivem skok musela být asto vyprazd ována. i Po dokonení instrukce se zjistilo, že skok byl. Nová položka do BTB. "historické bity" = 11 píští pedpoklad = skok bude Po dokonení instrukce se zjistilo, že skok byl. Po dokonení instrukce se zjistilo, že skok nebyl. Po dokonení instrukce se zjistilo, že skok byl. po dokonení instrukce se zjistilo, že skok byl. "historické bity" = 10 píští pedpoklad = skok bude "historické bity" = 01 píští pedpoklad = skok bude "historické bity" = 00 píští pedpoklad = skok nebude Po dokonení instrukce se zjistilo, že skok nebyl. Po dokonení instrukce se zjistilo, že skok nebyl. Logický automat pro predikci skok Po dokonení instrukce se zjistilo, že skok nebyl. 25 / 44

V Pentiu je za úelem predikce skok BTB (Branch Target Buffer), což je pam adres skok. Mikroprocesor zde ukládá adresy skokových instrukcí získané bhem fáze D1 (dekódování adres) a dopl uje k nim dva bity zaznamenávající historii skok. Pi výbru instrukce je testován obsah BTB, je-li v nm požadovaná položka nalezena, zjišuje se pedpoklad ke skoku. Je-li tento pedpoklad, vybírají se instrukce poínaje tou, na kterou smuje operand skokové instrukce. Pokud byla pedpov chybná, vybrané instrukce jsou zavrženy (Pipeline se musí vyprázdnit ~ výpoetní výkon µ-procesoru podstatn poklesne) a výbr se opakuje od správné adresy. Bity dokumentující historii skok jsou zpracovávány logickým automatem (viz schéma na pedchozí stránce). Funkci logického automatu lze popsat takto: BTB je ve své podstat tycestná asociativní pam, která obsahuje 4*64=256 položek. BTB uchovává cílové adresy skokových instrukcí a bity dokumentující historii skok. Nová položka je do BTB vkládána na náhodn vybrané místo (mže dojít k vymazání položky, která ješt bude potebná). Výchozí hodnota bit dokumentujících historii skok je 11. Hodnota tchto bit je pi opakovaném zpracovávání instrukce prbžn testována a využívána k rozhodnutí o zavedení instrukcí do Pipeline. Hodnota bit dokumentujících historii skok je vždy po dokonení instrukce (podle toho zda ke skoku došlo, nebo nikoli) aktualizována. Jak je vidt ze schématu je-li hodnota historických bit nenulová, pedpokládá se, že ke skoku dojde. 9.4 Pravidla párování instrukcí u µ-procesoru Pentium Jak již bylo uvedeno, µ-procesor Pentium a jeho nástupci jsou uzpsobeny k párování a soubžnému provádní instrukcí. Vše je zaízeno tak, aby z pohledu programátora byly instrukce provádny postupn. Ke spojování instrukcí do pár musí být splnny následující pedpoklady: Instrukce musí být jednoduché. Nesmí vyžadovat mikrokódy tedy instrukce typické pro RISC a musí být realizovány v prbhu jediného cyklu. Jedná-li se o instrukce realizované FPU mohou trvat i 2 3 cykly. Mezi instrukcemi nesmí být vztah tení až po zápisu a obrácen. Žádná instrukce nesmí mít výpoet adresy realizován ze dvou ástí (z pímé hodnoty a zárove z pírstku). Instrukce s prefixy lze realizovat pouze ve front u. Skokové instrukce smjí být pi párování realizovány pouze ve front v. Nelze je párovat s následující sekvenní instrukcí. Nelze párovat instrukce vázané pes registry. (Jejich obsah mže být ešením paralelní instrukce zmnn.) cykly. Jsou-li zpracovávány instrukce s operandem v hlavní pamti, prodlouží se dokonení instrukce o 2 3 Pentium využívá pi své innosti signály IU, IV, IBT, které vypovídají o využití jednotlivých front ke zpracovávání instrukcí. IU IV IBT odpovídající akce 0 0 0 Nebyla dokonena žádná instrukce. 0 0 1 Tato kombinace hodnot bit nemže nastat. 0 1 0 Tato kombinace hodnot bit nemže nastat. 0 1 1 Tato kombinace hodnot bit nemže nastat. 1 0 0 Byla dokonena neskoková instrukce ve front u. 1 0 1 Byla dokonena skoková instrukce ve front u. 1 1 0 Byly dokoneny instrukce v obou frontách (ob neskokové). 1 1 1 Byly dokoneny instrukce v obou frontách, ve front v skoková. Signál IU je nastaven po dokonení instrukce ve front u. Signál IV je nastaven po dokonení instrukce ve front v. Signál IBT je nastaven po dokonení skokové instrukce. 26 / 44

9.5 Technologie MMX u µ-procesor Pentium Zkratka MMX vznikla ze slov Multi Media extensions. Jedná se v podstat o multimediální rozšíení (podporu). 8. 1. 1997 byla zapoata nová etapa ve vývoji µ-procesor. Firma Intel ve spolupráci s firmami Macromedia a Adobe analyzovala nejastji realizované operace pi zpracovávání program s multimediálními daty. Na základ této analýzy byly do Pentia zabudovány optimalizované instrukce k podpoe multimediálních aplikací. Jednalo se tehdy o 57 instrukcí, které umožnily simultánní zpracování dat. Bez MMX byla pro grafiku zpracovávána pouze osmi bitov a pro zvuk šestnácti bitov. Technologie MMX umožnila vložit do 64b registru a zpracovat je jedinou operací. Výsledkem tohoto opatení bylo zvýšení výpoetního výkonu pi práci s grafikou a zvukem až o 60%. Ke zrychlení však dojde pouze u program, které jsou pro MMX pipraveny. Mikroprocesory vybavené technologií MMX byly instalovány do speciálních základních desek s ipovými sadami podporujícími MMX. Mikroprocesor s technologií MMX je vybaven osmi 64b registry pro simultánní zpracování multimediálních dat. Rozborem multimediálních aplikací bylo zjištno, že nejastji jsou realizovány: Operace s celoíselnými daty. Krátké a rychle se opakující smyky. Výpoetn nároné algoritmy. Paraleln realizované instrukce. Z tchto zjištní se vycházelo pi sestavování požadavk na obecn použitelné instrukce, které se staly souástí technologie MMX. Základem technologie MMX je SIMD (Single Instruction Multiple Data). Velmi zjednodušen se dá íci, že pvodní Pentium zpracovává jen slova, ale Pentium s MMX celé vty. První µ-procesory vybavené MMX byly vyrobeny technologií 0,35µm a byly vybaveny vyrovnávací pamtí o velikosti 32kB. Zárove u nich byl pepracován algoritmus pedvídání skok tak, že i bez využívání MMX dochází k nárstu výkonu asi o 20%. Program využívající MMX po spuštní otestuje prostednictvím instrukce CPUID (Central Processor Unit IDentification) použitý µ-procesor. Test se provádí proto, aby se systém se starším µ-procesorem nezhroutil. Je-li zjištno, že µ-procesor není vybaven technologií MMX, bží program v režimu, který se nesnaží výhody MMX využívat. Firma AMD o nco pozdji k pvodnímu souboru instrukcí pro podporu multimediálních aplikací doplnila další instrukce a firma Intel tato rozšíení odkoupila. 9.6 Nástupci µ-procesoru Pentium Prvním nástupcem Pentia u firmy Intel byl µ-procesor Pentium Pro. Velmi strun jej lze charakterizovat asi takto. Byla doplnna Cache L2, ada instrukcí je realizována na principech RISC, Pipeline byla rozšíena na 14, byla implementována technika Dynamic Execution (jedná se o pedpov skok na základ analýzy programu a zámnu poadí zpracování instrukcí). Mikroprocesor podporuje práci v multiprocesorovém režimu, není však optimalizován k provádní 16b instrukcí (vznikají problémy s Pipeline). Technicky byl tento µ-procesor na velmi dobré úrovni, vlivem nedostaten rozvinuté technologie výroby ip v té dob však u nj byl nevýhodný pomr cena / výpoetní výkon. Dalším nástupcem Pentia byl µ-procesor Pentium II. Integruje v sob technologie Pentia Pro a MMX. Bylo zde použito nové pouzdro s lepší architekturou sbrnic. Toto uspoádání zvýšilo propustnost sbrnic trojnásobn. Byla zde použita i technika Dynamic Execution a v µ-procesoru byl rezervován prostor pro 40 již dekódovaných instrukcí. Tyto instrukce jsou pipraveny a budou provedeny v okamžiku, kdy budou dostupné jejich operandy. Mikroprocesor byl dále vybaven dvouúrov ovým systémem predikce skok s adaptivním charakterem. Sbrnice Cache L2 pracovala vzhledem k procesorovému jádru na poloviním kmitotu. K výrob bylo používáno technologie 0,25µm. K nástupcm Pentia patí i µ-procesor Celeron. První kusy byly realizovány podobn jako Pentium II, ale bez Cache L2. Ukázalo se však, že výpoetní výkon byl velmi malý. Celeron 300A s implementovaným 27 / 44