20
1 Az integrált áramkörök kimenetének kialakítása totem-pole three-state open-kollektor Az áramkörök általános leegyszerűsített kimeneti fokozata: V1 V2 kimenet K1 K2 R1 R2 + tápfeszültség U ki , I ki ahol R1>>R2, és K1, K2 félvezető eszközökkel megvalósított kapcsoló (kapcsolóüzemű tranzisztorok), amelyeket belső V1 és V2 vezérlőjelek vezérelnek (nyit-zár) Totem pole kimenet: K1,K2 ellenütemben vezérelve K1 K2 Kimenet nyit zár Logikai '0' zár nyit Logikai '1' A totem-pole kimenet "ellenállásai" olyanok, hogy a kimenetek közvetlen összekötését nem viselik el. Két, ellenkező értékre vezérelt kimenet összekötése esetén I min áram folyik, amelyből I min 2 *R 1 és I min 2 *R 1 teljesítményt el kell disszipálni. Ezt az áramkörök nem viselik el.

Az integrált áramkörök kimenetének kialakításabagira.iit.bme.hu/~tom/digit/mume/vazlat.pdf · • bináris ábrázolás Fejlődés • ALU + vezérlő egység ⇒ Processzor

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

1

Az integrált áramkörök kimenetének kialakítása

• totem-pole • three-state • open-kollektor

Az áramkörök általános leegyszerűsített kimeneti fokozata:

V1

V2

kim enetK1

K2

R1

R2

+ tápfeszültség

Uki, Iki

ahol R1>>R2, és K1, K2 félvezető eszközökkel megvalósított kapcsoló (kapcsolóüzemű tranzisztorok), amelyeket belső V1 és V2 vezérlőjelek vezérelnek (nyit-zár)

Totem pole kimenet: K1,K2 ellenütemben vezérelve K1 K2 Kimenet nyit zár Logikai '0' zár nyit Logikai '1' A totem-pole kimenet "ellenállásai" olyanok, hogy a kimenetek közvetlen összekötését nem viselik el. Két, ellenkező értékre vezérelt kimenet összekötése esetén Imin áram folyik, amelyből Imin

2*R1 és Imin2*R1 teljesítményt el kell disszipálni. Ezt az áramkörök nem viselik

el.

2

Three-state kimenet: K1 és K2 külön vezérelhetők. K1 K2 Kimenet nyit zár Logikai '0' zár nyit Logikai '1' nyit nyit Nagyimpedanciás állapot

Nyitott kollektoros kimenet: Felépítésében a totem pole kimenettől annyiban tér el, hogy a K1 és R1 elemek elmaradnak A V vezérlőjel aktív állapota a kimenet '0' szintjét biztosítja, a logikai '1' szint külső un. felhúzó ellenállással (Rc) biztosítható. Az Rc külső csatlakoztatása lehetővé teszi az ellenállás egyedi méretezését. Így több open kollektoros kimenet közvetlen összekötésével huzalozott NOR kapcsolás hozható létre:

A B C X X = A B C = A + B + C⋅ ⋅1 - - 0 - 1 - 0 - - 1 0

U tá p

R c A

B

C

X

0 0 0 1

Flip-flopok alkalmazása Pergésmentesítés - aszinkron S-R flip-flop (A kapcsoló pergése esetén a kimenet csak egyszer vált)

Q K

k

k

S

2

1

R Q

k 1

S

R

k 2

3

Szinkron flip-flopok Alaphelyzetbe állító jelek:

• aszinkron működés • negált logikájú jelek

Preset: D=1 Clear: D=0 Működési módok:

• Élvezérelt • Master-slave • Data-lock-out

D Cp

Q Q

Pr

Cl

Bemenet mintavételezése Kimenet beállítása

Élvezérelt

Master-slave

Data-lock-out

Időzítések: Propagation Delay (késleltetési idő): Az órajel éléhez képest a kimenet előállása Setup time: Az az idő, amennyivel az órajel éle előtt a bemenetnek stabilnak kell lennie Hold time: Az az idő, amennyivel az órajel éle után a bemenetnek stabilnak kell lennie (Funkcionális hazárd!) Kettes osztó kialakítása JK flip-flop-ból:

J

KCp

Q

Q76

J

KCp

Q

Q76X X

YY

U

t

X

Y

2.4. ábra

Kettes osztó kialakítása D flip-flop-ból:

D Q

Q74

CpX

Y

U

t

X

Y

4

Kétfázisú órajel előállítása Hazárd léphet fel.

D Q

Q74

Cp

U

ClkF1

F2 F1

F2 t

Clk

Q

Helyes megoldás.

D Cp

Q1 Q

D Cp

Q2 Q

C1 C2

ClkQ1 Q2 C1 C2

Clk

Funkcionális elemek - kombinációs hálózatok

Multiplexer Y = A · v + B · v

A B

v

Y

N-ből 1 dekóder (demultiplexer)

E A B Y0 Y1 Y2 Y3 1 0 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0

A B

E

Y0 Y1 Y2 Y3

0 - - 1 1 1 1

5

Komparátorok (bináris értékek összehasonlítása) A3

A2 A1 A0 A>B A=B A<B B3 B2 B1 B0

A>BA=BA<B

A7 : : A0 B7 : : B0

A>B

A=B

Bitszélesség növelése

• Kaszkád bemenetek felhasználásával

A0A1A2A3

B0B1B2B3

A = BA < B

A > BA = BA < B

A > B

7485

A0A1A2A3

B0B1B2B3

A = BA < B

A > BA = BA < B

A > B

7485

A0A1A2A3

B0B1B2B3

A = BA < B

A > BA = BA < B

A > B

7485

A0A1A2A3

B0B1B2B3

A = BA < B

A > BA = BA < B

A > B

7485

• Kiegészítő kombinációs hálózattal

Szinkron hálózatok

Számlálók Működés módja szerint:

• aszinkron • szinkron.

Számlálás iránya szerint: • egyirányú, • kétirányú (reverzibilis).

Kezdeti érték beállítása szerint: • nullázás (törlés/clear) Szinkron/aszinkron • induló érték megadása (töltés/load) Szinkron/aszinkron

Aszinkron számlálók

D Cp

Q1 Q

D Cp

Q2 Q

Clk Q1 Q2 Q3

Clk D Cp

Q3 Q

n. kimenet (n*∆tff) idő múlva érvényes Frekvenciaosztásra használjuk, aszinkron törlésnél a hazárdra ügyelni kell

6

Szinkron számlálók

T Cp

Q1 Q

T Cp

Q2 Q

Clk Q1 Q2 Q3

Clk T Cp

Q3 Q

párhuzamos kaszkádosítás: n. ff bemenetén n-1 bemenetű ÉS kapu késleltetés: ∆tff + ∆tkapu

soros kaszkádosítás: n. ff bemenetén is csak 2 bemenetű ÉS kapu késleltetés: ∆tff + (n-2)*∆tkapu RCO (Ripple Carry Output) a számláló a következő órajelre átfordul n bites bináris számláló: 2n-1 BCD számláló: 9 ENP: Számlálás engedélyezése ENT: Számlálás és RCO engedélyezése LOAD: A számláló kimenetei a következő órajelre az (A..D) bemenetein található értéket veszik fel CLEAR: A számláló kimenetei a következő órajelre 0 értéket vesznek fel

QA

QB

QC

QD

ENP

74160-163

A B C DENT

LOAD CLR

RCOCLK

RCO engedélyezés

ENP

ENT

Számlálás engedélyezés

QC

QB

QA

QD

RCO

7

Soros/párhuzamos kaszkádosítás

A B C D

74160-163A B C D

74160-163A B C D

74160-163Q Q Q Q

ENP A B C DENT

LOAD CLR

RCOCLK

CLK"H"

Q Q Q Q

ENP A B C DENT

LOAD CLR

RCOCLK

Q Q Q Q

ENP A B C DENT

LOAD CLR

RCOCLK

"H"

A B C D

74160-163

Q Q Q Q

ENP A B C DENT

LOAD CLR

RCOCLK

0...N 0...N (Aszinkron törlés)

Számláló Cl

A B

=

N Komp.

Számláló Ld

A B

=

N

0

Cl

Aszinkron reset

Komp.

0...N,M...K (N<M<K) 0...N,M...K (Aszinkron törlés)

Számláló Cl

A B

=

K A B

=

N

M

Ld

Komp. Komp.

Számláló Cl

A B

=

K A B

=

N

M 0

Ld

MPX A B

v Aszinkron RESET

Komp. Komp.

Számlálási ciklus rövidítése szinkron törléssel (0-12-ig számláló):

QA

QB

QC

QD

ENP

74163

A B C DENT

LOAD CLR

RCOCLK

ABCD

0 0 0 01 0 0 00 1 0 01 1 0 00 0 1 0

0 0 1 1:

ClearCount

Szinkron törlés

Számlálási ciklus rövidítése aszinkron törléssel(0-12-ig számláló):

QA

QB

QC

QD

ENP

74161

A B C DENT

LOAD CLR

RCOCLK

"H"

ABCD

0 0 0 01 0 0 00 1 0 01 1 0 00 0 1 0

1 0 1 1:

Clear

Count

Aszinkron törlés

Hazárd kialakulása lehetséges !

QA

QB

QC

QD

ENP

74161

A B C DENT

LOAD CLR

RCOCLK

"H" "L"

ABCD

0 0 0 01 0 0 00 1 0 01 1 0 00 0 1 0

0 0 1 1:

Load

Count

Szinkron beírásHazárdmentes megoldás !

8

Regiszterek Közös órajellel vezérelt D flip-flop csoport (Ha D-G flip-flop: LATCH)

D Q

Q74

Cp

X1 X1b

D Q

Q74

Cp

X2 X2b

D Q

Q74

Cp

X3 X3b

D Q

Q74

Cp

Xn Xnb

Cp Léptető regiszter

D Cp

Q1 Q

D Cp

Q2 Q

Clk SI Q1 Q2 Q3

Clk D Cp

Q3 Q

SI

Általános regiszter V0 V1 Funkció Egy cella 0 0 Tölt 0 1 Balra léptet 1 0 Jobbra léptet 1 1 Töröl

D Cp

Qi

Y

Cl

Aszinkron törlés

ABCD

XiQi-1Qi+1

0

ClkV1 V0

MPX

9

Memóriák ROM (Read Only Memory): Csak olvasható memória A kezdeti tartalom belekerülhet gyártáskor: maszk programozott ROM A felhasználó által egyszer írható: PROM (Programable .....) UV fénnyel a teljes tartalom törölhető majd újraírható: EPROM (Erasable ....) Elektronikusan törölhető és újraírható: EEPROM, E2PROM (Electrically ....) RAM (Random Access Memory): Írható - olvasható memória Induláskor a tartalom véletlenszerű statikus: Tárolás flip-flopban dinamikus: tárolás kondenzátorban - a tartalmat periodikusan újra kell írni - frissítés

An-1... A0

Dm-1... D0

Memória

OECE

R/W

An-1 ... A0: n db címvezeték Dm-1 ... D0: m db adatvezeték OE: kimenet engedélyezés CE: Chip engedélyezés R/W: művelet kijelölés 1: olvas / 0: ír

Kapacitás: kbit (1024 bit), Mbit (1024x1024 bit), kbyte (1024 x 8 bit) Szervezés Kapacitás adatvezetékek

száma címvezetékek

száma 1k x 1 bit 1 kbit (210) 1 (20) 10 2k x 8 bit 16 kbit (214) 8 (23) 11 4k x 8 bit 32 kbit (215) 8 (23) 12 1M x 1 bit 1 Mbit (220) 1 (20) 20 16k x 4 bit 64 kbit (216) 4 (22) 14 Belső felépítés : mátrix szervezés

Oszlop MPX

S O R

D E K

Adat

Cím

OE CE

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

10

Kapacitás növelése Bitszélesség 2n-1 x k → 2n-1 x m*k (pl: 2k x 2 bit → 2k x 8 bit : n=11, k=2, m=8)

n

.

.

.

.

n

n

n

n

cím

cím

cím

cím

CE

CE

CE

CE

E

cím

k

k

k

k m*k adat

adat

adat

adat

11

Címtartomány 2n-1 x k → 2m* 2n-1 x k (pl: 2k x 8 bit → 8k x 8 bit : n=11, k=8, m=4)

n

.

.

.

.

n

n

n

n

cím

cím

cím

cím

CE

CE

CE

CE

E

cím

k

k

k

k k adat

adat

adat

adat

m+n

.

.2m

.

.

m DE KÓDE R

12

Számítógépek felépítése

Neumann modell

BE ALU KI

Vezérlő egység

Operatív tár

Alapelvek

• belső programtárolás illetve programvezérlés • utasítás és adat azonos közegben és formában tárolva

• az utasításszámláló dönti el, hogy egy adott rekesz program vagy adat (vagyis értelmezésük az algoritmusban van kódolva)

• utasítások programmal módosíthatók • az adattípusok műveletekhez rendeltek

• szekvenciális utasítás végrehajtás • egydimenziós, lineáris címzésű memória • bináris ábrázolás

Fejlődés

• ALU + vezérlő egység ⇒ Processzor • Külső kapcsolatok, perifériák leválása (KI - BE összevonása) • tárcentrikus felépítés • I/O csatornák, SÍN kialakítása

13

Sínek egyszintű sín

Processzor Memória Periféria

Sín (busz) : jelek összessége Adat busz Cím busz Vezérlő jelek Időosztásos sínhasználat egyszerű, olcsó megvalósítás szűk keresztmetszet MASTER az az eszköz, amely az adatátvitelt vezényli SLAVE az adatátvitelben résztvevő eszköz (adat forrás, cél) A MASTER nem feltétlenül forrása vagy célja az adatátvitelnek Arbitráció

Több MASTER esetén dönteni kell, hogy ki jogosult a busz használatára A kommunikáció módszere szerint: Aszinkron busz

az adó és a vevő nem jár szinkronban, a kapcsolatfelvétel és a vétel visszaigazolása szükséges (handshake jelek)

Szinkron busz

az adatátvitel adott sebességen történik, meghatározott vezérlőjelek időzítésével. Az adó nem vár választ, a rendszer minden elemének bírnia kell a diktált sebességet

14

2. CPU funkcionális felépítése

ALU

RegiszterekVezérlő és

Busz interfész

cím

adat

vezérlő jelek

Belső busz

utasításdekódoló

Busz interfész

Kapcsolattartás a külvilággal Cím sín: a műveletben résztvevő külső eszköz azonosítása Adat sín: A művelet adata Vezérlő jelek: A művelet végrehajtásának ütemezése

ALU: Aritmetikai logikai egység • Aritmetikai műveletek megvalósítása

Összeadás/kivonás (kettes komplemens) cél: minél gyorsabb legyen (kombinációs hálózat) gond: átvitelképzés carry look ahead

Fixpontos szorzás/osztás Összeadásra és léptetésre vezethető vissza Sorrendi hálózatot igényel

Lebegőpontos műveletek Általában csak aritmetikai társprocesszorokban valósítják meg

• Léptetések Probléma: n bit léptetése egy ütemben

Speciális shift regiszterek alkalmazása

• Logika műveletek megvalósítása Általában AND, OR, XOR, NOT

15

Regiszterek Belső tároló elemek, tartalmuk a külső memóriánál sokkal gyorsabban hozzáférhető a műveletek számára Általános célú regiszterek: felhasználásuk módja nem kötött Speciális célú regiszterek: Felhasználásuk korlátozott Címregiszterek:

Általános célú címregiszter : Operandusok címét tárolják Program számláló (PC - program counter, IP - instruction pointer)

A következő utasítás címét tartalmazza. Saját inkrementáló egységgel rendelkezik

Verem mutató (SP - stack pointer) A verem legfelső elemének címét tárolja. A veremkezelő műveletek automatikusan hivatkoznak rá.

Adatregiszterek:

Műveletek operandusait tárolják Akkumulátor: egycímű gépeknél a műveletek egyik operandusa

Speciális regiszterek: Állapot regiszter (flagek)

A processzor aktuális állapotát, az utolsó műveletvégzés eredményének 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ának levezénylése, a belső funkcionális elemek működésének összehangolása. Bemenet: Utasítás kód, állapotjelek Kimenet: belső/külső vezérlőjelek szekvenciái Megvalósítás: Huzalozott logika Gyors Bonyolult utasításkészlet esetén technológiai problémák lépnek fel Sorrendi hálózat Fázisregiszter Mikroprogramozott vezérlőegység Rögzített struktúra 1 gépi utasítás = mikroprogram szubrutin (a processzor mikroprogram szinten interpretálja az utasítást)

16

Gépi utasítás általános felépítése

Műveleti kód operandusok

Egycímű gép: Az egyik operandus kötelezően az akkumulátor Kétcímű gép: Az egyik operandus a művelet forrás operandusa, a másik forrás és cél

operandus is egyben Háromcímű gép: 2 forrás és egy cél operandus Négycímű gép: Az utasítás tartalmaz 2 forrás, 1 cél operandust és a következő utasítás címét

is Adattípusok Egyszerű Bit Byte (8 bit) Szó (word - 16 bit) Hosszú szó (long word, dword - 32 bit) Összetett Karakterlánc Bit string Lebegőpontos számok

17

Címzési módok Közvetlen címzés Az utasítás tartalmazza az operandust Direkt címzés Memória direkt címzés Az utasítás tartalmazza az operandus memóriacímét Regiszter direkt címzés Az operandus egy regiszter Indirekt címzés Memória indirekt címzés

Az utasítás tartalmazza az operandus memóriacímét tartalmazó memóriarekesz címét

Regiszter indirekt címzés Az operandus címét egy címregiszter tartalmazza

Pre-dekremens címzés Egy regiszter tartalmazza az operandus címét. A művelet elvégzése előtt a címregiszter értéke az operandus méretével csökken. Tipikusan veremkezelésre használják. A verembe adatot elhelyező művelet címzési módja

Post-inkremens címzés Egy regiszter tartalmazza az operandus címét. A művelet elvégzése után a címregiszter értéke az operandus méretével nő. Tipikusan veremkezelésre használják. A veremből adatot eltávolító művelet címzési módja

Indexelt címzés Az operandus címe egy bázisregiszter és egy operandusmérettel megszorzott indexregiszter összegéből képződik. A támogatott operandusméretek: 1, 2, 4, 8 byte

Indexelt címzés eltolással Az operandus címe egy bázisregiszter, egy operandusmérettel megszorzott indexregiszter és egy konstans eltolás összegéből képződik. Az eltolást közvetlen adatként az utasításkó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 ciklus (1 buszművelet) - utasítás gépi ciklus

(külső memória / IO hozzáférés) Utasítás felhozatal → olvasás

Belső munka ← értelmezés Paraméter felhozatal → olvasás

Belső munka ← művelet Eredmény tárolása → írás

19

8085 felépítése (SW modell) Regiszterek: A – Akkumulátor ( 8 bit) B,C,D,E, H,L – általános regiszterek (8 bit) BC,DE,HL – regiszterpárok (16 bit) SP – Verem mutató (16 bit) PC – utasítás számláló (16 bit) PSW – Program állapot szó : Akkumulátor + flag-ek (16 bit) Flag-ek: Z,S,P,CY,AC Címzési módok: adat:

közvetlen adat – az operandust az utasítás tartalmazza indirekt (közvetlen) adatcímzés – az utasítás tartalmazza az operandus címét regiszter címzés – az operandus egy regiszter indirekt regisztercímzés – az operandus címét egy regiszterpár tartalmazza

cím: közvetlen utasításcímzés – a következő utasítás címét az utasítás tartalmazza regiszter indirekt utasításcímzés - a következő utasítás címét regiszterpár tartalmazza Utasítástípusok: Adatmozgató MOV r1,r2 MOV r,M MOV M,r MVI r,adat8 MVI M,adat8 LXI rp,adat16 LDA cím16 STA cím16 LHLD cím16 SHLD cím16 LDAX rp STAX rp XCHG Aritmetikai ADD r ADD M ADI adat8 ADC r ADC M ACI adat8 SUB r SUB M SUI adat8 SBB r SBB M SBI adat8 INR r INR M DCR r DCR M INX rp DCX rp DAD rp DAA Logikai ANA r ANA M ANI adat8 ORA r ORA M ORI adat8 XRA r XRA M XRI adat8 CMP r CMP M CPI adat8 RLC (A7 › CY) RRC (A0 › CY) RAL (A7 › CY, CY › A0 ) RRC (A0 › CY, CY › A7 ) CMA CMC STC

20

Vezérlés átadó JMP cím16 Jcc cím16 (NZ,Z,NC,C,PO,PE,P,M) CALL cím16 Ccc cím16 (NZ,Z,NC,C,PO,PE,P,M) RET Rcc (NZ,Z,NC,C,PO,PE,P,M) RST n PCHL Stack PUSH PSW POP PSW PUSH rp POP rp XTHL SPHL Egyéb NOP HLT IN cím8 OUT cím8 EI DI RIM SIM