Szmtgpek felptse 3 elads CPU utasts ciklus cmzs
- Slides: 64
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés Dr. Istenes Zoltán ELTE-TTK 1
3. előadás tartalma • • • A központi feldolgozó egység működése utasítás ciklus utasítás szerkezet címzési módok utasítás típusok, utasítás készlet 2
Turing gép 1928 David Hilbert : létezik-e olyan gép vagy eljárás, amivel minden matematikai kérdés eldönthető ? 1936 Alan Turing : véges állapotú gép T szimbólum irás / olvasás „rekeszek”. . . ) w 8 X A w O. a. . . végtelen szalag balra / jobbra mozdulás működés : az olvasott jel és az állapot alapján • egy más szimbólumot tud visszaírni • állapotot vált • balra vagy jobbra mozdul a szalagon 3
Példa Turing gép működésére ”Ha „n” állapotban van, feladat : 01101110 -> 0111110 ha a fej „x” jelet olvas, szalag áll. megjegyzés írd az „y” jelet, 01101110 1 írj 0 -t, 2 -es állapot lépj balra vagy jobbra egyet, 01101110 2 végig az első szám 1 -esein legyen az új állapot „m”. 01101110 2 végig az első szám 1 -esein 01101110 2 első szám vége, 3 -as állapot áll. jel ír lép új áll. 01101110 3 1 -est 0 -ra átír, visszalép 01110110 4 0 -át 1 -re átír. . . 1 0 0 jobb 2 01110110 2 első szám vége, 3 -as állapot 2 0 0 jobb 3 01110110 3 1 -est 0 -ra átír, visszalép 2 1 1 jobb 2 01110010 4 0 -át 1 -re átír 3 0 üres bal 5 01111010 2 első szám vége, 3 -as állapot 3 1 0 bal 4 01111010 3 1 -est 0 -ra átír, visszalép 4 0 1 jobb 2 01111010 4 0 -át 1 -re átír 01111100 3 második szám vége, 0 -t 4 töröl 0111110 5 nincs ilyen állapot, vége
Egy egyszerű gép vázlata 5
Egy egyszerű gép Cél : • műveletvégzés adatokkal • adatok tárolása • műveletek végzése és egymásutáni végrehajtása • eredmény eltárolása • . . . 6
2 tárolós egyszerű logikai gép vázlata (műveleti egység) eredmény műveleti egység művelet választás 1. adat 2. adat 7
2 tárolós egyszerű logikai gép vázlata (program tároló) eredmény op program tároló műveleti egység művelet választás 1. adat 2. adat 8
2 tárolós egyszerű logikai gép vázlata (adat tároló) eredmény op x y program tároló adat tároló műveleti egység művelet választás 1. adat címe 1. adat 2. adat címe 2. adat 9
2 tárolós egyszerű logikai gép vázlata (következő utasítás címe) eredmény következő utasítás címe op x y a program tároló adat tároló műveleti egység művelet választás 1. adat címe 1. adat 2. adat címe 2. adat 10
2 tárolós egyszerű logikai gép vázlata („feltételes elágazás”) eredmény következő utasítás címe op x y a program tároló adat tároló műveleti egység művelet választás 1. adat címe 1. adat 2. adat címe 2. adat 11
Neumann elvű számítógép • • • bináris (digitális) elektronikus belső programvezérlés memória tárolja a programot és az adatokat soros feldolgozás 12
Egyszerű gép vázlata eredmény következő utasítás címe op x y a 1. adat címe memória (program+adat) műveleti egység művelet választás 2. adat címe 1. adat 2. adat 13
központi feldolgozó egység memória ki- és beviteli egység . . . 14
A központi feldolgozó egység • • feladata, kapcsolata a többi egységgel részei, felépítése működése megvalósítása 15
A központi feldolgozó egység részei A központi feldolgozó egység (Central Processing Unit - CPU) részei : • műveleti egység (aritmetikai logikai egység) (Arithmetic Logical Unit - ALU) • vezérlő egység (Control Unit - CU) • regiszterek (registers) • sínek (bus) 16
A CPU működése A processzor utasításciklusa 17
Utasítás ciklus Fetch („elérés”) : • Utasítás kód beolvasása • Utasítás kód értelmezése (dekódolás) • Operandusok beolvasása Execute („végrehajtás”) : • Műveletvégzés (ALU) • Eredmény tárolása • Következő utasítás címének kiszámítása 18
vezérlő jelek címsín ütemező utasítás dekodoló utasítás regiszter címképzés adat regiszterek adatsín utasítás számláló Utasítás végrehajtás funkcionális vázlata aritmetikai logikai egység tár pufferregiszter operatív tár címregiszter 19
Utasítás végrehajtás lépései 1. • meghatározni (címképzés) a tár címregiszterébe tölteni az 1. adat címét • adat a tárból az egyik adatregiszterbe 20
vezérlő jelek címsín ütemező utasítás dekodoló utasítás regiszter címképzés adat regiszterek adatsín utasítás számláló Utasítás végrehajtás lépései 1. aritmetikai logikai egység tár pufferregiszter operatív tár címregiszter 21
Utasítás végrehajtás lépései 2. • meghatározni (címképzés) a tár címregiszterébe tölteni az 2. adat címét • adat a tárból egy másik adatregiszterbe 22
vezérlő jelek címsín ütemező utasítás dekodoló utasítás regiszter címképzés adat regiszterek adatsín utasítás számláló Utasítás végrehajtás lépései 2. aritmetikai logikai egység tár pufferregiszter operatív tár címregiszter 23
Utasítás végrehajtás lépései 3. • utasítani az aritmetikai logikai egységet a művelet elvégzésére • eredmény tárolása egy adatregiszterben 24
vezérlő jelek címsín ütemező utasítás dekodoló utasítás regiszter címképzés adat regiszterek adatsín utasítás számláló Utasítás végrehajtás 3. aritmetikai logikai egység tár pufferregiszter operatív tár címregiszter 25
Utasítás végrehajtás lépései 4. • meghatározni (címképzés) a tár címregiszterébe tölteni az eredmény címét • az eredmény az adatregiszterből a tárba 26
vezérlő jelek címsín ütemező utasítás dekodoló utasítás regiszter címképzés adat regiszterek adatsín utasítás számláló Utasítás végrehajtás 4. aritmetikai logikai egység tár pufferregiszter operatív tár címregiszter 27
Utasítás végrehajtás lépései 5. • meghatározni a következő utasítás címét és a tár címregiszterébe tölteni • az utasítást a tárból az utasításregiszterbe tölteni 28
vezérlő jelek címsín ütemező utasítás dekodoló utasítás regiszter címképzés adat regiszterek adatsín utasítás számláló Utasítás végrehajtás 5. aritmetikai logikai egység tár pufferregiszter operatív tár címregiszter 29
Utasítás végrehajtás lépések összefoglalása • • • 1. adat címe, elérése, előkészítése 2. adat címe, elérése, előkészítése művelet elvégzése eredmény címe, eltárolása kővetkező utasítás címe, elérése, előkészítése 30
Utasítás végrehajtáshoz szükséges „információk” • vezérlőegységnek információ <- utasítás – elvégzendő művelet – 1. adat címe (helye) – 2. adat címe (helye) – erdmény címe (helye) – következő utasítás címe • nem lehetne máshogy ? ! 31
Utasítások tárolási formái utasítás szerkezet címzési módok utasítás típusok, utasítás készlet 32
Egy utasítás felépítése, részei műveleti kód módósításra utaló rész címrész 33
Utasítás formák 4, 3, 2, 1, 0 címes utasítás formák (a megadott címek száma szerint) 34
4 címes utasítás forma műveleti 1. adat 2. adat eredmény következő utasítás kód címe 35
3 címes utasítás forma műveleti 1. adat 2. adat eredmény következő utasítás kód címe program számláló utasítás számláló regiszter , Program Counter (PC) PC : = PC + utasítás hossz 36
2 címes utasítás forma műveleti 1. adat 2. adat eredmény kód címe az eredmény a 2. adat címére kerül 37
1 címes utasítás forma műveleti 1. adat 2. adat eredmény kód címe akkumulátor regiszter a 2. adat címe helyett akkumulátor regiszter, az eredmény az akkumulátor regiszterbe kerül 38
0 címes utasítás forma műveleti 1. adat kód címe eredmény címe akkumulátor regiszter a művelet az akkumulátor regiszteren hajtódik végre 39
Utasítás formák a címrész tartalma szerint 40
jelölések • S : tárcím • R : regisztercím • A : akkumulátor regiszter • I : közvetlen adat az utasításban • (S) : adat a tárban • (R) : adat a regiszterben • (A) : adat az akkumulátor regiszterben • MK : műveleti kód • @ : tetszőleges művelet • LI(n) : az n. utasítás hossza • SI(n) : az n. utasítás címe 41
4 címes : MK S 1 S 2 S 3 S 4 (S 1) @ (S 2) -> (S 3), SI(n+1) = S 4 3 címes : MK S 1 S 2 S 3 (S 1) @ (S 2) -> (S 3), SI(n+1) = SI(n) + LI(n) 2 címes : MK S 1 S 2 (S 1) @ (S 2) -> (S 2) ” 1 címes : MK S 1 (S 1) @ (A) -> (A) ” 0 címes : MK @ (A) -> (A) ” 42
1 R címes : MK R: @ (R) -> (R) 1 + R címes : MK R S : (R) @ (S) -> (R) vagy (R) @ (S) -> (S) 2 R címes : MK R 1 R 2 : (R 1) @ (R 2) -> (R 1) 3 R címes : MK R 1 R 2 R 3: (R 1) @ (R 2) -> (R 3) közvetlen operandusú : MK I S vagy MK I I @ (S) -> (S) vagy @ I -> (A) 43
Címzési módok címértelmezés címmegadás 44
Címértelmezés műv. kód adat közvetlen (immediat) adatmegadás regiszter adat műv. kód adat rejtett (inheritent), implicit címzés műv. kód 0 cím közvetlen (direkt) címzés műv. kód 1 cím közvetett (indirekt) címzés tár cím adat 45
Címmegadás műv. kód cím adat abszolút címmegadás bázis D + műv. kód cím (D) rövidített címmegadás adat D = displacement (eltolás) vagy „offset” 46
Rövidített címmegadás Mihez képest számítjuk a címet : • lapcímes : az adott lap kezdetétől • bázisregiszteres : bázisregiszter értékétől (általában a bázisregiszter tartalma rögzített) • mutatós (pointeres) : a meghatározott regiszter értékétől (a regiszter tartalma a program végrehajtása során változik, pld. PC) 47
Kombinált címzési módok • . . . • Címmódósítás : indexelés (vektor feldolgozása : első elem megadása, index automatikus növelése) • fix utasításhossz • változó utasításhossz 48
Utasítások kódolása Példa : 8 bites utasításhossz, 3 bites címhossz • 3 címes címzés lehetetlen • 2 címes címzés : marad 2 bites műveleti kód : 4 féle utasítás • 1 címes címzés : marad 5 bites műveleti kód : 32 féle utasítás • 0 címes címzés : 8 bites műveleti kód : 256 féle utasítás 50
Utasítások kódolása műveleti kód 1. cím 2 bit 3 bit 00 01 10 00 xxx xxx 2. cím 3 bit yyy yyy 51
Utasítások kódolása („expanding”) 2 bit 3 bit 2 bites műveleti kód 00 01 10 xxx yyy 3 db 2 címes utasítás 5 bites műveleti kód 11 11 000 001 010 011 100 101 110 111 8 db 1 címes utasítás yyy yyy 52
Eltérő címzésí módú gépek programozása példa (1) Adott 4 különféle típusú gép : • 0 címes gép (verem), pld. : ADD, PUSH, POP • 1 címes gép, pld. : ADD M = ACC <- (ACC) + (M) • 2 címes gép, pld. : ADD X, Y = X <- (X) + (Y) • 3 címes gép, pld. : ADD X, Y, Z = Z <- (X) + (Y) műveletek : MOV, ADD, SUB, DIV, MUL Kiszámolandó : • Z: = (A+B*C)/(D-E*F) 53
Eltérő címzésí módú gépek programozása példa (2) Adatok : • M - 20 bites memóriacím • X, Y, Z - 20 bites memória cím, vagy 3 bites regisztercím (R 0 -R 7) • a műveleti kód rész hossza 8 bit Kérdés mindegyik géptípusra (programra) : • az utasítások száma • a program mérete (bit-ben) 54 • a felhasznált regiszterek száma
Utasítás típusok 55
Utasítás típusok • adat-töltő, adat átvitel a számítógép funkcionális részei között • aritmetikai, logikai műveletek végzése adatokkal • program vezérlő, vezérlésátadás a program egyik részéről egy másik részére • speciális, rendszer vezérlő, hatékony működést segítő • I/O, adat átvitel a számítógép és a 56 környezete között
Adat-töltő • • Regiszter -> Memória -> Regiszter Memória -> Memória 57
Aritmetikai, Logikai • aritmetikai műveletek: + - * / (különféle adattípusokon) • logikai függvények: AND, OR, NOT, XOR • összehasonlítások, vizsgálatok • léptetések 58
Program vezérlő • feltétlen elágazás (ugró) • feltételes elágazás • szubrutin hívás 59
Rendszer vezérlő • HALT, WAIT • megszakítás kezelés • kölcsönös kizárás megvalósítása (Test And Set) 60
I/O • adatátvitel a periféria és a gép között • periféria vezérlése 61
• • REG ALU FLAG AC CU IR PC 62
Logikai struktura • • • adattípusok programozható regiszterek utasítás típusok (utasítás lista) utasítás formák címzési módok 63
Fizikai struktura • • • operatív tár műveleti (aritmetikai logikai) egység vezérlőegység megszakítási rendszer I/O rendszer 64
Összefoglalás 65
- Elads
- Elads crm
- Public candy companies
- Petfi
- Ciklus limunske kiseline
- Koeficijent obrta gotovine
- Motivacijski ciklus
- Visual basic feladatok megoldással
- Glembajevi analiza
- Direktna oksidacija glukoze
- Akonitat
- Anabolicki procesi u organizmu
- Motivacijski ciklus
- Biogeokemijski ciklusi
- Kelvinov ciklus
- Saldo gotovine
- Urokanát
- Stijenski ciklus
- Obrnut karnoov ciklus
- Gotovinski ciklus
- Psihologija marketinga
- Motivacijski ciklus
- Ciklus trikarbonskih kiselina
- Tanr
- Kolbov ciklus
- Tackasti dijagram
- Ciklus u prirodi
- Krebsov ciklus ukratko
- Gotovinski ciklus
- Centrozoma
- Fotofosforilacija
- Nadh koencim
- Pentóz foszfát ciklus
- Prirodni neprijatelji mrava
- Barboczy legenda
- Kalvinov ciklus
- What is apm configuration bios
- Cpu utilization factor
- Types of cpu scheduling
- Cpu z
- Cpu burst cycle
- How to calculate cpu performance
- I/o port eksternal
- Avr
- Stack based cpu
- Cpi in cpu
- Lmc code examples
- Hardware input
- Inf
- Enabling technologies for cloud computing
- External parts of system unit
- 아두이노 led 깜빡이기
- Arm cpu comparison
- Cpu
- Microprocessore cpu
- Buffer cpu
- Marie's cpu architecture
- Cpu peripheral
- Cpu flags
- Tensilica processor
- 8085 microprocessor block diagram
- Cpu instructions
- Rr 스케줄링
- Ukuran cpu
- Cpu scheduling project