1 / 29

Digitális technika

Digitális technika. V.) Számítógép architektúrák. Számítógépek. Programozható műveletvégző, adatfeldolgozó. Tárolás: Adatok Műveletsor. Neumann-elv. Bináris Műveletvégzés → Aritmetika Tárolás → Memória Be-, kimenet → Perifériák Vezérlés → Vezérlő egység. Aritmetika. Program.

kedma
Download Presentation

Digitális technika

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. Digitális technika V.) Számítógép architektúrák

  2. Számítógépek Programozható műveletvégző, adatfeldolgozó • Tárolás: • Adatok • Műveletsor

  3. Neumann-elv • Bináris • Műveletvégzés → Aritmetika • Tárolás → Memória • Be-, kimenet → Perifériák • Vezérlés → Vezérlő egység Aritmetika Program Vezérlő Kimenet Memória

  4. 4 címes utasítás-szervezés 5 mezős utasítás: • Redundás • Nagy méret • Programszámláló (PC) • Automatikus inkrementálás • Felülírható • Akkumulátor

  5. 1 címes utasítás szervezés • Cím = f ( Operációs Kód ) • Cím: • Adatcím • Adat • Utasítás cím

  6. 1 címes µP felépítése Flag ALU Bemeneti reg. Kimeneti reg. Akku Átmenti reg. Vezérlő CLK Dekóder Op. kód Cím Utasítás regiszter = Memória címreg. Adatregiszter PC Memória

  7. Korszerűbb µP felépítés → C(entral) P(rocessed) U(nit) • Külső memória • Külső periféria illesztők Perifériák Vezérlő egység Memória CPU RAM ROM I/O 1 I/O 2 I/O N Legkorszerűbb felépítés

  8. Intel 8085-ös CPU GND X1 VCC oszcillátorhoz kötve ← másik Master lefoglalta a sínt X2 HOLD CPU resetelve ← → fogadta a másik Master kérését Reset Out HLDA Soros kimeneti vonal ← → fosc / 2 SOD CLK OUT Soros bemeneti vonal → ← PC = 0, Regiszterek törlése SID RESET IN Nem maszkolható Restart interrupt → ← külső memória R/W műveletre kész Trap READY Restart Interrupt → → IO / Memória művelet, státusz RST 7.5 IO / M Restart Interrupt → → státusz RST 6.5 S1 Restart Interrupt → → adatbusz kész az olvasásra RD RST 5.5 Interrupt → → adatbuszon az adat már készen áll WR INTR Interrupt észlelve ← INTA → címtároló engedélyezése ALE AD0 → státusz S0 AD1 A15 AD2 A14 Cím-, és adatjel Multifunkciós, Tri-State AD3 A13 AD4 A12 Címjel, Tri-State AD5 A11 AD6 A10 AD7 A9 +5V VSS A8

  9. 8085-ből épült rendszer

  10. 8085-ös blokkvázlata IntA RST6.5 Trap SID SOD Intr RST5.5 RST7.5 Intr Megsz. kezelő. Soros I/O Műv. reg. Átmenti reg. B reg. C reg. A(kku) Flag D reg. E reg. H reg. L reg. ALU Verem pointer (SP) Ut. dekóder Program Száml. (PC) +/- cím tároló X1 Időzítés és vezérlés X2 Cím buffer Adat/Cím buff. Reset out CLK OUT IO/M HLDA RD WR S0 S1 Reset In Ready ALE HOLD AD0 – AD7 A8 – A15

  11. Programkód elkészítése 0000H A-ba 32D Assembly kód 0001H 0002H B-be 11D EEPROM memória 0003H A és B összeadása 0004H MVI A, 32D MVI B, 11D ADD B . . . STA 8000H HLT Assembly fordító és programozó 7FFEH STOP 7FFFH 8000H 8001H RAM memória FFFBH FFFCH FFFDH FFFEH FFFFH

  12. Alaputasítások végrehajtása • (Általában) Utasítás = Művelet + Operandus címe • Műveleti kód → utasítás hossza • Utasítás hossza: 1, 2, 3 byte (+ 0, 1, 2 byte)

  13. Assembly nyelv utasításai • Adatmozgatók • Aritmetikai és Logikai • Ugró: • Feltétel nélküli • Feltételes • Szubrutin hívó • Vegyes • I/O kezelés • Megszakítás vezérlők

  14. 1) Adatmozgató utasítások • MOV r1, r2(r2) → (r1) • MOV r, M((H)(L)) → (r) • MOV M, r(r) → ((H),(L)) • MVI r, data data → (r), 2B-os • MVI M, data data → ((H)(L)), 2B-os • LHLD addr M → (H)(L), 3B-os • XCHG (H) ↔ (D), (L) ↔ (E), 1B-os r: 8085-ös belső regisztere: 000 B; 001 C; 010 D; 011 E; 100 H; 101 L; 111 A(kku) M: külső memória 1 „rekeszének” címe D: cél regiszter kiválasztó bit S: forrás regiszter kiválasztó bit ((H)(L)): a H és L regiszterekben lévő memória címre történik

  15. 2) Aritmetikai és Logikai utasítások • ADD r (A) + (r) → (A) • ADD M(A) + ((H)(L)) → (A), kód: 86H, 2B-os • ADI data(A) + data → (A), kód: C6H, 2B-os • ADC r • ADC M • ACI data • SUB r (A) - (r) → (A) • SUB M(A) - ((H)(L)) → (A) • SUI data(A) - data → (A) • ANA r(A) & (r) → (A) • ANA M(A) & ((H)(L)) → (A) • ANI data(A) & data → (A), • ORA r / M / dataVAGY kapcsolat • XRA r / M / datakizáró VAGY kapcsolat • INR r / MInkrementálás • DCR r / MDekrementálás • CMP r / MKomparálás • CMAKomplemetálás (Akku) • PCHL (H,L) → (PC) • SPHL(H,L) → (SP)

  16. 3) Ugró utasítások • A feltétel a Flag regiszter tartalma. • Flag regiszter felépítése: • S: SIGNUM, előjel flag, S = 0 ↔ eredmény pozitív • Cy: CARRY, átvitel flag, Cy = 1 ↔ volt átvitel • Ac: járulékos átvitel flag • Z: ZERO flag, Z = 1 ↔ művelet eredménye = 0 • P: paritás flag, P = 0 ↔ eredmény páros • X5: alól/felül csordulást jelző flag • V: túlcsordulás flag.

  17. Ugró utasítások • JMP addr feltétel nélkül, kód: C3H, 3B • Feltételes ugró utasítás: • JZ addrugrik,ha Z(ero) flag = 1, CCC = 001B • JNZ addr ha Z flag = 0, CCC = 000B • JC addr ha C(arry) flag = 1, CCC = 011B • JNC addr ha C flag = 0, CCC = 010B • JPO addr ha a paritás páratlan, CCC = 100B • JPE addrha a paritás páros, CCC = 101B

  18. 4) Szubrutin hívás, utasításai MVI B, 3D ;ez lesz a szorzó MVI C, 10D ;ez a szorzandó CALL SZOR ;szorzo szubrutin meghívasa CALL KIIR ;kiiro szubrutin meghivasa . SZOR: ;szubrutin fejléce PUSH PSW ;A es flag-ek mentese a verembe DCR B ;B=B-1 MOV A, C ;C masolasa A-ba ADD C ; A=A+C DCR B ;B=B-1 JNZ 13A1H ;visszaugras, ha meg kell szorozni MOV D, A ;eredmeny (A) mentese D-be POP PSW ;hivast megelozo alapot beallitasa RET ;visszatoltes, visszaugras END ► ► ► ► ► ► ► ► ► ► ► ► ► ► ► ► Szubrutin: a kódban egyszer definiált eljárás, melyet akárhányszor hívhatunk meg, használhatunk fel. A= B= C= D= ZF= 10 20 30 3 2 1 0 10 30 0 1

  19. Szubrutin hívás • CALL „utasítás”SP-be az aktuális PC cím beírása (ide tér vissza),szubrutin hívása, 3B, kód: CD • RETSP-ből PC feltöltése, 1B, kód: C9H

  20. 5) Soros IO vezérlő utasítások • SIM”A” 7. bitjét kiteszi a SOD vonalra, 1B, kód: 30H • RIM”A” regiszter 7. bitjébe menti a SID vonal állapotát, 1B

  21. 6) Megszakítás kezelés • µP-ban „főprogram” fut. Külső periféria kiszolgálást kér. A µP elmenti aktuális állapotát (PC, Flag regiszter, regiszterek), majd meghívja a megszakítást lekezelő „megszakítási szubrutint”. • Jelzés lehet: • Belső interrupt kezelővel (TRAP, RST vonalak) • Külső IC-vel • EIEnable Interrupt, megszakítás engedélyezése, 1B, FBH • DIDisable Interrupt, megszakítás tiltása, 1B, F3H • Megszakítások egymásba „skatulyázhatók” (ha a prioritás engedi) • Megszakítási szubrutin felépítése: • µP állapotának mentése (PUSH) • EI? • Megszakítási program • Állapot visszaállítása (POP) • EI? • RET • A µP az INTA kimeneten jelzi a külvilág (megszakítást kérő felé), hogy a megszakítás regisztrálva lett

  22. Belső megszakítás kezelő IntA RST6.5 Trap • 8 prioritási szint: • IT0→ 0000H • IT1 → 0008H • . • TRAP →0024H • RST5.5 →002CH • RST6.5 →0034H • RST7.5 →003CH Intr RST5.5 RST7.5 Intr Megsz. kezelő. INTR7.5: maszkolható, 1. legnagyobb prioritás, felfutó élre aktív INTR6.5: maszkolható, 2. legnagyobb prioritás, szintre érzékeny INTR5.5: maszkolható, 3. legnagyobb prioritás, szintre érzékeny TRAP (RST4.5):nem tiltható 4.legnagyobb prioritás INTR: maszkolható (tiltható), legkisebb prioritású

  23. D(irect) M(memory) A(cces) mód HOLD HLDA • HOLD bemeneten jelezheti egy másik Master a µP felé, hogy le akarja foglalni a sínt. • HLDA kimeneten jelzi a µP , hogy elengedte a sínt.

  24. Adat címzési módok:A) Közvetlen operandusú • utasításban van az adat. Pl.: ADI 32D µP belső Regiszterei B A PC SP Műveleti kód + Adat Memória Cím információ Adat információ Regiszter utalás

  25. B) Direkt címzés • A műveleti kód mellet megtalálható az operandus memória címe. Pl.: JNZ 1345H (itt van az operandus). Utasítás 3B-os!!! µP belső Regiszterei B A PC SP Műveleti kód + Cím Memória Operandus Cím információ Adat információ Regiszter utalás

  26. C) Indirekt címzés • A műveleti kód által hivatkozott regiszter/cím az operandus címét tartalmazzaH, L regiszter pár tartalmazza a címet. Pl.: MVI M, 11D µP belső Regiszterei B A PC SP Műveleti kód + Cím Memória Cím Operandus Cím információ Adat információ Regiszter utalás

  27. D) Bázis regiszteres címzés • Műveleti kódban utalás az operandust tartalmazó regiszterre. Pl.: MOV A, B µP belső Regiszterei B A PC SP Műveleti kód + Regiszter Memória Cím információ Adat információ Regiszter utalás

  28. E) PC relatív címzés • A címet a PC és a műveleti kód (~offszet) együttesen adják 0D, 1D, 2D, …nD µP belső Regiszterei B A PC SP Műveleti kód + Offszet Memória Operandus0 Operandus1 Operandus2 . Operanuds n + Cím információ Adat információ Regiszter utalás

  29. F) Indexelt címzés • A címet a PC és valamely regiszter tartalma (~offszet) együttesen adják µP belső Regiszterei B A PC SP Műveleti kód Memória Operandus + 0D, 1D, 2D, …nD Cím információ Adat információ Regiszter utalás

More Related