Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
7. Fejezet A processzor és a memória
Hardver és Szoftver rendszerek architektúrája: Egy Információ Technológiai Szemlélet 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley College Linda Senne, Bentley College
2
A CPU 3 fő összetevője ALU (Arithmetic Logic Unit=Aritmetikai Logikai Egység) Számolást és összehasonlítás hajtja végre (adatok megváltoznak) CU (Control Unit=Vezérlő Egység): elvégzi a fetch/execute folyamatokat Funkciók: A CPU regisztereiben az adatokkal végez műveleteket (nem változnak meg az adatok) Program utasításokkal és parancsokkal látja el az ALU-t Részei: Memory management unit (Memória Vezérlő Egység): ellenőrzi a „fetch”-elő, és adat műveleteket I/O Interfész: néha egybeépítik a memória vezérlővel, melyet Bust Interface Unit-nak nevezünk Regiszterek Példa: Program counter (PC – program számláló) vagy instruction pointer (utasítás mutató) meghatározza a következő utasítást a futtatáshoz
3
Felépítés
4
Little Man Computer=LMC
5
A regiszterek tulajdonságai
Kicsi, örök tárolóhelyek a CPU-n belül, amiket részeredményekhez használ A Vezérlő egység (CU) vezérli őket Speciális használatra vannak tervezve Méret bit-ben, vagy byte-ban Tárolni tud adatot, címzést és utasítást Hány regisztere van az LMC-nek?
6
Regiszterek Regiszterek használata A regiszterek általában
„Scratchpad” a valós időben futott programokért A fontosabb, vagy a gyakran használt adatokat tárolja A CPU és a futó program állapotát tárolja A következő program utasítás címe Külső eszközökből érkező jelek A regiszterek általában Felhasználó számára láthatóak Megszakítási és adat értékeket tartalmaz Megegyezik az LMC számológépével Minden processzorban van néhány tucat
7
Speciális regiszterek
Program Count Register=Program számláló regiszter (PC) Instruction pointernek (utasítás mutató) is hívjuk Instruction Register=Utasítás regiszter (IR) Memóriából származó utasításokat tartalmaz Memory Address Register=Memória Cím Regiszter (MAR) Memory Data Register=Memória Adat Regiszter (MDR) Status Registers=Állapot Regiszterek A processzor és a futó program állapotát tartalmazza Flag-eket (Zászlókat) (egy bites logikai változókat) tartalmaznak, hogy nyomon kövessék a túlcsordulási, elektromos és belső hibákat
8
Regiszter műveletek Más helyekről származó értékeket tárol (regiszterek és memóriák) Összeadás és kivonás Adatok mozgatása (Shift, Rotate – Eltolás, Felcserélés) Ellenőrzi a tartalmat, pl.: nulla vagy pozitív
9
A memória működése Minden memóriatartomány egyedi címmel rendelkezik
Az utasítás címe a Memória Cím Regiszterbe kerül, amely megtalálja a helyét a memóriában A processzor határozza meg, hogy tároljon vagy olvasson adatot A Memória Adat Regiszter és a memória közötti szállítási helyet igényel A Memória Adat Regiszter kétirányú regiszter
10
Kapcsolatok a MAR, a MDR és a Memory között
Cím adatok
11
MAR-MDR példa
12
A memória vizuális ábrázolása
13
Egyes memória cella
14
Memória-kapacitás Két tényező határozza meg
1. A MAR-ban lévő bitek száma LMC = 100 ( ) 2K, ahol K = a regiszter szélessége bitekben 2. Az utasítások címeinek mérete 4 bit enged 16 helyet meg 8 bit enged 256 helyet meg 32 bit 4,294,967,296 vagy 4 GB-ot enged meg Fontos megjegyzés a teljesítményhez A kevés memória arra kényszerítheti a processzort, hogy 50%-alatt dolgozzon
15
RAM: Random Access Memory (Véletlen elérésű memória)
DRAM (Dynamic RAM=Dinamikus memória) Legáltalánosabb, olcsó Tartalmát hamar elveszti: másodpercenként 1000-szer kell frissülnie SRAM (Statikus RAM) Gyorsabb és drágább, mint a DRAM Tartalmát hamar elveszti Keveset használnak belőle a Cache memóriában, a gyors eléréshez
16
ROM - Read Only Memory (Csak olvasható memória)
Stabil memória a program tárolásához, amely nem várt eseménykor is megóvja a tartalmát!! Mágneses magmemória EEPROM Electrically Erasable Programmable ROM (Elektromosan törölhető és programozható ROM) Lassabb és kevésbé stabil, mint a FLASH ROM Flash ROM Gyorsabb, mint a meghajtók, de sokkal drágább is Felhasználási területek: BIOS: kezdeti BOOT parancsok és ellenőrzések Digitális kamerák
17
Fetch-Execute ciklus Két ciklusú művelet, mert mind a utasítás, mind az adat a memóriában van Fetch Megtalálja vagy dekódolja az utasításokat, a memóriából a regiszterekbe és az ALU-ba tölti Execute Műveleteket futtat, amire az utasításoknak szükségük van Adatok mozgatása/szállítása
18
LMC vs. CPU Fetch és Execute ciklus
19
Betöltés Fetch/Execute ciklus
PC -> MAR Az adatokat a PC-ből a MAR-ba szállítja MDR -> IR Az adatokat az IR-be szállítja IR(address) -> MAR Az utasítások cím részletei betöltődnek a MAR-ba MDR -> A Az aktuális adatokat a tárolóba másolja PC + 1 -> PC A programszámláló növelése
20
Tárolás Fetch/Execute ciklus
PC -> MAR Az adatokat a PC-ből a MAR-ba szállítja MDR -> IR Az adatokat az IR-be szállítja IR(address) -> MAR Az utasítások cím részletei betöltődnek a MAR-ba A -> MDR* A tárból az MDR-be másolja az adatokat PC + 1 -> PC A programszámláló növelése *figyelem a 4-es pont megváltozott a betöltéshez képest
21
ADD Fetch/Execute Cycle
PC -> MAR Az adatokat a PC-ből a MAR-ba szállítja MDR -> IR Az adatokat az IR-be szállítja IR(address) -> MAR Az utasítások cím részletei betöltődnek a MAR-ba A + MDR -> A Az MDR tartalma a tár tartalmához adódik PC + 1 -> PC A programszámláló növelése
22
LMC Fetch/Execute Kivonás PC MAR MDR IR IR[addr] MAR A – MDR A
PC + 1 PC Bemenet PC MAR MDR IR IOR A PC + 1 PC Kimenet PC MAR MDR IR A IOR PC + 1 PC Szünet PC MAR MDR IR Elosztás PC MAR MDR IR IR[addr] PC Feltételes felosztás PC MAR MDR IR Ha a feltétel hamis: PC + 1 PC Ha a feltétel igaz: IR[addr] PC
23
Busz Fizikai kapcsolat, ami lehetővé teszi az adatátvitelt a számítógép rendszer két pontja között Elektromos ellenőrző csoportok a két pontok közötti jel átvitelekhez Line: minden ellenőrzési pont egy buszon 4 fajta jel Adat (alfa-numerikus, numerikus, utasítások) Címek Vezérlő jelek Táp (néha)
24
Busz Processzort és a memóriát köti össze
I/O perifériák: egy buszon, mint a CPU/memória vagy külön busz Fizikai csomagolás, általában backplane-nek hívják Rendszerbusznak és külső busznak is hívják Példák broadcast busz A kör alakú tábla lenyomatának egy részét motherboard-nak (alaplap) hívják irányítja a CPU-t és összekapcsolja az összetevőket
25
Busz karakterisztikák
Protokoll Megegyezések dokumentálása a kommunikációhoz Világosan megmagyarázza az összes vonal és a vonalakon lévő minden jel jelentését Eredmény, az adat átvitel mértékegysége bit/másodperc Az adat sávszélességet bitekben szállítja párhuzamosan
26
Pontról pontra vs. Több pontos
Plug-in eszköz Broadcast bus példa: Ethernet Megosztott, összetett eszközök között
27
Az alaplap Nyomtatott áramkör, melyen a processzor és egyéb fő elemek találhatók
28
Tipikus PC kapcsolások
Busz interface bridge-ek (Buszokat összekötő hidak) különböző busz típusokat kapcsolnak össze
29
PCI Busz kapcsolatok
30
Utasítások Utasítás Utasítás beállítás
Az irányítás átadása a számítógépnek Elektromos jeleket küld különböző specifikus áramkörön keresztül a feldolgozásnak Utasítás beállítás A funkciót a processzor határozza meg Elkülönült számítógép architektúrák Utasítások száma Az adatok összetettsége végrehajtása egyedi utasítások szerint Támogatott adattípusok Formázás (layout, fixed vs. variable length – kinézet, Fix vs. Változó hossz) Regiszterek használata Címzés (méret, módok)
31
Utasítások elemei OP kód: feladat Műveletek forráskódja
Művelet eredménye Adat helye (regiszter, memória) Explicit: tartalmazza az utasítást Implicit: alapértelmezés Címek OP kód Forráskód Művelet Eredmény
32
Utasítás formátumok Számítógép-specifikus: OP kód hossza
Műveletek száma Műveletek hossza Egyszerű 32-bites utasítás
33
Utasítás formátumok: CISC
34
Utasítás formátumok: RISC
35
Utasítás típusok Adatműveletek (betöltés, tárolás) Aritmetikai
Legismertebb, leghatékonyabb A memória és a regiszterek közötti kapcsolat Mekkora a word adattípus? 16? 32? 64 bit? Aritmetikai Operátorok: + - / * ^ Egészek és lebegőpontosak Relációs vagy logikai Relációs operátorok: > < = Logikai operátorok: AND, OR, XOR, NOR, és NOT Egyszerű operandusokat kezelő utasítások Negáció, dekrementálás, inkrementálás
36
Egyéb utasítástípusok
Bitmanipuláló utasítások Flag-ek (Zászlók) a feltételek tesztelésére Eltolás és felcserélés Program irányítás Verem utasítások Összetett adat utasítások I/O és számítógép utasítás
37
Regiszter eltolás és felcserélés
38
Program irányító utasítások
Program irányítás Ugrás és elágazás Szubrutin hívása és visszatérés
39
Verem utasítások Verem utasítások
LIFO (utolsó be, első ki) eljárás, információ rendezésére A törölt elemeket a a visszavonáskor ugyanoda teszi vissza Elhelyezés Kivétel
40
Állandó hellyel rendelkező szubrutin címet visszaadó tárolás: Oops!
41
Verem szubrutin címet visszaadó tárolás
42
Összetett adat utasítások
Az adatok összetett részein párhuzamosan hajt végre egyszerű műveleteket SIMD: Single Instruction, Multiple Data (egyszerű utasítás, összetett adat) Intel MMX: 57 multimédiás utasítás Általában vektoriális és soros feldolgozó alkalmazásoknál használják
43
Copyright 2003 John Wiley & Sons
All rights reserved. Reproduction or translation of this work beyond that permitted in Section 117 of the 1976 United States Copyright Act without express permission of the copyright owner is unlawful. Request for further information should be addressed to the permissions Department, John Wiley & Songs, Inc. The purchaser may make back-up copies for his/her own use only and not for distribution or resale. The Publisher assumes no responsibility for errors, omissions, or damages caused by the use of these programs or from the use of the information contained herein.”
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.