Upload
kedma
View
35
Download
0
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
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:
o Adatok
o 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
Vezérlő
Aritmetika
Memória
Program Kimenet
4 címes utasítás-szervezés
5 mezős utasítás:
Következő utasítás címe
Operációs kód
Pl..: +, -, *, /…Operandus 1 címe
Operandus 2 címe
Eredmény címKövetkező utasítás címe
Operációs kód
• Redundás
• Nagy méret
Programszámláló (PC)
Automatikus inkrementálás
Felülírható
Akkumulátor
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
Művelet / Operációs kód
Cím
1 címes µP felépítése
ALU
Átmenti reg.Akku
FlagK
imeneti reg.
Bem
eneti reg. Vezérlő CLK
Dekóder
Op. kód Cím
Mem
ória
címreg.
Adatregiszter
MemóriaPC
Utasítás regiszter =
Korszerűbb µP felépítés → C(entral) P(rocessed) U(nit)
• Külső memória
• Külső periféria illesztők
CPU
Vezérlő egység
RAM ROM
Memória
I/O 1 I/O 2 I/O N
Perifériák
Legkorszerűbb felépítés
Intel 8085-ös CPU
X1
X2
Reset Out
SOD
SID
Trap
RST 7.5
RST 6.5
RST 5.5
INTRINTA
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
VSS
VCC
HOLD
HLDA
CLK OUT
RESET IN
READY
IO / M
S1
RD
WR
ALE
S0
A15
A14
A13
A12
A11
A10
A9
A8
Cím-, és adatjel
Multifunkciós, Tri-State
+5V
GND← másik Master lefoglalta a sínt→ fogadta a másik Master kérését→ fosc / 2← PC = 0, Regiszterek törlése← külső memória R/W műveletre kész
→ státusz→ adatbusz kész az olvasásra→ adatbuszon az adat már készen áll→ címtároló engedélyezése
→ IO / Memória művelet, státusz
→ státusz
Címjel, Tri-State
oszcillátorhoz kötve
CPU resetelve ←Soros kimeneti vonal ←
Soros bemeneti vonal →Nem maszkolható Restart interrupt →
Restart Interrupt →
Interrupt észlelve ←
Restart Interrupt →Restart Interrupt →
Interrupt →
8085-ből épült rendszer
8085-ös blokkvázlata
A(kku) Átmenti reg. Műv. reg.
Ut. dekóder
Időzítés és vezérlés
Megsz. kezelő. Soros I/O
+/- cím tároló
Cím buffer Adat/Cím buff.
Program Száml. (PC)
Verem pointer (SP)
B reg. C reg.
D reg. E reg.
H reg. L reg.
IntA
Intr RST5.5
RST6.5
RST7.5
Trap SID SOD
S0 S1
X2
Intr
X1
WRCLK OUT
RD
Ready
IO/M
HLDA
ALE HOLDReset
In
Reset out
ALU
Flag
A8 – A15AD0 – AD7
Programkód elkészítése0 1 1 1 1 0 1 0
0 0 1 0 0 0 0 0
0 1 0 0 0 0 1 0
0 0 0 0 1 0 1 1
1 0 0 0 0 0 0 0
0 1 0 0 1 1 0 0
x x x x x x x x
x x x x x x x x
x x x x x x x x
x x x x x x x x
x x x x x x x x
x x x x x x x x
x x x x x x x x
x x x x x x x x
0000H
0004H
0001H
0002H
0003H
7FFEH
7FFFH
8000H
8001H
FFFBH
FFFCH
FFFDH
FFFEH
FFFFH
A-ba 32D
B-be 11D
A és B összeadása
RA
M
mem
óriaE
EP
RO
M
mem
ória
STOP
MVI A, 32D
MVI B, 11D
ADD B
.
.
.
STA 8000H
HLT
Assembly kód
Assembly fordító és
programozó
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)
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
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ímeD: cél regiszter kiválasztó bitS: forrás regiszter kiválasztó bit((H)(L)): a H és L regiszterekben lévő memória címre történik
0 1 D D D S S S
0 1 D D D 1 1 0
0 1 1 1 0 S S S
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 / data VAGY kapcsolat• XRA r / M / data kizáró VAGY kapcsolat• INR r / M Inkrementálás• DCR r / M Dekrementálás• CMP r / MKomparálás• CMA Komplemetálás (Akku)• PCHL (H,L) → (PC)• SPHL (H,L) → (SP)
• 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.
3) Ugró utasítások
S Cy Ac Z P X5 V -
Ugró utasítások
• JMP addr feltétel nélkül, kód: C3H, 3B
• Feltételes ugró utasítás:
• JZ addr ugrik, 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 addr ha a paritás páros, CCC = 101B
1 1 C C C 0 1 0
4) Szubrutin hívás, utasításai
Szubrutin: a kódban egyszer definiált eljárás, melyet akárhányszor hívhatunk meg, használhatunk fel.
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
►
►
►
►
►
►
►
►
►
►
►
►
►
►
►
►
A=
B=
C=
D=
ZF=
3
10
10
30
01
210
2030
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
• RET SP-ből PC feltöltése, 1B, kód: C9H
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
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
• EI Enable Interrupt, megszakítás engedélyezése, 1B, FBH
• DI Disable 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
Belső megszakítás kezelő
• 8 prioritási szint:
• IT0→ 0000H
• IT1 → 0008H
• .
• TRAP →0024H
• RST5.5 →002CH
• RST6.5 →0034H
• RST7.5 →003CH
Megsz. kezelő.
Intr RST5.5 RST7.5
Intr
IntA RST6.5 Trap
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ú
D(irect) M(memory) A(cces) mód
• 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.
HLDA
HOLD
Adat címzési módok:A) Közvetlen operandusú
• utasításban van az adat. Pl.: ADI 32D
Műveleti kód + Adat MemóriaµP belső
Regiszterei
B
A
PC
SP
Cím információ
Adat információ
Regiszter utalás
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!!!
Műveleti kód + Cím Memória
Operandus
µP belső
Regiszterei
B
A
PC
SP
Cím információ
Adat információ
Regiszter utalás
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
Műveleti kód + Cím Memória
Cím
Operandus
µP belső
Regiszterei
B
A
PC
SP
Cím információ
Adat információ
Regiszter utalás
D) Bázis regiszteres címzés
• Műveleti kódban utalás az operandust tartalmazó regiszterre. Pl.: MOV A, B
Műveleti kód + Regiszter MemóriaµP belső
Regiszterei
B
A
PC
SP
Cím információ
Adat információ
Regiszter utalás
E) PC relatív címzés
• A címet a PC és a műveleti kód (~offszet) együttesen adják
Műveleti kód + Offszet Memória
Operandus0
Operandus1
Operandus2
.
Operanuds n
µP belső
Regiszterei
B
A
PC
SP
Cím információ
Adat információ
Regiszter utalás
+
0D, 1D, 2D, …nD
F) Indexelt címzés
• A címet a PC és valamely regiszter tartalma (~offszet) együttesen adják
Műveleti kód Memória
Operandus
µP belső
Regiszterei
B
A
PC
SP
Cím információ
Adat információ
Regiszter utalás
+0D, 1D, 2D, …nD