Você está na página 1de 176

ESTRUCTURA DE LA

MAQUINA
Bloques funcionales de la
computadora
Estructura

CPU Unidad Central de !roceso"#


Controla el funcionamiento de la
computadora procesador"$

Memoria principal# Almacena


Datos

E/S# trans%ere datos entre el &p '


el entorno e(terno$
Arquitectura

)on Neumann#

Los datos ' las instrucciones se


almacenan en memoria$

Se direccionan estos contenidos


indicando su posici*n$

La e+ecuci*n se produce si,uiendo


una secuencia de instrucci*n tras
instrucci*n$
!rincipales Componentes
C!U
MEM-RIA
C!U
Componentes estructurales#

Unidad de Control# controla el


funcionamiento del C!U

Unidad Aritm.tica L*,ica#


procesamiento de datos

Re,istros# dan almacenamiento


interno

Intercone(iones# Comunicaci*n entre


UC/ ALU ' re,istros
0unciones de la
computadora

!rocesamiento de datos

Almacenamiento de datos

Transferencia de datos

Control
Consta de dos unidades#

BIU Unidad Interface de Bus"

EU Unidad de E+ecuci*n"
BIU

!ermite la comunicaci*n con el


mundo e(terior$

Se compone de los dispositi1os de


E2S
Unidad de Control

Encar,ada de reali3ar el ciclo de


instrucci*n#

Interpreta las instrucciones

Locali3a la si,uiente instrucci*n

Controla el 4u+o del pro,rama

Coordina el tiempo de e+ecuci*n

Coordina los accesos a memoria


EU

Decodi%ca ' e+ecuta instrucciones$

Se compone por la Unidad de


Control ' el ALU/ Re,istros# Estado/
prop*sito ,eneral ' temporales$
Unidad de Control

INTERPRETE REG.DE ESTADO
REG.DE INSTR (IR)
REG. CONTADOR DEL PROG
(PC)
RELOJ
ALU

Reali3a las operaciones


aritm.tico5lo,icas

En16a informaci*n al re,istro de


estado de la Unidad de Control
Memoria principal

Son circuitos inte,rados capaces de


almacenar informaci*n de forma
di,ital$

Ma'or almacenamiento$
Ma'or almacenamiento$

Caracter6sticas#
Caracter6sticas#

Capacidad

Rapide3

Costo
Tipos de memoria#

R-M

RAM

)irtual

Cac7. intermedia"
R-M
Read -nl' Memor'" 8Memoria de
s*lo lectura9

!R-M !ro,ramma:le R-M"

E!R-M Erasa:le R-M" BI-S

EE!R-M Electricall' E!R-M"



RAM
Random Access Memor'" 8Memoria
de acceso aleatorio9

Es de tipo 1ol;til/ almacenamiento


temporal

Din;mica# DRAM condensadores"

Est;tica# SRAM 4ip54ops"


Memoria 1irtual

Es un dise<o computacional que


permite a los pro,ramas usar m;s
memoria principal de la que
realmente posee la computadora$
Memoria cac7.

Es un memoria intermedia de alta


1elocidad$ Es efecti1a dado que los
pro,ramas acceden una ' otra 1e3
a los mismos datos '2o
instrucciones$
Tipos

Cac! L"
Memoria de alta 1elocidad implementada
dentro del propio circuito del
microprocesador$ La cac7. de primer ni1el
es peque<a unos => * ?@ AB"$

Cac! L#
Memora cac7. e(terna al microprocesador
en la placa :ase/ opera a ran,os de
1elocidad li,eramente m;s lentos que la
cac7. LB$ Su tama<o 1a de los ?@AB a los
CB> AB
BUS

Es un canal de comunicaci*n de
informaci*n/ que conecta
diferentes componentes entre s6$

Admiten transmisi*n#

!aralelo

Serie
Tipos

Datos# Trans%ere tanto las instrucciones


que pro1ienen del procesador como las
que se diri,en 7acia .l$ Se trata de un
:us :idireccional$

Consta de D/B?/=> o ?@ :its

La anc7ura determina 1elocidad

Direcci*n# Transporta las direcciones de


memoria al que el procesador desea
acceder/ para leer o escri:ir datos$ Es
un :us unidireccional$

Desi,na la direcci*n fuente o destino del


dato$

La anc7ura determina la capacidad m;(ima


de memoria disponi:le >
n
$p %&' (e (a)o' %&' (ireccione' Tama*o (e memoria
+,+- B? >E B MB
+,++ D >E B MB
+,"+- B? >E B MB
+,"++ D >E B MB
+,#+- B? >@ B? MB
+,.+-S/ B? >@ B? MB
+,.+-D/ => => @ FB
+,.+-E/ B? >? ?@ MB
+,0+- => => @ FB
Pen)i&m ?@ => @ FB
Pen)i&mPro ?@ => @ FB
Pen)i&mII ?@ =? ?@ FB

Control# Transporta las *rdenes ' las


se<ales de sincroni3aci*n que pro1ienen
de la unidad de control 7acia los
distintos componentes de 7ardGare$ Se
trata de un :us :idireccional en la
medida en que tam:i.n transmite
se<ales de respuesta del 7ardGare$
DIS!-SITI)-S DE
ENTRADA H SALIDA

!ermiten la comunicaci*n entre el


interior de la computadora ' su
entorno$ La coordinaci*n de la
comunicaci*n entre los perif.ricos
' el C!U se reali3a mediante la
Uni(a( (e E/S
0unciones

Interpretar *rdenes entre


procesador ' perif.rico$

Controlar transferencias modi%car


formato"

Informar del edo del perif.rico


IC*mo lo lo,raJ

Direccionamiento

E2S mapeada en memoria# se asi,na


a los puertos de E2S una porci*n del
espacio de direcciones f6sicas de
memoria$

E2S aislada# Utili3an un espacio de


memoria diferente$ Ka' instrucciones
in2out espec6%cas$

Transferencia de informaci*n# que


es de dos tipos# lectura ' escritura$

Festi*n de transferencia# Es
necesario un mecanismo de
tranferencia$ Se necesita sa:er si
el dispositi1o esta disponi:le$

Una t.cnica mas sencilla para la


comunicaci*n entre la C!U ' lo perif.ricos
es# cuando el C!U desee 7acer una
)ran'1erencia (e in1ormaci2n con un
perif.rico/ pre,unte a la U$ E2S si dic7o
perif.rico se encuentra disponi:leL si no lo
esta repite la pre,unta una ' otra 1e3
7asta o:tener una respuesta a%rmati1a/ en
cu'o caso se inicia la transferencia de
informaci*n$
!ara ma'or rendimiento
S
Sincroni3aci2n me(ian)e in)err&pci2n.
!re,unta a la U$de E2S por el perif.rico que
desea utili3ar/ lo que 7ace es indicar a la
Unidad de E2S que desea 7acer una
transferencia con el perif.rico/ '
se,uidamente/ si no esta el perif.rico
preparado/ empie3a otra tarea/
ol1id;ndose moment;neamente del
perif.rico$
!asos para reali3ar una
tarea

Solicita una localidad de memoria

El Mp lee el contenido de una localidad de


memoria en1iando una direcci*n por el :us de
direcciones$

En16a a Memoria la se<al Control Lectura


Memoria para que proporcione datos$

Lle,a la informaci*n por el :us de datos$

El dato es procesado por el Mp$

Se repite la misma secuencia pero a7ora


dependiendo si ocurre una escritura de
memoria o una lectura ' escritura de E2S
Estructura de los :uses de datos '
Estructura de los :uses de datos '
control en un sistema de computo$
control en un sistema de computo$
ESTRUCTURA DE LA
MAQUINA
Bloques funcionales del Mp
Re,istros

Repositorio donde se almacenan


datos dentro del C!U$

)isi:les# !ermiten al pro,ramador


minimi3ar el uso de memoria principal$

In1isi:les# No los 1e directamente el


pro,ramador

Control# A'udan a la e+ecuci*n de una


instrucci*n
Re,istros )isi:les

Uso ,eneral#

Datos# AN/BN/CN/DN

Direcciones modo de
direccionamiento"#

Se,mento

Apuntadores

Ondice

Banderas condiciones"
Re,istros de control ' edo$

Contador de pro,rama !C$

Contiene la direcci*n de la instrucci*n


a e+ecutar$

Re,istro de Instrucci*n IR$

Contiene la instrucci*n a e+ecutar


In1isi:les

Re,istro de direcci*n de memoria MAR$

Contiene la direcci*n de una posici*n de


memoria$

Re,istro intermedio de memoria MBR$

Contiene la pala:ra de datos a escri:ir en


memoria/ o la le6da mas recientemente$
Re,istros de prop*sito
,eneral

Re,istro AN#

-peraciones aritm.ticas$

Re,istro BN# re,istro :ase

direccionamiento inde(ado

-peraciones aritm.ticas$

Re,istro CN#

Contador

Re,istro DN#

Datos

Tra:a+a en con+unto con el AN


!rop*sito ,eneral#
direcciones
Au(iliar en modos de
direccionamiento

Tama<o#B?2=> :its

CS Se,mento de C*di,o"

El c*di,o del pro,rama$

DS Se,mento de Datos"

Datos del pro,rama$


!rop*sito ,eneral#
direcciones

SS Se,mento de !ila"

Almacenamiento temporal de datos/


direcciones e instrucciones$

ES Se,mento E(tra"

Feneralmente es una copia del DS

0S ' FS

Son re,istros e(tra de se,mento en los


procesadores DE=D? ' posteriores$

Au(iliares de los anteriores$


Re,istros Apuntadores
Tama<o de B?2=> :its
Tra:a+an +unto con los Re,istros Se,mento$

S! Apuntador a la pila"

Da un 1alor de despla3amiento de la pala:ra


que se esta e+ecutando actualmente$

B! Apuntador Base"

0acilita la referencia para datos o direcciones


en la pila
Re,istros Ondice
Tama<o de B?2=> :its
Disponi:les direccionamiento
Inde(ado

SI Source Inde("

-peraciones con cadenas

DI Destino Inde("

-peraciones con cadenas


Re,istros Bandera

Sir1en para indicar el estado de la


m;quina$

!ermiten el 4u+o de control del


pro,rama$

De manera independiente
almacenan B :it

Tama<o# B?2=> :its$


Banderas
BANDERA DESCRIPCION
C (Acarreo) Resultado de un operacin de suma o resta
P(Paridad) O para paridad impar
1 para paridad par
A (Acarreo
auxiliar)
Guarda el acarreo para sistema BCD
Z (Cero) Resultado de una operacin aritmtico/lica es cero! Z"1# el
resultado es cero$ si Z"%# el resultado es di&erente de cero
' ('ino) Guarda el sino del resultado de una operacin
aritmtico/lica es cero! 'i '"1# el (it de sino es neati)o$
si '"%#el (it de sino es positi)o
* (trampa) Acti)a al momento de +acer una depuracin
, (,nterrupcin) Controla la operacin de la terminal ,-*R!
D (Direccin) .l modo de incremento o de decremento para los reistros D,
/ ',! 'i D"1 se decrementan # si D"% se incrementan
BANDERA DESCRIPCION
,OP0 -i)el de pri)ileio de ./'! OO es el ni)el mas alto# 11 mas
(a1o!
-* (tarea
anidada)
0a tarea anidada indica 2ue la actual esta anidada
R3
(continuacin)
'e utili4a con la depuracin para controlar la continuacin de
la e1ecucin
56 (modo
)irtual)
'elecciona la operacin en modo )irtual en un sistema de
modo proteido! Permite la multiproramacin
AC
(compro(acin
de alineacin)
Permite la alineacin entre el microprocesador / el
coprocesador matem7tico!
5,3
(,nterrupcin
)irtual)
Copia del (it de ,nterrupcin para micros de Pentium a
Pentium 8
5,P
(,nterrupcin
)irtual
pendiente)
Proporciona in&ormacin so(re una interrupcin de modo
)irtual en entornos multitarea
,D (,denti&ica) Proporciona in&ormacin so(re el micro Pentium# numero de
)ersin# / &a(ricante
Re,istros de
!rop*sito
Feneral
ALU
!ila
Banderas
Sumador
Re,istros de
Se,mento
Re,istro Temp
Control de
Bus
Unidad de Interfa3 de Bus
Unidad de E+ecuci*n
Se,mento Despla3a
B
U
S
D
A
T
-
S
Bus Direcciones
ESTRUCTURA DE LA
MAQUINA
0uncionamiento de una
computadora# Ciclos de o:tenci*n/
interpretaci*n ' e+ecuci*n de una
instrucci*n$
Instrucci*n

Una in')r&cci2n es representada


por una secuencia de :its$ Que
especi%ca la acci*n que de:e
reali3ar la C!U$

La instrucci*n es captada en un
re,istro de la C!U llamado IR
Instructor Re,ister"$
Tipos

!rocesador de memoria

!rocesador E2S

!rocesamiento de datos

Control
La e+ecuci*n de una instrucci*n
implica una com:inaci*n de estas
acciones$

Cod-p# NPmero de instrucciones


que opera la m;quina

Cada Dir$ -perando# modo de


direccionamiento/ campo de re,istro
o direcci*n de memoria principal$
Cod-p Dir$ operB Dir$ -per>
Ciclo de instrucci*n

El con+unto de acciones que se


lle1an a ca:o en la :Psqueda/
interpretaci*n ' e+ecuci*n de una
instrucci*n$
Captar la si,$
Instrucci*n
E+ecutar la
Instrucci*n
Inicio
0in

Se di1ide en otros#

Ciclo (e 45'6&e(a7 trans%ere la


instrucci*n de memoria al C!U

Ciclo (e e8ec&ci2n7 consiste en la


reali3aci*n de acciones de la propia
instrucci*n$
Ciclo de :Psqueda

El contador del pro,rama !C ,uarda la


direcci*n de la si,uiente instrucci*n a
e+ecutar$

El Mp toma la instrucci*n de la memoria


cu'a localidad se encuentra en el !C$

Incrementa el !C

A menos que se di,a que no$

La instrucci*n se ,uarda en el re,istro


de instrucci*n IR
Ciclo de e+ecuci*n

La instrucci*n se decodi%ca$ Busca los


operandos con a'uda de los modos de
direccionamiento$

Acti1a las se<ales de control de


re,istros internos para transferir
informaci*n entre ellos ' reali3a las
operaciones$

Se almacena el resultado en el lu,ar


indicado$
Memoria de cac7. de
instrucciones

Est; t.cnica emplea una peque<a


memoria de alta 1elocidad/
llamada cach para almacenar
instrucciones de memoria principal$

Se :asa en el principio de
localidad que nos dice que / si se
7a o:tenido una instrucci*n se
ocupe en un futuro$
Memoria de cac7. de
instrucciones

La memoria se constru'e con la


misma tecnolo,6a del &p$

-peran a la misma 1elocidad

Si se :usca una instrucci*n se


:usca primero en cac7.$

Q!uede fallarR
Memoria
principal
Memoria
Cac7. de
instrucciones
Tu:er6a de instrucciones
Re,istros
A L U
&p
Car,a
Almacenar
BPsqueda '
e+ecuci*n
Car,a
Almacenar
Memoria Cac7. para datos

Me+ora el acceso a datos

Cuando se almacena un 1alor en memoria


principal se almacena en cac7. de datos$

Diferencias#

!ermiten almacenamiento directo# se almacena


dentro de memoria principal como en cac7.

Retroalmacenamiento# reduce el nPmero de


accesos a memoria cuando los 1alores se
actuali3an continuamente$
Memoria
principal
Memoria
Cac7. de
instrucciones
Tu:er6a de instrucciones
Re,istros
A L U
&p
BPsqueda '
e+ecuci*n
Memoria
Cac7. de
datos
Car,a
Almacenar
*cnica de aumento de
prestaciones
9
'ementacin: Permite solapar en el
tiempo la e1ecucin de )arias
instrucciones!
9
Apro)ec+ando el paralelismo a ni)el de
instruccin dentro del microprocesador
Se,mentaci*n

Basadas en 1arias instrucciones en


un &p di1idido en etapas llamado
tubera$

Se apro1ec7a me+or el 7ardGare


BPsqueda Decodi%ca A L U Almacena
:Psqueda
de
instrucciones
Decodi%cador
de
instrucciones
A L U
Almacenar
resultado
A
B
C
A L U
Re,istros
Etapa B Etapa > Etapa = Etapa @
Tra'ectoria de
datos

Basta con comen3ar la e+ecuci*n de una


nue1a instrucci*n cada ciclo$

Las etapas de:er;n durar el mismo


tiempo$

Ase,urar en cada etapa las instrucciones


est.n utili3ando diferentes recursos para
e1itar con4ictos$

'ementacin de 8 etapas
BPsqueda Decodi%caci*n A L U Almacenamiento
BPsqueda Decodi%caci*n A L U Almacenamiento
BPsqueda Decodi%caci*n A L U Almacenamiento
BPsqueda Decodi%caci*n A L U Almacenamiento
BPsqueda Decodi%caci*n A L U Almacenamiento
t
B
t
D
t
S
t
?
t
C
t
@
t
=
t
>
i
B
i
>
i
=
i
@
i
C
Tu:er6a llena
Relo+

Un oscilador que ,enera pulsos


que se utili3an para coordinar las
acti1idades de la m;quina$

Se mide en 7ercios K3" $


Superse,mentaci*n

Completar la interpretaci*n de mas


de una instrucci*n en un ciclo del
&p$

La tu:er6a de @ etapas se di1ide en


D etapas
s
B
s
>
s
=
s
@


s
B
s
>
s
=
s
@
s
B
s
>
s
=
s
@
s
B
s
>
s
=
s
@
s
B
s
>
s
=
s
@
s
B
s
>
s
=
s
@

s
B
s
>
s
=
s
@
s
B
s
>
s
=
s
@
s
B
s
>
s
=
s
@
s
B
s
>
s
=
s
@
s
B
s
>
s
=
s
@

s
B
s
>
s
=
s
@
s
B
s
>
s
=
s
@
s
B
s
>
s
=
s
@
s
B
s
>
s
=
s
@
s
B
s
>
s
=
s
@

s
B
s
>
s
=
s
@
s
B
s
>
s
=
s
@
s
B
s
>
s
=
s
@
s
B
s
>
s
=
s
@
0a e1ecucin de un instruccin en ; etapas
en un mp sin pipeline necesita
E1 E2 E3 E4 E5 E6
1
,<1
=
,<1
>
,<1
8
,<1
?
,<1
;
,<1
@
,<=
A
,<=
B
,<=
1%
,<=
11
,<=
1=
,<=
CiclosTnUV"
Donde n
Tno$instruc
VTno$ etapas
Para un microprocesador 2ue permita
pipeline se utili4a la siuiente &rmula
CiclosTVWn5
B"
ICuantos ciclos
tardar; en e+ecutarse
> instrucciones con ?
etapasJ
S1 S2 S3 S4 S5 S6
1 ,<1
= ,<= ,<1
> ,<= ,<1
8 ,<= ,<1
? ,<= ,<1
; ,<= ,<1
@ ,<=
Riesos
9
.structurales: 'e producen cuando dos o
m7s instrucciones utili4an el mismo
recurso de memoria al mismo tiempo
9
Datos: se produce cuando dos o m7s
instrucciones presentan dependencias de
datos entre sC!
Resolucin de riesos
estructurales
9
Duplicar recursos de +ardDare#
sementarlos o enerar turnos para su
acceso!
E
'eparar las memorias cac+!
E
0as escrituras se +acen en la primera mitad
del ciclo de relo1 / las lecturas en la seunda!
Ries,os de datos

Dependencias de datos

ADD R>/ R=/ R@L R>TR=WR@

ADD R>/ R>/ RCL R>TR>WRC


.'*RFC*FRA D. 0A
6AGF,-A
.s2uemas de direccionamiento
672uina de tres direcciones
9
0os tres operandos est7n explCcitos en
cada instruccin!
9
0os dos primeros son direcciones de los
operandos / el tercero es la &uente donde
se depositar7 el resultado!
672uina de tres direcciones
Muestras de instrucciones para una m;quina de tres direcciones$
ADD fteB/fte>/dest
MP9 fteB/fte>/ dest
.1emplo
'ume a"aH(IcHdHe# las )aria(les est7n
asociadas con las posiciones 1%%#1%8#1%A#11= /
11;! Adem7s la posicin =%% de memoria se
puede usar temporalmente
6PJ 1%%#1%8#1%%$ a"aH(
6PJ 1%A#11=#=%%$ temp"cHd
6PJ =%%#11;#=%%$ temp"tempHe
ADD 1%%#=%%#1%%$ a"aItemp
672uina de dos direcciones
9
Contiene el CodOp / dos operandos# una
de ellas actKa# adem7s como receptor del
resultado de la operacin!
672uina de dos direcciones
Muestras de instrucciones para una m;quina de dos direcciones$
ADD fte/dest
MP9 fte/dest
MO:E fte/dest
.1emplo
'ume a"aH(IcHdHe# las )aria(les est7n
asociadas con las posiciones 1%%#1%8#1%A#11= /
11;! Adem7s la posicin =%% de memoria se
puede usar temporalmente!
6PJ 1%8#1%%$ a"aH(
6O5. 1%A#=%%$ temp"c
6PJ 11=#=%%$ temp"tempHd
6PJ 11;#=%%$ temp"tempHe
ADD =%%#1%%$ a"aItemp
672uina de una direccin
9
*am(in conocida como m72uina
acumulador 2ue )a a tener una do(le
&uncin de ser)ir como operando destino /
como uno de los operandos &uente!
Muestras de instrucciones para una m;quina de una direcciones$
ADD dirL suma el 1alor de dir al 1alor del acum$ ' lo ,uarda en acum
MP9 dirL mult$ el 1alor de dir al 1alor del acum$ ' lo ,uarda en acum
LOAD dirL Car,a al acumulador el 1alor$
STORE dirL Almacena en la posici*n de memoria$
.1emplo
.)alue a"aH(IcHdHe
0OAD 1%%$ acum"a
6PJ 1%8$ acum"acumH(
'*OR. 1%%$a"acum
0OAD 1%A$ acum"c
6PJ 11=$ acum"acumHd
6PJ 11;$ acum"acumHe
ADD 1%%$ acum"acumIa
'*OR. 1%%$a"acum
672uina de cero direcciones
9
-o aparecen direcciones explCcitas! 'e
de(e de sa(er donde est7n los =
operandos / donde almacenar los
resultados!
9
0os operandos se meten en una pila del
tipo 0,3O (Kltimo en entrar primero en
salir)!
672uina de cero direcciones
M&e')ra' (e in')r&cci2n
ADD Saca dos 1alores de la cima de la pila ' los suma ' mete en la pila el resultado
MP9 Saca dos 1alores de la cima de la pila ' los multiplica ' mete en la pila el resultado
PUS; dir El 1alor de la direcci*n lo mete a la cima de la pila$
POP dir Saca el 1alor de la cima de la pila ' almacena en la direcci*n
.1emplo
.)alue a"aH(IcHdHe
PF'L 1%%$ MaN
PF'L 1%8$ MaNM(N
6PJ$ MaH(N
PF'L 1%A$ MaH(NMcN
PF'L 11=$ MaH(NMcNMdN
6PJ $ MaH(NMcHdN
PF'L 11;$ MaH(NMcHdNMeN
6PJ$ MaH(NMcHdHeN
ADD$ MaH(IcHdHeN
POP 1%%
.'*RFC*FRA D. 0A
6AGF,-A
6odos de direccionamiento
6odos de direccionamiento
9
'ir)en para locali4ar una instruccin o un
operando en memoria o reistros!
,nmediato
9
.l operando se encuentra presente en la
propia instruccin!
.s utili4ado para de&inir constantes#
asinar )aria(les!
9
5.-*AOA' se a+orra un ciclo de acceso
a memoria!
,nmediato
9
.1emplos:
9
'e +ace una copia del dato inmediato al
reistro o memoria!
6O5 AP#8?>=L$
6O5 .AP#18?;@L$
6O5 A0#QAQ$
Directo
9
.n la instruccin la direccin de memoria
donde se almacena el operando! 'olo
re2uiere una re&erencia a memoria / no se
necesita ninKn c7lculo especial!
Directo
9
.1emplos:
E
6O5 A0#DA*O'$
E
6O5 .':R=%%% +S#A0
E
6O5 -F.5O#A0
Directo al reistro
Kace referencia a un re,istro/ en lu,ar de una
direcci*n de memoria principal$
No se requieren referencias a
memoria$
Es muc7o mas r;pido$
,ndirecto
9
'e re&erencia a la direccin de la
direccin!
Se requieren dos ciclo
uno para conocer la
dir$ Intermedia ' otro
para conocer la
direcci*n %nal$
,ndirecto
9
.1emplos:
E
6O5 AP#TDA*A
E
6O5 CP#RBPS
,ndirecto al Reistro
9
Re&erencia a un reistro a una localidad
de memoria principal!
,ndirecto con despla4amiento
9
Determinar el rano de despla4amiento
9
.xisten:
E
,ndirecto relati)o
9
Al contador del PC
Relati)o
9
0a instruccin un despla4amiento D#
so(re una direccin marcada por un
UapuntadorV!
Relati)o a Reistro Base
9
'e usa como apuntador un Reistro Base
(BP o BP)
Relati)o al Reistro Base
9
.1emplos:
E
6O5 CP#RBPID,S
E
6O5 CL#RBPI',S
Relati)o al contador del PC
9
'e usa como reistro apuntador!
Adecuado para alcan3ar
instrucciones pr*(imas a la
que se esta e+ecutando$
Interrupciones/ saltos o
procedimientos$
Direcciones 0icas
9
'on a2uellas utili4adas en los procesos
Direcciones 3Csicas
9
'on a2uellas 2ue re&erencian aluna
posicin en memoria &Csica!
9
'e pueden direccionar mediante el anc+o
del (us de direcciones!
Direcciones 3Csicas
9
'e o(tienen por medio de la com(inacin
de un
Reistro 'emento IDespla4amiento
9
6ediante la siuiente &rmula:
DF=S*10h+D
Direccin .&ecti)a
9
.s una direccin de memoria principal o
de un reistro!
Despla3amiento
R$ Se,mento E E E E
Direcci*n de
Despla3amiento
CS/SS/DS/ES
BC E
BC E
Sumador
R$ Se,mento E E E E
Direcci*n f6sica
BX E
Relas para direccionar memoria
SEGMENTO DESPLAZAMIENTO PROPOSITO ESPECIAL
C' ,P Dir! de ,nstrucccin
'' 'P o BP Dir!de pila
D' BP# D,# ', Dir!de datos
.' D, Dir! Destino de cadenas
.1emplos:
C': =?A8L e ,P: 81=L
.ncontrar la siuiente instruccin 2ue
ser7 e1ecutada!
C': =?A8R%SL
,P: I 81 = L
Dir! 'i inst: =?.? = L
9
Dado '': =@B>R%SL / el 'P: >1=L
.ncontrar la pala(ra actual 2ue esta
siendo procesada en la pila!
DiseWo de repertorio de
instrucciones
9
C,'C(Complex ,nstruction 'et Computer)
Consiste en un amplia ama de
instrucciones# ran )ariedad de datos#
modos de direccionamiento / operaciones!
9
R,'C(Reduced ,nstruction 'et Computer)
Pocas instrucciones (Xsicas# &ormatos de
instruccin uni&orme# pocos tipos de datos /
simples modos de direccionamiento!
Consideraciones a tomar
9
*ipo / tamaWo de operandos (car7cter#
entero# coma &lotante) con 2ue tamaWos
9
Con1unto de operaciones soportadas
E
Operaciones aritmtico/licas
E
Control de &lu1o
E
De acceso a memoria
E
0lamadas a '!O
R,'C
9
*amaWo de instrucciones &i1o
9
Comportamiento predeci(le simpli&ica la
tarea cara
Destino de salto
9
Direccionamiento relati)o al PC:
E
'e utili4a cuando en el proceso de
compilacin se conoce la direccin destino
9
Direccionamiento indirecto con reistro:
E
'e inclu/e en la instruccin el identi&icador de
un reistro 2ue tiene la direccin destino de
salto
.ndianness *cnica adoptada para el
ordenamiento de (/tes dentro de las localidades
de memoria
Bi .ndian Coloca en primer instancia la ultima
pala(ra (PoDer PC#'parcY)
.1emplo
0a ,R ;;;B@>;@;C;?;1@>
%x;1@> Z %x;C;? Z %x@>;@ Z %x;;;B !!!
incremento de localidades <<N
0ittle<endian Coloca la instruccin en un
&ormato incremental sin modi&icar su
ordenamiento! (,ntel)
!!! %x;;;B Z %x@>;@ Z %x;c;? Z %x;1@> !!!
incremento de localidades <<N

6iddle .ndian Com(ina am(os mtodos
contando a partir del (/te m7s sini&icati)o#
el =do (/te primero# lueo el 1ro# lueo el
8to / &inalmente el >ro:
!!! %x@>;@ Z %x;;;B Z %x;1@> Z %x;c;? !!!
incremento de localidades <<N
6emoria reu(ica(le
9
.s a2uel 2ue puede ser colocado en
cual2uier area de memoria / ser utili4ado
sin modi&icar el prorama oriinal!
9
.sto es ideal para un e2uipo de proposito
eneral! 'u estructura es di&erente
Direccionamiento en modo real
'olo para mp A%A;/A%AA
Permite direccionar el primer 6B de
memoria
0os direccionamientos se +acen de manera
real con un 'emento I Despl
Permite la reu(icacin de memoria
6odo proteido
9
Para computadoras =A; / posteriores!
9
Permite acceder a datos / proramas por
encima del primer 6ea(/te de memoria!
9
'e re2uiere un cam(io en el es2uema de
direccionamiento!
9
.n luar de un semento de tiene un
see!"#$ 2ue elie un descriptor!
Fn descriptor especi&ica la u(icacin del
semento de memoria# su lonuitud / sus
derec+os de acceso!
A pesar del cam(io no es necesario
reescri(ir proramas!
.l reistro de despla4amiento es de >= en
luar de 1; (its!(=[>="8GB)
6ultiprocesamiento
Ta(onom6a de 0l'nn
Se :asa en el nPmero de
instrucciones ' de la secuencia de
datos que la computadora utili3a
para procesar informaci*n$
S I S D Sin<le
In')r&c)ion= Sin<le
Da)a
S I M D Sin<le
In')r&c)ion= M&l)iple
Da)a
M I S D M&l)iple
In')r&c)ion= Sin<le
Da)a
M I M D M&l)iple
In')r&c)ion= M&l)iple
Da)a
SISD Sin,le Instruction
Sin,le Data"
Es una
computadora
tradicional serial$
Una sola
instrucci*n# un 4u+o
de instrucciones
actPa so:re '
durante un ciclo de
relo+$
Un solo dato es
usado como
entrada durante un
ciclo de relo+$
SIMD Sin,le Instruction
Multiple Data"$

Un tipo de
computadora paralela

Todos los procesos se


e+ecutan en la misma
instrucci*n en el
mismo ciclo de relo+$

Cada procesamiento
puede operar en un
dato diferente$

Su set de instrucciones
se especiali3a en
pro:lemas de
procesamiento de
im;,enes$
Intel MMN
MISD Multiple Instrucion
Sin,le Data"

Un solo 4u+o de
datos es
procesado por
multiples
instrucciones$

Cada proceso
tra:a+a so:re un
dato
independiente$

Solo es un
modelo te*rico
MIMD Multiple Instruction
Multiple Data"
Cada procesador
puede e+ecutar un
:loque diferente de
instrucciones
Cada procesador
puede tra:a+ar so:re
un 4u+o de datos
diferente$
Su e+ecuci*n puede
ser s6ncrona o
as6ncrona$
Multicore
Le' de Moore
E(presa que apro(imadamente
cada BD meses se duplica el
nPmero de transistores en un
circuito inte,rado$
Co5fundador de Intel
/ Fordon E$ Moore

!ero la 1elocidad de los procesadores


depende de la frecuencia del relo+ interno
que estos usan$ El pro:lema que al
aumentar la 1elocidad del relo+ aparecen
pro:lemas t.cnicos comple+os a ma'or
1elocidad aumenta la disipaci*n de calor/
' se pierde la sincron6a de los datos"$
!ara sol1entar estos pro:lemas los
dise<adores de microprocesadores 7an
decidido adoptar otras estrate,ias$

La idea es que se puede o:tener


un me+or desempe<o paraleli3ando
tareas/ sin tener que aumentar la
1elocidad del relo+ del procesador$
Con esto los desarrolladores de
procesadores pueden se,uir
apro1ec7ando la Le' de Moore/
constru'endo cada BD meses
procesadores con ma'or capacidad
de procesamiento$
Entonces sur,eZ
!araleli3ar

Si tenemos un pro:lema que podemos


paraleli3ar
ICuanto me+ora el desempe<o del
mismo al a,re,ar m;s procesadoresJ
En otras pala:ras/ si un pro:lema lo
resol16amos con B C!U en un tiempo T/
entonces al tener una C!U dualcore
IDe:er6amos resol1erlo en T2>J
Muc7o de nuestro softGare aPn opera
en forma secuencial$
!ero ICu;nto se ,ana en ,eneral en
un proceso s6 aumentamos la cantidad
de coresJ
IKa' al,Pn l6mite a nuestra capacidad
de paraleli3ar/ o el procesamiento
paralelo promete un promisorio futuro
de pro,reso permanente en nuestras
capacidades de c*mputoJ
La Le' de Amda7l

En BX?S Amda7l propuso la si,uiente


o:ser1aci*n# [La me+ora o:tenida en el
rendimiento de un sistema de:ido a la
alteraci*n de uno de sus componentes est;
limitada por la fracci*n de tiempo que se
utili3a dic7o componente8$

La le' de Amda7l es un modelo


matem;tico que descri:e la
relaci*n entre la aceleraci*n
esperada de la implementaci*n
paralela de un al,oritmo ' la
implementaci*n serial del mismo
al,oritmo
En t.rminos simples# 8e' el al<ori)mo el
6&e (eci(e la me8ora (e >eloci(a(=
no el n5mero (e proce'a(ore'9$
T.cnicamente la le' de Amda7l
trata so:re la aceleraci*n S que
se puede alcanzar a partir de
las modi%caciones me+oras" de
una porci*n P de un clculo.

Cada 1e3 que se do:la el nPmero


de procesadores la aceleraci*n
disminu'e

De esta manera se tiende al l6mite


si,uiente#

E+emplo

Supon,amos que tenemos un pro:lema ' que


un =E\ del al,oritmo puede ser paraleli3ado/
mientras el SE\ restante si,ue siendo
secuencial/ la le' de Amd7al dice que al
paraleli3ar al m;(imo el pro,rama la nue1a
1ersi*n ser; B2B 5E$=E" T B$@>DC 1eces m;s
r;pida que la 1ersi*n no paraleli3ada$

La Le' de Am7dal nos dice que no


importa la cantidad de procesadores
o cores" con que dispon,amos/ la
,anancia est; limitada por aquella
parte del al,oritmo que no se puede
paraleli3ar$
In)err&pcione'

Una interrupci*n es un mecanismo


de transferencia de control/
ocasiona que el Mp deten,a la
e+ecuci*n del pro,rama actual/
trans%era el control a una rutina
de ser1icio/ ' al t.rmino de .sta
prosi,a con la e+ecuci*n del
pro,rama$

La familia de Mp]s Intel acepta de sus


tipos# de hardware ' software.
KardGare# son in1ocadas as6ncronamente/
es decir/ pueden ocurrir en cualquier
momento ' no se encuentran :a+o el
control del pro,rama" por un dispositi1o o
e1ento e(terno/ por e+emplo la pulsaci*n
de una tecla/ la recepci*n de un :it en un
puerto/ un error de paridad$

SoftGare# en realidad no
interrumpen al,o sino que mandan
llamar una rutina/ las cuales
pueden in1ocarse a 1oluntad ' son
controladas por el pro,rama en
forma s6ncrona$
Interrupciones

Enma'cara4le'7 Las reci:e el mp


por la patilla INTR$ Se reconoce si
la :andera I0 esta en uno$

No Enma'cara4le'7 Las reci:e el


mp por la patilla NMI$ No se puede
e1itar el reconocimiento de dic7as
interrupciones$
E(cepciones

De)ec)a(a' ? el mp7 Se
producen cuando el mp encuentra
un error al ser e+ecutada una
instrucci*n$

Pro<rama(a'7 Ka' instrucciones


que ,eneran una e(cepci*n INT"$

)ector de Interrupciones '


e(cepciones del !entium
II

)ector Descripci*n

E Di1isi*n por cero

B !aso a paso

> NMI No mascara:le"

= Detiene la depuraci*n

@ Des:ordamiento por INTE

C Des:ordamiento por B-UND

? In1alido C-D-!

S Dispositi1o no disponi:le

D Cuando ocurren > Interrupciones

X RESER)ADA

BETarea in1alida

BBSe,mento no 1;lido

B>0allo en la pila

B=!rotecci*n ,eneral

B@Error de p;,ina

BCRESER)ADA

B?Error de coma 4otante

BS)eri%ca la alineaci*n de interrup

BD)eri%ca la m;quina

BX5=B RESER)ADA

=>5>CCInterrup$ Mascara:lesusuario"
Cuando ocurre una interrupci*n ocurren los
si, e1entos$
B$ Se introducen en la pila el 1alor de las
:anderas$
>$ I0TELT0TE
=$ Se ponen en la pila CS ' !C
@$ Se captan los contenidos del 1ector de
interrupciones se car,an CS ' !C para
locali3arla en memoria$
C$ Se reali3a la interrupci*n
?$ Actuali3an los 1alores de CS ' !C
los de la pila"$
S$ Continua la e+ecuci*n del
pro,rama$
M.tricas de rendimiento

IC*mo 1an a e1olucionar estas


arquitecturasJ

IC*mo se pueden me+orarJ

ICu;nto me+or son unas so:re


otrasJ
M.tricas

0acilidad de medida

Repeti:ilidad

0ia:ilidad

Consistencia$ Cuando el resultado no


1aria de un arquitectura a otra$

Linealidad$ Si se duplica el
rendimiento se duplica el 1alor de la
m.trica$

ILa frecuencia del relo+ cumple con


una m.tricaJ
t=1/f
N- es %a:le$
!ero si cumple con facilidad de medida/
repeti:ilidad ' consistencia
M.tricas sencillas
Rendimiento de un
microprocesador

Tiempo que un c*di,o tarda en


e+ecutarse dentro del microprocesador$

Donde T es el periodo de relo+ del procesador

C!I son los ciclos que en media tarda una


instrucci*n en e+ecutarse$

I es el nPmero de instrucciones que componen al


procesador
Componen)e
e>al&a(o
M!)rica Si<ni@ca(o E?pre'i2n
!R-CESAD-R Tiempo de C!U Tiempo que un
c*di,o en
ensam:lador
^ERARQUIA DE
MEM-RIA
Tiempo de medio
de acceso
Tiempo en
media que
tarda reali3ar
un acceso a
memoria
t
C!U
TT
aciertoMC
WT0Up0
BUS Anc7o de :anda Cantidad de
informaci*n que
puede transferir
el :us por
unidad de
tiempo
B_T
anc7odatosUfUT!C
Donde T!C es no$
transferencias por
ciclo$
C;lculo de la frecuencia
m;(ima de un procesador

Se tienen las si,uientes latencias para


los m*dulos de 7ardGare/ teniendo en
cuenta que el per6odo de relo+ estar;
limitado por la instrucci*n que m;s
tarde en e+ecutarse#

Lectura de la memoria E$= ns

Escritura en la memoria # E$@C ns

Lec2Esc :anco de re,istros# E$ECns

-peraciones A2L con ALU# E$>C ns

Suma para preparar el !C si,uiente#


E$B ns
La etapa donde tarda mas tiempo en
e+ecutarse es TTE$@C ns

!or di1ersas cuestiones del S$-

Dados por la tareas propias del S-/


dado que los sistemas actuales son
multitarea$
Comparaci*n entre una
+erarqu6a de memoria
perfecta ' una +erarqu6a de
memoria real
Un procesador que funciona con
una frecuencia de relo+ de >FK3 '
con un C!I ideal de B/ e+ecuta
c*di,o de BEE instrucciones$
Incorpora memorias dos memorias
cac7./ una para instrucciones MI"
' otra para datos MD"/ que se
suponen ideales$ Es decir/ se
supone que su tiempo de acceso es
desprecia:le ' nunca fallan$ !or
tanto/ el tiempo de e+ecuci*n de
este c*di,o es el tiempo de C!U#
Sustitu'endo#
En realidad las memorias no son
perfectas$ Supon,amos que la
memoria cac7. de instrucciones
tiene una tasa de fallos del @\ '
una penali3aci*n por fallo de BEE
nsL ' la MD una tasa de fallos de
?\ ' una penali3aci*n de fallo de
BBC ns$ Teniendo en cuenta que
para e+ecutar ese c*di,o/ 7acen
falta BEE accesos a MI ' >C
accesos a MD el tiempo que se
in1ierte en acceder a memoria es#
El tiempo en e+ecutarse este c*di,o es realmente#
Sustitu'endo#

La ,anancia/ aceleraci*n o speedup



Rendimiento
STB no afecta
S`B empeora
SaB me+ora
Memoria con un ni1el de Cac7.
1s memoria de dos ni1eles de
Cac7.

Inicialmente tenemos un
procesador con un Pnico ni1el de
memoria cac7./ uni%cada/ con
tiempo de acceso de B ns/ tasa de
fallos del C\ ' penali3aci*n por
fallo de XE ns$

IQu. tiempo se lle1ar; el 7acer


una lecturaJ
SaB implica
una me+ora
C$C2=$=TB$?
Un procesador que funciona con un frecuencia de
>$B FK3 e+ecuta un c*di,o compuesto por B>EE
instrucciones ensam:lador$ Se 7a estudiado el
repertorio de instrucciones de este procesador ' se
sa:e que en media el >E\ de las instrucciones
e+ecutados son saltos/ el CE\ son instrucciones A2L
' el =E\ restante son instrucciones de acceso a
memoria$ Los saltos tardan = ciclos en e+ecutarse/
las instrucciones A2L tardan @ ciclos ' las
instrucciones de acceso a memoria tardan C ciclos$
ICu;nto tiempo tarda en e+ecutarse este c*di,o
en el procesadorJ
C;lculo del tiempo de
e+ecuci*n
Un dise<ador de procesadores de:e
decidir si aumentar el nPmero de
etapas de su nue1o dise<o$ !ara tomar
esta decisi*n e1alPa que aumentar de
@ a ? etapas le permiten aumentar la
frecuencia del relo+ en un BC\/ pero
que el C!I pasa de un 1alor de B a B$>=$
!or lo tanto/ para sa:er si aumentar el
nPmero de etapas supone una me+ora o
no/ calcula el speedup que o:tendr6a
mediante la ecuaci*n de prestaciones
del procesador
Proce'a(or con 0 e)apa' Proce'a(or con - e)apa'
I I
C!ITB C!ITB$>=
f B$BC f
Sustitu'endo#
0IN
Limitaciones

Aumentarlo pro1oca ma'or ;rea '


consumo de potencia# mas l6neas
pro1ocan ruido en la transferencia

En cuanto a la frecuencia/
limitaciones de potencia ' ruido$

En cuanto al nPmero de
transferencias/ suele ser limitado
por el protocolo / sincroni3aci*n

Latencia# tiempo que tarda en


completarse la transacci*n de E2S

Você também pode gostar