Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Teoria Libro PDF
Teoria Libro PDF
COMPUTADORAS
William Stallings
7a Edicin
Introduccin
Cuando se describe a un computador, frecuentemente se distingue
entre arquitectura y organizacin.
Estructura y funcionamiento
Debido a la complejidad que conlleva intentar describir a un
computador se utiliza un sistema jerrquico para su descripcin.
Un sistema jerrquico esta compuesto por varios subsistemas
interrelacionados y cada uno de estos se organiza tambin de
manera jerrquica hasta que se alcanza el nivel ms elemental del
sistema.
La naturaleza jerrquica es esencial en los sistemas complejos y
ayuda al diseador a tratar solamente con un nivel particular del
sistema a la vez.
El comportamiento de cada nivel depende solo de una
caracterizacin abstracta y simplificada del sistema que hay en el
siguiente nivel ms bajo.
Ing. Mnica Patricia Ren
Estructura y funcionamiento
De cada nivel al diseador le interesa la estructura y el
funcionamiento.
Estructura: modo
interrelacionados.
en
el
que
los
componentes
estn
Funcionamiento
Las funciones bsicas en trminos
generales son:
Procesamiento de datos
Almacenamiento de datos
Transferencia de Datos
Control
Organizacin y Arquitectura
Computadores.
William Stallings - 79
Ing. de
Mnica
Patricia Ren
edicin.pdf
Transferencia
Control
Control
Almacenamiento
Procesamiento
Almacenamiento
Procesamiento
b) Almacenamiento desde
un dispositivo externo
al almacn de datos (leer)
o viceversa (escribir).
(b)
(a)
Transferencia
Transferencia
Control
Almacenamiento
Control
Procesamiento
Almacenamiento
(c)
Procesamiento
c) d) Procesamiento de datos
en datos almacenados o
en trnsito entre el almacn
y el exterior.
(d)
10
11
12
13
14
Nota:
E/S: cuando se reciben o se llevan datos a un dispositivo
(perifrico) que est directamente conectado con el computador.
Comunicacin de datos: cuando se transfieren datos a grandes
distancias, desde o hacia un dispositivo remoto.
15
Estructura
Representacin ms sencilla de un computador: entidad que
interacta de alguna manera con su entorno externo.
a
ne
L
de
rif
ri
co
s
s
C
om
Pe
a
ic
un
n
ci
Computador
* Almacenamiento
* Procesamiento
Fig. 1.3
El Computador
16
Estructura top-down
Computer
Peripherals
Central
Processing
Unit
Computer
Main
Memory
Systems
Interconnection
Input
Output
Communication
lines
Ing. Mnica Patricia Ren
17
la
18
Estructura de la CPU
CPU
Computer
Arithmetic
and
Login Unit
Registers
I/O
System
Bus
CPU
Internal CPU
Interconnection
Memory
Control
Unit
19
Estructura
20
Estructura
21
Control Unit
CPU
Lgica
Secuencial
ALU
Internal
Bus
Control
Unit
Registros y
Decodificadores
de la CU
Registers
Memoria
de Control
22
23
24
25
Revolucin tecnolgica:
disminucin $$ computadores, aumento de prestaciones, capacidad. ej.
100 millones de transistores por < u$d 1,000.
26
sacarle
provecho
las
prestaciones
muy
27
28
29
30
31
32
33
34
35
36
Unidad 2
Estructura bsica de una Computadora
37
38
39
40
41
42
43
44
Detalles del
computador IAS
45
46
47
IAS
instructions set
48
49
50
51
Cdigo de
instrucciones
(programa)
Interprete de
instrucciones
Seales de
control
datos
Funciones
aritmticas y
lgicas de uso
general
resultados
52
53
54
55
Ciclo de captacin
El PC contiene la direccin de la prxima instruccin a ejecutar.
El procesador capta la instruccin desde la memoria en la direccin
indicada por el PC.
Se incrementa en 1 el PC (a no ser que se indique otro valor)
56
Ciclo de ejecucin
La ejecucin de una instruccin puede implicar una combinacin de
las siguientes acciones:
57
3 4
0
codop
direccin
Formato instruccin
0
s
15
magnitud
Formato dato
58
captacin
ejecucin
59
60
61
62
Interrupciones
63
Interrupciones
64
Interrupciones
PROGRAMA
Por Consultas
(Poollings):
Pruebas cclicas
mediante instrucciones
de programa para checar
el estado de los perifricos
de E/S.
No, no activo
P0.0=0?
bit 0
bit 1
P0.0
Perifrico 1
P0.1
PUERTO 0
DATOS E/S
Programa
perifrico 1
Activar
P0.1
No, no activo
P1.0=0?
bit 0
bit 1
PUERTO1
Programa
perifrico 2
Activar
P1.1
P1.0
Perifrico 2
P1.1
DATOS E/S
Interrupciones
INTERRUPCION
Por Interrupcin:
Servicio directo
entre perifricos
y CPU.
Inmediato e
inhibible, si se
considera
inoportuna.
Forma de trabajo
inherente al control
de procesos en tiempo
real.
PROGRAMA
------------------------------------------------------------
Atencin perifrico 1
----------------------------------------------
INT 1
Perifrico 1
PUERTO 0
DATOS E/S
INTERRUPCION
INT 2
Perifrico 2
Atencin perifrico 2
---------------------------------------------
PUERTO1
DATOS E/S
Interrupciones
67
Interrupciones
Ejemplo llamadas de escritura a impresora:
68
Interrupciones
Para permitir el uso de interrupciones se aade un ciclo de
interrupcin al ciclo de instruccin.
69
Interrupciones
El procesador comprueba si se ha generado alguna interrupcin.
Si no hay seales de interrupcin pendientes, el procesador
contina con el ciclo de captacin y accede a la siguiente
instruccin del programa en curso.
Si hay alguna interrupcin pendiente:
Suspende la ejecucin del programa y guarda su contexto (almacena el
contenido actual del PC y cualquier otro dato relacionado con la
actividad en curso)
Carga el PC con la direccin de comienzo de una rutina de gestin de
interrupciones.
70
Interrupciones
Luego el procesador prosigue con el ciclo de captacin y accede a
la primera instruccin del programa de gestin de interrupciones.
71
Interrupciones
Luego el procesador prosigue con el ciclo de captacin y accede a
la primera instruccin del programa de gestin de interrupciones.
72
Interrupciones
73
Interrupciones
En el ejemplo de las llamadas de escritura a una impresora (d.66)
vemos en la figura b, que el tiempo de operacin necesario para
E/S es relativamente corto y que, sta termina antes de que se
realice otra peticin de escritura en el programa de usuario.
Mientras que en la figura c se observa que el tiempo anterior es
mucho mayor y que antes de que termine la operacin de E/S
generada en la primera llamada se produce en el programa de
usuario otra llamada a escritura.
Lo anterior provoca que el programada de usuario se detenga hasta
que se complete la primera operacin de E/S y luego se pase
atender a la siguiente operacin de escritura.
74
Interrupciones mltiples
Qu hacer si el procesador est atendiendo una interrupcin y en
ese momento surge otra(s) llamada(s) a interrupcin(es)?
Interrupcin inhabilitada:
Cuando surge una interrupcin, el procesador para atenderla ignora a
las dems interrupciones desactivndolas.
Luego que termina de atender a la interrupcin el procesador
comprueba si se produjo alguna otra adicional y procede a atenderla.
El ciclo anterior se repite.
75
Direccin
rutina
INT0 (EXTERNA 1)
0003H
INT1 (EXTERNA 2)
0013H
T0 (INTERNA TIMER 0)
000BH
T1 (INTERNA TIMER 1)
001BH
T2 (INTERNA TIMER 2)
002BH
002BH
0023H
SERIE)
b7
b6
b5
b4
b3
EA
ET2
ES
ET1
b2
EX1
b1
b0
ET0
EX0
Estructura de interconexin
80
Estructura de interconexin
Memoria:
81
Interconexin memoria
82
Estructura de interconexin
E/S:
83
Lectura y escritura.
Un mdulo puede controlar ms de un dispositivos externo
mediante sus puertos.
Cada puerto (interface) con una direccin.
84
Estructura de interconexin
Procesador
85
Interconexin procesador
86
Estructura de interconexin
87
Estructura de interconexin
Procesador a E/S: el procesador enva datos al dispositivo de E/S.
88
89
90
Bus de datos
Camino para los datos (o instrucciones).
91
Bus de direcciones
Se utilizan para designar la fuente o el destino del dato (o la
instruccin) situado en el bus de datos.
Ej, si el procesador desea leer una palabra (dato o instruccin)
situado en la memoria (o en un mdulo de E/S) situar la direccin
de la palabra en el bus de direcciones.
Su anchura determina la mxima capacidad de memoria posible del
sistema.
Ej en el procesador 8080 su bus era de 16 bits, lo que permita
direccionar hasta 64k (64* 103= 64,000 posiciones ) de memoria.
92
Bus de direcciones
Se utilizan para designar la fuente o el destino del dato (o la
instruccin) situado en el bus de datos.
Ej, si el procesador desea leer una palabra (dato o instruccin)
situado en la memoria (o en un mdulo de E/S) situar la direccin
de la palabra en el bus de direcciones.
Su anchura determina la mxima capacidad de memoria posible del
sistema.
Tambin se utiliza para direccionar los puertos de los mdulos de
E/S.
93
Bus de control
Controla el acceso a las lneas de datos y de direcciones.
Transmiten tanto rdenes como seales de temporizacin o
sincronizacin entre los mdulos del sistema.
94
Bus de control
Lneas de control tpicas:
Memory write: dato del bus se escribe en la posicin direccionada.
Memory read: dato de la posicin direccionada se sita en el bus.
I/O write: dato del bus se transfiere al puerto de E/S direccionado.
I/O read: dato del puerto de E/S direccionado se sita en el bus.
Transfer ACK (transferencia reconocida): dato aceptado o
situado en el bus.
95
Bus de control
Bus request (peticin del bus): indica que un mdulo necesita
disponer del control del bus.
Bus grant (cesin del bus): indica que se cede el control del bus a
un mdulo que lo haba solicitado.
Interrupt request (peticin de interrupcin): indica si hay una
interrupcin pendiente.
Interrupt Ack (interrupcin reconocida):
interrupcin pendiente se ha aceptado.
seala
que
la
96
Bus de control
Clock: sincroniza operaciones.
Reset: coloca los mdulos conectados al bus en su estado inicial
97
98
99
100
101
102
103
Tipo de buses
Dedicado: est permanentemente asignado a una funcin1 o a un
subconjunto fsico de componentes2.
104
Tipo de buses
Multiplexado: se utilizan las mismas lneas para transmitir
diferentes tipos de informacin, como por ejemplo datos y
direcciones.
Con una lnea de control de Direccin Vlida situamos al comienzo
de la transferencia de datos, la direccin se sita en el bus y se
activa la lnea de control.
Luego cada mdulo tiene un tiempo para copiar la direccin y
determinar si l es el mdulo direccionado.
Despus la direccin se quita del bus, y se utilizan las mismas
lneas para transferir el dato (lectura o escritura).
Lo anterior se conoce como multiplexado por tiempo.
105
Tipo de buses
Ventajas del multiplexado por tiempo: uso de menos lneas, uso de
menos espacio, menos costo.
107
Switch
Trasmite
Recibe
Ing. Mnica Patricia Ren
108
109
Trasmite
Recibe
Espera
110
Temporizacin de buses
Hace referencia a la forma en que se coordinan los eventos en el
bus.
111
Temporizacin de buses
112
Temporizacin de buses
Asncrona: la presencia de un evento es en el bus es consecuencia
y depende de que se produzca un evento previo.
113
Temporizacin de buses
Diagrama de lectura temporizacin asncrona
114
Temporizacin de buses
Diagrama de escritura temporizacin asncrona
115
116
117
El bus PCI
118
El bus PCI
119
El bus PCI
120
El bus PCI
Un dispositivo integra el controlador de memoria y el adaptador al
bus PCI:
Proporciona el acoplamiento al procesador (buffer temporal).
Asla la capacidad de E/S del procesador de la velocidad real
del bus, lo que posibilita transmitir datos a alta velocidad.
121
El bus PCI
Se pueden conectar una o varias configuraciones PCI al bus del
sistema por medio de adaptadores
Al bus del sistema slo se conectan las unidades
procesador/cach, la memoria principal y los adaptadores.
Los adaptadores mantienen la independencia procesador-PCI.
122
El bus PCI
El estndar actual permite configurar el bus PCI como un bus de 32
64 bits.
La especificacin tambin define 51 seales opcionales que se
dividen en los siguientes grupos funcionales:
Terminales de interrupcin: no son lneas compartidas
cada dispositivo tiene sus propias lneas para generar
peticiones a un controlador de interrupciones
Terminales de soporte de cach: necesarios para permitir
memorias cach en el bus asociadas a un procesador o a
otro dispositivo
123
El bus PCI
Terminales de ampliacin a bus de 64 bits:
32 lneas para direcciones y datos multiplexadas en el tiempo que
se pueden combinar con las obligatorias para tener un total de 64.
Lneas adicionales para interpretar y validar las direcciones y
datos, as como para permitir que dos dispositivos acuerden el uso
de los 64 bits
Terminales de test: siguen estndar IEEE para procedimientos de
test.
124
El bus PCI
125
El bus PCI
126
El bus PCI
La actividad del bus consiste en transferencias entre dispositivos
conectados al bus:
El dispositivo que inicia la transferencia es el maestro.
Cuando el maestro adquiere el control del bus determina el tipo
de transferencia que se realizar (lneas C/BE).
El bus PCI utiliza un esquema de arbitraje centralizado sncrono en
el que cada maestro tiene una nica seal de peticin (REQ) y
cesin (GNT) del bus.
127
El bus PCI
Estas lneas se conectan a un rbitro central, lo que permite que los
dispositivos accedan al bus tras un simple intercambio de seales
de peticin y cesin.
128
El bus PCI
La especificacin del bus PCI no indica un algoritmo particular de
arbitraje
El rbitro puede utilizar cualquier esquema de prioridad
Primero en llegar, primero en servirse
Rotatorio (round robin)
129
Unidad 3
la Unidad Central de Procesamiento
130
131
La ALU
Realiza las operaciones aritmticas y lgicas.
132
La ALU
Los datos se presentan en registros y en registros se almacenan
sus resultados.
Puede activar indicadores o banderas (flags) como resultado de una
operacin.
Puede tener una unidad de co-procesador matemtico (FPU)
separada.
133
Representacin de ns enteros
En el sistema de numeracin binaria cualquier nmero puede
representarse tan solo con los dgitos 0 y 1.
Para enteros positivos la representacin sera inmediata:
Ej:: 41= 00101001
En general, si una secuencia de de n dgitos binarios an-1, an-2,
.,a1, a0 es interpretada como un nmero entero sin signo A, su
valor es:
1
=
=0
134
Representacin de ns enteros
Si deseamos trabajar con nmeros enteros negativos podemos
utilizar la representacin signo magnitud o la representacin
complemento a 2.
La forma ms sencilla de representacin es la signo magnitud que
emplea un bit de signo.
En una palabra de n bits los n-1 bits de la derecha representan la
magnitud del entero y el bit n (ms significativo) representa el signo,
de forma que si n=1 el nmero es negativo y si n=0 el nmero es
positivo.
+18= 00010010
-18=10010010
Ing. Mnica Patricia Ren
135
2
=
1 = 0
=0
2
1 = 1
=0
136
Representacin de ns enteros
La representacin signo magnitud posee varias limitaciones:
Cuando sumamos y restamos nmeros debemos de tener en
cuenta tanto el signo como la magnitud relativa de los nmeros.
8-9=8+(-9)=-1
+
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
= 1 (error)
desbordamiento (overflow)
137
138
139
= 21 1 +
2
=0
140
64
32
16
64
32
16
64
32
16
141
142
143
144
145
146
147
Suma
binaria
10
148
149
150
151
152
153
154
155
156
157
Multiplicand
158
159
160
161
162
163
Aritmtica Multiplicacin
Pero, si los dos bits anteriores son distintos (0-1 o 1-0), se realiza
una suma o una resta del multiplicando (M) al registro A. Luego
todos los bits de los registros A, Q y Q-1 se desplazan un bit a la
derecha.
164
Aritmtica Multiplicacin
Diagrama de flujo
165
166
Este nmero puede almacenarse en una palabra binaria con tres
campos:
Signo: ms o menos
Parte significativa o mantisa (S, significand)
Exponente (E)
La base est implcita y no necesita memorizarse, ya que es la
misma para todos los nmeros (2 binaria).
Ing. Mnica Patricia Ren
167
168
Representacin sesgada
Nota: Representacin sesgada
169
Representacin sesgada
Para simplificar el formato de la representacin en coma flotante,
sera interesante evitar la necesidad de un bit de signo adicional
para representar el exponente.
Por este motivo, el exponente se representa usando un formato
denominado en exceso, que consiste en sumar un desplazamiento
al valor real del nmero.
En los formatos de exponente en coma flotante, este
desplazamiento se calcula restando 1 al entero ms grande que se
pueda representar y luego dividiendo por 2.
Si utilizamos 8 bits para representar el exponente, hay 28
combinaciones posibles, desde 0 hasta 255.
El desplazamiento ser (255 1) / 2 = 127.
Ing. Mnica Patricia Ren
170
171
172
173
174
175
=
=
Operaciones aritmticas
+ =
= )
+ , XEYE
, XEYE
+
= ( )
176
177
178
179
180
Cdigo de
operacin
Elementos
esenciales
de una
instruccin
Especifican
registros
o
posiciones de memoria de
datos operandos. Los datos
pueden
ser:
direcciones,
nmeros, caracteres o datos
lgicos.
Referencia a
operandos
fuente y
destino
Referencia a
la siguiente
instruccin
181
182
183
184
185
Sumar
Restar
Multiplicar
Dividir
Cargar datos de memoria
Almacenar datos en memoria (memorizar)
186
187
188
de
Almacenamiento
de datos
Transferencia
de datos
Procesamiento
de datos
Tipos de
instrucciones
Instrucciones de E/S
Instrucciones
comprobacin
bifurcacin
de
y
Control
189
190
191
Tipos de operando
Las instrucciones mquina operan con datos.
Datos: Direcciones
Nmeros
Caracteres
Datos lgicos
192
Modos de direccionamiento
La referencia a un operando en una instruccin contiene su valor
(inmediato) o bien una referencia a la direccin del operando.
Direccionamiento directo: la direccin del operando est en el
campo de direcciones.
Direccionamiento indirecto: el campo de direcciones apunta a la
posicin que contiene la direccin del operando.
193
Modos de direccionamiento
Tarea Ejercicios para repertorio de instrucciones.
TP3.
194
Captar la instruccin
Interpretar la instruccin
Captar datos
Procesar datos
Escribir datos
195
196
Registros
La CPU debe tener un espacio para el almacenamiento temporal.
El nmero de registro y sus funciones varan segn el diseo de la
CPU.
197
Registros
Los registros visibles para el usuario pueden ser:
De uso general
Datos
Direcciones
Cdigos de condicin
198
Registros
Los registros de uso general, pueden tener un uso general o
pueden tambin ser usados para funciones de direccionamiento.
Puede contener el operando para cualquier cdigo de operacin.
199
Registros
Los registros de cdigo de condicin son bits fijados por el
hardware de la CPU como resultado de alguna operacin.
Adems de almacenarse el propio resultado de la operacin en un
registros o en la memoria, se obtiene tambin un cdigo de
condicin.
El cdigo de condicin puede ser luego examinado con
posterioridad, como parte de una condicin de bifurcacin
condicional.
200
201
202
203
usado
para
permitir
204
El ciclo de instruccin
Recordemos que un ciclo de instruccin est compuestos por tres
subciclos:
Captacin: llevar la siguiente instruccin de la memoria a la CPU.
205
El ciclo de instruccin
Hemos visto que la ejecucin de una instruccin puede involucrar a
uno o ms operandos en memoria, cada uno de los cuales requiere
un acceso a memoria. Adems si se una direccionamiento indirecto
sern necesarios accesos a memoria adicionales.
Podemos considerar la captacin de direcciones indirectas como
un subciclo de instruccin ms.
206
Flujo de datos
La secuencia exacta de eventos que tienen lugar durante un ciclo
de instruccin depende del diseo de la CPU, pero en general se
puede resumir como sigue:
3
Concluido el ciclo de
Captacin la UC revisa
el IR para ver si hay algn
direccionamiento indirecto.
Incremento el PC en 1
207
Flujo de datos
Si hay algn direccionamiento indirecto se lleva a cabo el ciclo
indirecto.
208
Flujo de datos
El ciclo de ejecucin adopta muchas formas, ya que depende de
cul instruccin mquina se est en el IR.
Puede implicar transferencias de datos entre registros, lectura o
escritura de memoria o E/S, y/o la invocacin de la ALU.
209
Flujo de datos
El ciclo de interrupcin es simple.
Se guarda el contenido del PC en el MBR para ser escrito en la
memoria.
La direccin especfica se carga en el MAR desde la UC.
PC se carga con la direccin de la subrutina de interrupcin.
210
Pipeline
Cmo aumentar la velocidad del procesador?
Una manera es utilizando la concurrencia:
i.
ii.
211
Pipeline
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227