1 Az integrált áramörö imeneténe ialaítása totem-pole three-state open-olletor Az áramörö általános leegyszerűsített imeneti foozata: + tápfeszültség R1 V1 K1 imenet V2 K2 U i, I i R2 ahol R1>>R2, és K1, K2 félvezető eszözöel megvalósított apcsoló (apcsolóüzemű tranzisztoro), amelyeet belső V1 és V2 vezérlőjele vezérelne (nyit-zár) Totem pole imenet: K1,K2 ellenütemben vezérelve K1 K2 Kimenet nyit zár Logiai '0' zár nyit Logiai '1' A totem-pole imenet "ellenállásai" olyano, hogy a imenete özvetlen összeötését nem viseli el Két, ellenező értére vezérelt imenet összeötése esetén I min áram folyi, amelyből I min 2 *R 1 és I min 2 *R 1 teljesítményt el ell disszipálni Ezt az áramörö nem viseli el
2 Three-state imenet: K1 és K2 ülön vezérelhető K1 K2 Kimenet nyit zár Logiai '0' zár nyit Logiai '1' nyit nyit Nagyimpedanciás állapot Nyitott olletoros imenet: Felépítésében a totem pole imenettől annyiban tér el, hogy a K1 és R1 eleme elmaradna A V vezérlőjel atív állapota a imenet '0' szintjét biztosítja, a logiai '1' szint ülső un felhúzó ellenállással (R c ) biztosítható Az R c ülső csatlaoztatása lehetővé teszi az ellenállás egyedi méretezését Így több open olletoros imenet özvetlen összeötésével huzalozott NOR apcsolás hozható létre: A U táp A B C X X=A B C=A+B+C R c 1 - - 0 B X - 1-0 - - 1 0 C 0 0 0 1 Flip-flopo alalmazása Pergésmentesítés - aszinron S-R flip-flop (A apcsoló pergése esetén a imenet csa egyszer vált) K 1 2 S R 1 2 S R
3 Szinron flip-flopo Alaphelyzetbe állító jele: aszinron műödés negált logiájú jele Preset: =1 Clear: =0 Pr Cl Élvezérelt Master-slave Műödési módo: Élvezérelt Master-slave ata-loc-out Bemenet mintavételezése ata-loc-out Kimenet beállítása Időzítése: Propagation elay (ésleltetési idő): Az órajel éléhez épest a imenet előállása Setup time: Az az idő, amennyivel az órajel éle előtt a bemenetne stabilna ell lennie Hold time: Az az idő, amennyivel az órajel éle után a bemenetne stabilna ell lennie (Funcionális hazárd!) Kettes osztó ialaítása JK flip-flop-ból: U X X J 76 K Y X J 76 K Y Y t 24 ábra Kettes osztó ialaítása flip-flop-ból: U X 74 Y X Y t
4 Kétfázisú órajel előállítása Hazárd léphet fel U Cl 74 F1 F2 Cl F1 F2 t Helyes megoldás Cl 1 2 C1 C2 Cl 1 2 C1 C2 Funcionális eleme - ombinációs hálózato Multiplexer Y = A v + B v A B v Y N-ből 1 deóder (demultiplexer) A B E E A B Y0 Y1 Y2 Y3 Y0 1 0 0 0 1 1 1 Y1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 Y2 1 1 1 1 1 1 0 Y3 0 - - 1 1 1 1
5 Komparátoro (bináris értée összehasonlítása) A 3 A 2 A 1 A 0 A 7 : : A 0 A>B A=B A<B A>B A=B A<B A>B A=B B 3 B 2 B 1 B 0 B 7 : : B 0 Bitszélesség növelése Kaszád bemenete felhasználásával A3 A2 A1 A0 A < B A = B A > B B3 B2 B1 B0 7485 A < B A = B A > B A3 A2 A1 A0 A < B A = B A > B B3 B2 B1 B0 Kiegészítő ombinációs hálózattal 7485 A < B A = B A > B A3 A2 A1 A0 A < B A = B A > B B3 B2 B1 B0 7485 A < B A = B A > B A3 A2 A1 A0 A < B A = B A > B B3 B2 B1 B0 7485 A < B A = B A > B Szinron hálózato Számláló Műödés módja szerint: aszinron szinron Számlálás iránya szerint: egyirányú, étirányú (reverzibilis) Kezdeti érté beállítása szerint: nullázás (törlés/clear) Szinron/aszinron induló érté megadása (töltés/load) Szinron/aszinron Aszinron számláló Cl 1 2 3 Cl 1 2 3 n imenet (n* t ff ) idő múlva érvényes Frevenciaosztásra használju, aszinron törlésnél a hazárdra ügyelni ell
6 Szinron számláló Cl T 1 T 2 T 3 Cl 1 2 3 párhuzamos aszádosítás: n ff bemenetén n-1 bemenetű ÉS apu ésleltetés: t ff + t apu soros aszádosítás: n ff bemenetén is csa 2 bemenetű ÉS apu ésleltetés: t ff + (n-2)* t apu RCO (Ripple Carry Output) a számláló a övetező órajelre átfordul n bites bináris számláló: 2 n -1 BC számláló: 9 ENP: Számlálás engedélyezése ENT: Számlálás és RCO engedélyezése LOA: A számláló imenetei a övetező órajelre az (A) bemenetein található értéet veszi fel CLEAR: A számláló imenetei a övetező órajelre 0 értéet veszne fel LOA CLK CLR A B C 74160-163 RCO ENP ENT A B C ENP ENT Számlálás engedélyezés RCO engedélyezés C B A RCO
7 Soros/párhuzamos aszádosítás LOA CLK CLR A B C 74160-163 RCO LOA CLK CLR A B C 74160-163 RCO LOA CLK CLR A B C 74160-163 RCO LOA CLK CLR A B C 74160-163 RCO ENP ENT A B C ENP ENT A B C ENP ENT A B C ENP ENT A B C CLK "H" "H" 0N 0N (Aszinron törlés) N A B Komp = N A B Komp = Számláló Cl 0N,MK (N<M<K) A N K A Komp Komp = B Ld Számláló M B Cl = Cl Számláló 0 Ld Aszinron reset 0N,MK (Aszinron törlés) A N K A Komp Számlálási cilus rövidítése szinron törléssel (0-12-ig számláló): = B Ld Számláló v MPX A B M 0 B Cl Komp = Aszinron RESET Szinron törlés ABC LOA CLK ENP CLR ENT A B C 74163 RCO A B C Count 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 : 0 0 1 1 Clear Számlálási cilus rövidítése aszinron törléssel(0-12-ig számláló): LOA CLK "H" Hazárd ialaulása lehetséges! ENP CLR ENT 74161 A B C A B C RCO Aszinron törlés ABC 0 0 0 0 1 0 0 0 Clear 0 1 0 0 1 1 0 0 Count 0 0 1 0 : 1 0 1 1 LOA CLK ENP "H" Hazárdmentes megoldás! CLR ENT A B C 74161 RCO A B C "L" Szinron beírás ABC 0 0 0 0 1 0 0 0 Load 0 1 0 0 1 1 0 0 Count 0 0 1 0 : 0 0 1 1
8 Regisztere Közös órajellel vezérelt flip-flop csoport (Ha -G flip-flop: LATCH) X1 X2 X3 74 74 74 X1b X2b X3b Xn 74 Xnb Léptető regiszter SI Cl 1 2 3 Cl SI 1 2 3 Általános regiszter V0 V1 Funció Egy cella 0 0 Tölt 0 1 Balra léptet X i 1 0 Jobbra léptet i-1 1 1 Töröl i+1 0 A B C MPX V 1 V 0 Y Cl Cl i Aszinron törlés
9 Memóriá ROM (Read Only Memory): Csa olvasható memória A ezdeti tartalom beleerülhet gyártásor: masz programozott ROM A felhasználó által egyszer írható: PROM (Programable ) UV fénnyel a teljes tartalom törölhető majd újraírható: EPROM (Erasable ) Eletroniusan törölhető és újraírható: EEPROM, E 2 PROM (Electrically ) RAM (Random Access Memory): Írható - olvasható memória Indulásor a tartalom véletlenszerű statius: Tárolás flip-flopban dinamius: tárolás ondenzátorban - a tartalmat periodiusan újra ell írni - frissítés Memória A n-1 A 0 : n db vezeté m-1 0 : m db adatvezeté A n-1 A 0 m-1 0 OE CE R/W OE: imenet engedélyezés CE: Chip engedélyezés R/W: művelet ijelölés 1: olvas / 0: ír Kapacitás: bit (1024 bit), Mbit (1024x1024 bit), byte (1024 x 8 bit) Szervezés Kapacitás adatvezetée száma vezetée száma 1 x 1 bit 1 bit (2 10 ) 1 (2 0 ) 10 2 x 8 bit 16 bit (2 14 ) 8 (2 3 ) 11 4 x 8 bit 32 bit (2 15 ) 8 (2 3 ) 12 1M x 1 bit 1 Mbit (2 20 ) 1 (2 0 ) 20 16 x 4 bit 64 bit (2 16 ) 4 (2 2 ) 14 Belső felépítés : mátrix szervezés Cím S O R E K CE OE Oszlop MPX Adat
10 Kapacitás növelése Bitszélesség 2 n-1 x 2 n-1 x m* (pl: 2 x 2 bit 2 x 8 bit : n=11, =2, m=8) E n n CE adat m* n CE adat n CE adat n CE adat
11 Címtartomány 2 n-1 x 2 m * 2 n-1 x (pl: 2 x 8 bit 8 x 8 bit : n=11, =8, m=4) m+n n n CE adat E m E K Ó E R 2 m n n CE CE adat adat n CE adat
12 Számítógépe felépítése Neumann modell Operatív tár BE ALU KI Vezérlő egység Alapelve belső programtárolás illetve programvezérlés utasítás és adat azonos özegben és formában tárolva az utasításszámláló dönti el, hogy egy adott reesz program vagy adat (vagyis értelmezésü az algoritmusban van ódolva) utasításo programmal módosítható az adattípuso műveletehez rendelte szevenciális utasítás végrehajtás egydimenziós, lineáris zésű memória bináris ábrázolás Fejlődés ALU + vezérlő egység Processzor Külső apcsolato, perifériá leválása (KI - BE összevonása) tárcentrius felépítés I/O csatorná, SÍN ialaítása
13 Síne egyszintű sín Processzor Memória Periféria Sín (busz) : jele összessége Adat busz Cím busz Vezérlő jele Időosztásos sínhasználat egyszerű, olcsó megvalósítás szű eresztmetszet MASTER az az eszöz, amely az adatátvitelt vezényli SLAVE az adatátvitelben résztvevő eszöz (adat forrás, cél) A MASTER nem feltétlenül forrása vagy célja az adatátvitelne Arbitráció Több MASTER esetén dönteni ell, hogy i jogosult a busz használatára A ommuniáció módszere szerint: Aszinron busz az adó és a vevő nem jár szinronban, a apcsolatfelvétel és a vétel visszaigazolása szüséges (handshae jele) Szinron busz az adatátvitel adott sebességen történi, meghatározott vezérlőjele időzítésével Az adó nem vár választ, a rendszer minden eleméne bírnia ell a ditált sebességet
14 2 CPU funcionális felépítése ALU Belső busz Busz interfész adat vezérlő jele Regisztere Vezérlő és utasítás deódoló Busz interfész Kapcsolattartás a ülvilággal Cím sín: a műveletben résztvevő ülső eszöz azonosítása Adat sín: A művelet adata Vezérlő jele: A művelet végrehajtásána ütemezése ALU: Aritmetiai logiai egység Aritmetiai művelete megvalósítása Összeadás/ivonás (ettes omplemens) cél: minél gyorsabb legyen (ombinációs hálózat) gond: átvitelépzés carry loo ahead Fixpontos szorzás/osztás Összeadásra és léptetésre vezethető vissza Sorrendi hálózatot igényel Lebegőpontos művelete Általában csa aritmetiai társprocesszoroban valósítjá meg Léptetése Probléma: n bit léptetése egy ütemben Speciális shift regisztere alalmazása Logia művelete megvalósítása Általában AN, OR, XOR, NOT
15 Regisztere Belső tároló eleme, tartalmu a ülső memóriánál soal gyorsabban hozzáférhető a művelete számára Általános célú regisztere: felhasználásu módja nem ötött Speciális célú regisztere: Felhasználásu orlátozott Címregisztere: Általános célú regiszter : Operanduso ét tároljá Program számláló (PC - program counter, IP - instruction pointer) A övetező utasítás ét tartalmazza Saját inrementáló egységgel rendelezi Verem mutató (SP - stac pointer) A verem legfelső eleméne ét tárolja A veremezelő művelete automatiusan hivatozna rá Adatregisztere: Művelete operandusait tároljá Aumulátor: egyű gépenél a művelete egyi operandusa Speciális regisztere: Állapot regiszter (flage) A processzor atuális állapotát, az utolsó műveletvégzés eredményéne jellemzőit tárolja CY átvitel, Z Zero, S előjel, P paritás, AC - segédátvitel Vezérlő egység Feladata: Az utasítás-végrehajtás folyamatána levezénylése, a belső funcionális eleme műödéséne összehangolása Bemenet: Utasítás ód, állapotjele Kimenet: belső/ülső vezérlőjele szevenciái Megvalósítás: Huzalozott logia Gyors Bonyolult utasításészlet esetén technológiai problémá lépne fel Sorrendi hálózat Fázisregiszter Miroprogramozott vezérlőegység Rögzített strutúra 1 gépi utasítás = miroprogram szubrutin (a processzor miroprogram szinten interpretálja az utasítást)
16 Gépi utasítás általános felépítése Műveleti ód operanduso Egyű gép: Kétű gép: Az egyi operandus ötelezően az aumulátor Az egyi operandus a művelet forrás operandusa, a mási forrás és cél operandus is egyben Háromű gép: 2 forrás és egy cél operandus Négyű gép: Az utasítás tartalmaz 2 forrás, 1 cél operandust és a övetező utasítás ét is Adattípuso Egyszerű Bit Byte (8 bit) Szó (word - 16 bit) Hosszú szó (long word, dword - 32 bit) Összetett Karaterlánc Bit string Lebegőpontos számo
17 Címzési módo Közvetlen zés Az utasítás tartalmazza az operandust iret zés Memória diret zés Az utasítás tartalmazza az operandus memóriaét Regiszter diret zés Az operandus egy regiszter Indiret zés Memória indiret zés Az utasítás tartalmazza az operandus memóriaét tartalmazó memóriareesz ét Regiszter indiret zés Az operandus ét egy regiszter tartalmazza Pre-deremens zés Egy regiszter tartalmazza az operandus ét A művelet elvégzése előtt a regiszter értée az operandus méretével csöen Tipiusan veremezelésre használjá A verembe adatot elhelyező művelet zési módja Post-inremens zés Egy regiszter tartalmazza az operandus ét A művelet elvégzése után a regiszter értée az operandus méretével nő Tipiusan veremezelésre használjá A veremből adatot eltávolító művelet zési módja Indexelt zés Az operandus e egy bázisregiszter és egy operandusmérettel megszorzott indexregiszter összegéből épződi A támogatott operandusmérete: 1, 2, 4, 8 byte Indexelt zés eltolással Az operandus e egy bázisregiszter, egy operandusmérettel megszorzott indexregiszter és egy onstans eltolás összegéből épződi Az eltolást özvetlen adatént az utasításód tartalmazza
18 8085 felépítése (HW modell) Az utasítás-végrehajtás folyamata: fázis (1 órajelperiódus) gépi cilus (1 buszművelet) - utasítás Utasítás felhozatal Belső muna értelmezés Paraméter felhozatal Belső muna művelet Eredmény tárolása gépi cilus (ülső memória / IO hozzáférés) olvasás olvasás írás
19 8085 felépítése (SW modell) Regisztere: A Aumulátor ( 8 bit) B,C,,E, H,L általános regisztere (8 bit) BC,E,HL regiszterpáro (16 bit) SP Verem mutató (16 bit) PC utasítás számláló (16 bit) PSW Program állapot szó : Aumulátor + flag-e (16 bit) Flag-e: Z,S,P,CY,AC Címzési módo: adat: : özvetlen adat az operandust az utasítás tartalmazza indiret (özvetlen) adatzés az utasítás tartalmazza az operandus ét regiszter zés az operandus egy regiszter indiret regiszterzés az operandus ét egy regiszterpár tartalmazza özvetlen utasítászés a övetező utasítás ét az utasítás tartalmazza regiszter indiret utasítászés - a övetező utasítás ét regiszterpár tartalmazza Utasítástípuso: Adatmozgató MOV r1,r2 MOV r,m MOV M,r MVI r,adat 8 MVI M,adat 8 LXI rp,adat 16 LA 16 STA 16 LHL 16 SHL 16 LAX rp STAX rp XCHG Aritmetiai A r A M AI adat 8 AC r AC M ACI adat 8 SUB r SUB M SUI adat 8 SBB r SBB M SBI adat 8 INR r INR M CR r CR M INX rp CX rp A rp AA Logiai ANA r ANA M ANI adat 8 ORA r ORA M ORI adat 8 XRA r XRA M XRI adat 8 CMP r CMP M CPI adat 8 RLC (A 7 CY) RRC (A 0 CY) RAL (A 7 CY, CY A 0 ) RRC (A 0 CY, CY A 7 ) CMA CMC STC
20 Vezérlés átadó JMP 16 Jcc 16 (NZ,Z,NC,C,PO,PE,P,M) CALL 16 Ccc 16 (NZ,Z,NC,C,PO,PE,P,M) RET Rcc (NZ,Z,NC,C,PO,PE,P,M) RST n PCHL Stac PUSH PSW POP PSW PUSH rp POP rp XTHL SPHL Egyéb NOP HLT IN 8 OUT 8 EI I RIM SIM