Documente Academic
Documente Profesional
Documente Cultură
Pentium II
80486 Pentium
1 Million 10 MIPS
80386
8086
4004 x 2 la 18 luni
1000 0,01 MIPS
1903-1957
Matematician
conceptul de program
nregistrat
Arhitectura Von Neumann
P Mag. Date
Mag. Comenzi
Dispozitive
periferice
05/15/17 20:09 20
Structura tipica a unui calculator
Magistral date
MEMORIE
Indicatori
de condiii
Registre de Instruciuni
1 secund n ciclii
timp
Tc
05/15/17 20:09 Oniga tefan - Arhitectura sistemelor cu microprocesoare 24
Definiii
Magistral date
MEMORIE
1 Indicatori
de condiii
Registre de Instruciuni
Unitate de Comand 3
Ceas
Magistral date
MEMORIE
Indicatori Date
de condiii 2
Numrtor de instruciuni Magistral adrese
Operanzi
Registre de Instruciuni
3
Unitate de Comand 1
Cod op.
UAL
2 Magistral date
MEMORIE
Indicatori
de condiii Date
Numrtor de instruciuni Magistral adrese
Operanzi
Registre de Instruciuni
Unitate de Comand 1
Cod op.
UAL
Magistral date
MEMORIE
Indicatori
de condiii Date 3
Numrtor de instruciuni Magistral adrese
Operanzi
Registre de Instruciuni
Unitate de Comand 1
Date 45 2 103
Indicator 46 2 104
1
500 105
CP 100 Adrese 100
20 500
RI ?
Unitate Comand
2 103
Date 45
Indicator r 46 104
6
500 105
7
CP 101 Adrese 100
20 500
RI 45
Unitate Comand
date 20 2 103
Indicator 46 104
500 105
12
CP 102 Adrese 500
20 500
RI 20
Unitate Comand
Unitate Comand
Date 61 2 103
Indicator 46 104
500 105
3
CP 102 Adrese 102
20 500
RI 61 2 1
Unitate Comand
date 2 2 103
Indicator 46 104
500 105
7
CP 103 Adrese 103
20 500
RI 2 5
4
Unitate Comand
2 103
Indicator 46 104
500 105
8
CP 104 20 500
RI 2
Unitate Comand
Date 46 2 103
Indicator 46 104
500 105
3
CP 104 Adrese 104
20 500
RI 46 1
Unitate Comand
Unitate Comand 4
date 22 2 103
Indicator 46 104
500 105
CP 106 Adrese 500
22 500
RI 500 8
Unitate Comand
Adrese
Instruciuni
Date
Intrri / ieiri
05/15/17 20:09 48
Schema funcional a mP 8086
AH AL IP CS
BH BL RI DS
CH CL SS
DH DL Registre ES
SP de uz 16
BP general
DI + x
SI Bus
Extern
Magistrala intern 16 bii Interfa 16 bii
cu bus-ul
extern
Indicatori
Comand Coada de
UAL EU instruciuni
05/15/17 20:09 51
Flags- registru care pstreaz indicatorii de condiie
O D I T S Z A P C
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
05/15/17 20:09 52
Spaiu de adresare x86
Adr. segment 1 2 0 0 H
Adr. offset 1 2 3 4 H
Adr. fizica 1 3 2 3 4 H
05/15/17 20:09 53
3| Evaluarea performanelor
SPECint95
05/15/17 20:09 54
Uniti de msur
MIPS = NI
Timp de execuie x 106
MFLOP = NI Real
Timp de execuie x 106
05/15/17 20:09 55
Ecuaia de performan
Timp de execuie UC = Numrul de cicluri UC x Timp ciclu
05/15/17 20:09 56
4| Setul de instruciuni a
microprocesorului 8086
a a+b
Instruciuni nedistructive (D)
x86
c a+b
Procesoarele CISC (anii 75)
registre / memoire, cteva registre, distructiv
Procesoarele RISC (anii 90)
ncrcare/stocare, multe registre de uz general,
nedistructiv
05/15/17 20:09 Oniga tefan - Arhitectura sistemelor cu microprocesoare 60
Modurile de adresare ale x86
Scop : Gsirea operandului
registru : numele registrului n clar AX
imediat : n cod (constante) 100
direct : se specific adresa operandului [101]
Memorie Adrese
variabil
100
101 50 101 variabila i
102
Mod de adresare
imediat
ax 7514
05/15/17 20:09 62
Adresarea direct
Exemplu:
mov ax,varA1 ; unde varA1 este adresa unui cuvnt pe 16 bii
; de ex. varA1 dw 6285h
mov varA1+4,bx ; cuvntul din registrul bx trece n locaia de la
adresa varA1 + 4.
mov ax,varA1
Cod operaie varA1
Mod de adresare
direct varA1 6285h
ax 6285h
05/15/17 20:09 63
Adresarea registru
Exemplu:
mov ax,bx ; codul instruciunii conine adresele
pe cte 3 bii ale registrelor ax i bx.
Adresarea stiv
Exemplu:
push ax ; se introduce n stiva un cuvnt. La 8086
se introduce la adresa (sp) + 1 ah, (sp) + 2 al,
sp (sp) + 2
pop ax ; al (sp), ah (sp) -1, sp (sp) - 2
05/15/17 20:09 64
Adresarea indirect
Exemplu:
mov ax,[si] ; n ax se incarc un cuvnt de la
adresa coninut de registrul si.
load indirect Reg de la 5231h ax,varA1
Cod operaie 5231h
Mod de adresare
indirect 5231 6180h
6180 3A5Bh
Reg 3A5Bh
05/15/17 20:09 65
Adresarea indexat
Exemplu:
mov ax,53h [di] ; coninutul registrului index
di este adunat cu 53h.
mov ax,varA1 [si] ; adresa structurii de date este
varA1, iar indexul este n si.
mov ax,53h [di]
Cod operaie di 53h
Mod de adresare
indexat +
Registrul 4580h
index di 45D3 6285h
ax 6285h
05/15/17 20:09 66
Adresarea bazat
Exemplu:
mov ax,varA1 ; adresa cuvntului care se ncarc n ax se
calculeaz la 8086 ca suma dintre registrul baz implicit ds
nmulit cu 16 i adresa variabilei varA1. Deci (ds) * 16 +
offset varA1
mov bx,es:[si] ; registrul baz explicit este es. Adresa
operandului este (es) * 16 + (si)
mov ax,[bx] 345h; adresa este (ds) * 16 + (bx) + 345h
Adresarea combinat
Exemplu:
mov ax,534h [bx] [si] ; adresare bazat indexat. Adresa
operandului care se ncarc n ax
este (ds) * 16 + (bx) + (si) + 534h
05/15/17 20:09 67
Formatul instruciunilor
Codul operaiei Operand(operanzi)
Dimensiune fix
decodificare simpl
program mai lung
timp de extragere a unei instruciuni constant
x86
Dimensiune variabil
decodificare complicat
program de dimensiune optimal
a CO
b CO Adr
c CO Adr Adr
Figura 5- 1. Formatul instructiunii fara adresa (a), cu o adresa (b) si cu doua adrese
05/15/17 20:09 (c). cu microprocesoare
Oniga tefan - Arhitectura sistemelor 69
Instruciunile 8086
Transfer
MOV Destinaie,Surs Destinaie Surs
PUSH registru i POP registru
Deplasare i rotire de bii (SHL,SHR,RxL,RxR)
Arithmetice i logice
ADD Destinaie,Surs (sub,and) Destinaie Destinaie + Surs
ADC Destinaie,Surs (subb) Destinaie Destinaie + Surs+C
CMP Destinaie,Surs (test) Destinaie-Surs
Salt
JMP Etichet (necondiionat) Salt la etichet
J? Etichet (jc, jz, jnc, jnz,ja,jbe) Dac Indicator salt la etichet
Proceduri
CALL Etichet Apel subprogram, la etichet
RET Retur din subprogram
05/15/17 20:09 Oniga tefan - Arhitectura sistemelor cu microprocesoare 70
Noiunea de Segment x86
00000
CS
Cod CP
SS
Stiv SP
DS
Date DI
SI + 1
220
05/15/17 20:09 Oniga tefan - Arhitectura sistemelor cu microprocesoare 71
Noiunea de Stiv x86
Tipul de stiv : LIFO
Date codate n dou locaii de memorie unice
(16 bii)
SS:0000
Empiler Liber
SS:SP-2
Dpiler Ultimele Date SS:SP
Ocupat
SS: Vrful stivei
Fichier
bibliothque
Gestionnaire de librairie
debuggeur
Fichier
bibliothque
Gestionnaire de librairie
debuggeur
UAL
Bloc de
control
Unitatea de Unitatea de
segmentare paginare
Unitatea de Unitatea de
decodificare preincarcare
instructiuni instructiuni
Unitatea de Unitatea de
segmentare paginare
Procesor in Mag
virgula mobila adr.
Unitatea Unitatea
cache de
interfata
Unitatea de Mag
executie date
Unitatea de Unitatea de
decidificare a preincarcare a
instructiunilor instructiunilor
Interface
Dans lordre
Bus externe
Rserve dinstruciuni
Unit Unit dexcution Unit
Cache instruciuni (niveau 1)
LI/DI (dans le dsordre) Retrait
12 K micro oprations
Charge
MMX
Sauve
Sauve
+,-,*,/
Pipeline du Pentium IV
UAL
UAL
UAL
UAL
SSE
Oniga tefan - Arhitectura sistemelor cu microprocesoare
Registres entiers Registres FP
Rpartiteur
File attente ops
Renommage / Allocation
Cache L2
code
Cache de trace
Dcodeur
BTB, TLB instruciuni
05/15/17 20:09
Interface 3,2 GB/s
Caractristique du Pentium IV
- SIMD 2
- Donnes sur 128 bits
- Cache
- L1 Donnes 8 kilo octets
- L1 instruciuni 12 K micro oprations
- L2 unifi 256 Kilo octets : 8 blocs par ensemble
- Interface cu le bus
- 400 MHz x 64 bits = 3,2 Giga octets /seconde
- Prdiction de branchement
- Dynamique + Statique (avant pris arrire non pris)
- Pile dappel de sous programme (toujours pris)
Cur du
cache niveau
Processeur Microprocesseur
3200 Mo/s 2
1 Go
Bus 64 bits
Bus systme
133 Mo/s
33 Mhz Bus Adaptateur
Entres /Sorties
32 bits PCI /ISA
4 Mo/s
Disque, liaisons ... Bus 16 bits
05/15/17 20:09 Oniga tefan - Arhitectura sistemelor cu microprocesoare 86