Está en la página 1de 227

ORGANIZACIN Y ARQUITECTURA DE

COMPUTADORAS

William Stallings
7a Edicin

Introduccin
Cuando se describe a un computador, frecuentemente se distingue
entre arquitectura y organizacin.

Ing. Mnica Patricia Ren

Arquitectura vs. organizacin


Arquitectura: atributos de un sistema que son visibles para un
programador (atributos que tienen un impacto directo en la
ejecucin lgica de un programa).
Ej., conjunto de instrucciones, nm. de bits para representar datos,
mecanismos de E/S, tcnicas de direccionamiento a memoria.

Ing. Mnica Patricia Ren

Arquitectura vs. organizacin


Organizacin: unidades funcionales y sus interconexiones, que
dan lugar a especificaciones arquitectnicas.
Ej., detalles de hardware transparentes al programador (seales de
control, interfaces entre el computador y los perifricos, tecnologa
de memoria usada).

Ing. Mnica Patricia Ren

Arquitectura vs. organizacin


Una cuestin de diseo arquitectnico es por ejemplo si el
computador tendr la instruccin de multiplicar.

Una cuestin de organizacin ser si dicha instruccin se


implementa por una unidad especializada en multiplicar o, por un
mecanismo que haga uso iterativo de la unidad suma del sistema.

Ing. Mnica Patricia Ren

Arquitectura vs. organizacin


Muchos fabricantes ofrecen una familia de modelos de
computadoras, todos con la misma arquitectura pero con diferente
organizacin. Ej serie IBM 370.
Una arquitectura puede sobrevivir varios aos, pero su organizacin
cambia con la evolucin de la tecnologa.

Ing. Mnica Patricia Ren

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: la operacin de cada componente individual


como parte de la estructura.

En trminos de descripcin podemos hacerlo utilizando la


metodologa top-dow, es decir comenzar desde arriba y
descomponer el sistema en subsistemas hacia abajo.

Ing. Mnica Patricia Ren

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

Operaciones posibles de un computador


Transferencia

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

a) Transferencia de datos desde


un perifrico o lnea
de comunicacin a otro.

Control

Procesamiento

Almacenamiento

(c)

Procesamiento

c) d) Procesamiento de datos
en datos almacenados o
en trnsito entre el almacn
y el exterior.

(d)

Ing. Mnica Patricia Ren

Fig. 1.2 Posibles operaciones de una Computador

10

Operacin movimiento de datos

Ing. Mnica Patricia Ren

11

Operacin almacenamiento de datos

Ing. Mnica Patricia Ren

12

Operacin procesamiento de datos


en datos almacenados

Ing. Mnica Patricia Ren

13

Operacin procesamiento de datos


entre datos almacenados y el exterior

Ing. Mnica Patricia Ren

14

Operaciones posibles de un computador

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.

Ing. Mnica Patricia Ren

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

Ing. Mnica Patricia Ren

16

Estructura top-down

Computer

Peripherals

Central
Processing
Unit
Computer

Main
Memory

Systems
Interconnection

Input
Output
Communication
lines
Ing. Mnica Patricia Ren

17

Estructura a nivel superior


Central Processing Unit (CPU): controla el funcionamiento de
computador y lleva a cabo sus funciones de procesamiento de
datos (= Procesador).
Memoria principal: almacena datos.
E/S: transfiere datos entre el computador y el entorno externo.

Sistema de interconexin: mecanismo que proporciona


comunicacin entre la CPU, la memoria ppal. y la E/S

Ing. Mnica Patricia Ren

la

18

Estructura de la CPU

CPU
Computer

Arithmetic
and
Login Unit

Registers

I/O
System
Bus

CPU

Internal CPU
Interconnection

Memory

Control
Unit

Ing. Mnica Patricia Ren

19

Estructura

Unidad de Control: controla el funcionamiento de la CPU y, por


tanto, del computador.
ALU (Unidad Aritmtico Lgica): lleva a cabo las funciones de
procesamiento de datos del computador.

Registros: proporcionan almacenamiento interno a la CPU.


Interconexiones CPU: son mecanismos que proporcionan
comunicacin entre la unidad de control, la ALU y los registros.

Ing. Mnica Patricia Ren

20

Estructura

Puede que existan uno o ms de estos componentes.


Tradicionalmente exista una sola CPU.
En los ltimos aos ha habido un uso creciente de varios
procesadores en un solo sistema.

Ing. Mnica Patricia Ren

21

Estructura de la Unidad de Control (CU)

Control Unit
CPU

Lgica
Secuencial

ALU
Internal
Bus

Control
Unit

Registros y
Decodificadores
de la CU

Registers

Memoria
de Control

Ing. Mnica Patricia Ren

22

Evolucin y prestaciones de los computadores


Breve historia https://www.youtube.com/watch?v=MCeVFBWu7to
Tarea 1

En equipo realizar una sntesis (no resumen) del video visto en la


clase y entregarlo de manera impresa en un reporte.
La cartula del reporte debe incluir:

nombre de la asignatura, nombre del docente, nombre de la tarea (Sntesis de


video Historia de la Computadora), nombre de los integrantes del equipo y
fecha.
Logo de la Universidad en el extremo superior izquierdo.

Ing. Mnica Patricia Ren

23

Evolucin y prestaciones de los computadores


Tarea 2
En equipo debern realizar una investigacin bibliogrfica y
posteriormente una presentacin del tema que le corresponda,
utilizando algn medio multimedia.
Deber entregar un reporte impreso de la investigacin utilizando
como mnimo dos fuentes de informacin bibliogrfica.

El reporte incluir una cartula con las indicaciones marcadas para


la tarea 1.
Debern entregar copia de su presentacin a los dems equipos del
saln y al docente.
Ing. Mnica Patricia Ren

24

Evolucin y prestaciones de los computadores


Tarea 2
Temas:

Primera generacin (tubos de vaco)


Segunda generacin (transistores)
Tercera generacin (C.I)
ltimas generaciones

Ing. Mnica Patricia Ren

25

Diseo para mejores prestaciones

Revolucin tecnolgica:
disminucin $$ computadores, aumento de prestaciones, capacidad. ej.
100 millones de transistores por < u$d 1,000.

Aplicaciones basadas en P como procesamiento de datos,


reconocimiento del habla, video-conferencias, aplicaciones
multimedia (ej. Animacin por computadora).
Servidores para base de datos, transacciones, etc

Ing. Mnica Patricia Ren

26

Diseo para mejores prestaciones

Desde el pto. de vista de la org. & arquitectura mismos bloques


bsicos que el modelo de von Newman.
Tcnicas para
sofisticadas.

sacarle

provecho

Ing. Mnica Patricia Ren

las

prestaciones

muy

27

Diseo para mejores prestaciones


La evolucin de la computadoras contina confirmando la Ley de
Moore.
El presidente de INTEL Gordon Moore observ a mediados de los
60s, que si se reduca el tamao de las delgadas lneas que
formaban los circuitos del transistor de Si (silicio) en
aproximadamente un 10% se podra cuadruplicar el nmero de
transistores en un chip.
En los chips de memoria lo anterior ha cuadruplicado, cada tres
aos, la capacidad de las memorias dinmicas de acceso aleatorio
(DRAM) que son an la tecnologa bsica de la memoria principal
de un computador.
Ing. Mnica Patricia Ren

28

Diseo para mejores prestaciones

Ing. Mnica Patricia Ren

29

Diseo para mejores prestaciones


En microprocesadores, la adicin de nuevos circuitos, la
potenciacin de la velocidad que proviene de la reduccin de la
distancia a la memoria principal, ha logrado cuadruplicar o
quintuplicar las prestaciones de los procesadores para INTEL cada
tres aos desde que sali la familia X86 en 1979.

Ing. Mnica Patricia Ren

30

Diseo para mejores prestaciones

Ing. Mnica Patricia Ren

31

Diseo para mejores prestaciones

Pero la velocidad del microprocesador no alcanzar su potencial a


menos que se le alimente continuamente con instrucciones.
Tcnicas incorporadas a los micros:
Prediccin de ramificacin: el micro se anticipa al software y
predice qu ramas, o grupos de instrucciones, se van a procesar
despus con mayor probabilidad (el micro adivina hacia donde
realmente cambiar el flujo del programa, precaptar instrucciones)

Ing. Mnica Patricia Ren

32

Diseo para mejores prestaciones


Anlisis de flujo de datos: el procesador analiza que
instrucciones dependen de los resultados de otras instrucciones o
datos, y las organiza optimizadamente.
Ejecucin especulativa: con las dos tcnicas anteriores, se
ejecutan instrucciones antes de que aparezcan en la ejecucin del
programa, manteniendo los resultados en posiciones temporales de
memoria.
stas y otras tcnicas son necesarias debido a la potencia del
procesador.

Ing. Mnica Patricia Ren

33

Diseo para mejores prestaciones

Equilibrio de prestaciones: mientras la velocidad del


microprocesador ha crecido con increble rapidez, otros
componentes esenciales del computador no lo han hecho tan
rpido.
Se debe equilibrar las prestaciones ajustando la organizacin y la
arquitectura para compensar las desigualdades de capacidad entre
los distintos componentes.

Ing. Mnica Patricia Ren

34

Diseo para mejores prestaciones


El problema creado por las desigualdades es ms grave en la
interfaz entre el procesador y la memoria principal.

Ing. Mnica Patricia Ren

35

Diseo para mejores prestaciones

Existen varias maneras de que una arquitectura pueda atacar el


problema anterior:
Incrementar el ancho de palabra utilizando buses de datos ms
anchos.

Interfaz DRAM ms eficiente, incluyendo un cache u otro esquema


de almacenamiento temporal en el chip DRAM.
Reducir la frecuencia de acceso a la memoria, incorporando caches
internas y externas entre esta y el micro.
Incrementar ancho de banda, utilizando buses ms rpidos.
Ing. Mnica Patricia Ren

36

Unidad 2
Estructura bsica de una Computadora

2.1 Componentes de una Computadora


2.2 Funcionamiento de una Computadora
2.3 Los canales del sistema

Ing. Mnica Patricia Ren

37

Componentes de una computadora


Casi todos las computadoras se han basado en el modelo diseado
por John von Neumann en el Instituto de Estudios Avanzados de
Pricenton.

Ing. Mnica Patricia Ren

38

Componentes de una computadora

Tal diseo se conoce como arquitectura de von Neumann y se basa


en tres conceptos claves:
1. Datos e instrucciones almacenados en una sola memoria de
lectura-escritura.
2. Los contenidos de esta memoria se direccionan indicando su
posicin, sin considerar el tipo de dato contenido en la misma.
3. La ejecucin se produce siguiendo una secuencia de instruccin
tras instruccin (a no se que dicha secuencia se modifique
explcitamente).

Ing. Mnica Patricia Ren

39

Componentes de una computadora


Surge el concepto de programa almacenado.
Memoria principal almacena datos e instrucciones.
La ALU (Unidad Arimtico Lgica) opera con datos en formato
binario.

La UC (Unidad de Control) interpreta las instrucciones de la


memoria y las ejecuta.
Un equipo de E/S (Entradas/Salidas) dirigido por la UC.
Surge el computador IAS que es un prototipo para toda una serie de
computadoras de uso general (1952).
Ing. Mnica Patricia Ren

40

Arquitectura von Neumann

Ing. Mnica Patricia Ren

41

Detalles del computador IAS


1,000 posiciones de memoria de 40 bits o palabra c/u.
Formato de nmero en binario
2 Instrucciones 20 bits c/u

Ing. Mnica Patricia Ren

42

Detalles del computador IAS


Conjuntos de registros (storage in CPU):
Registro temporal de memoria (MBR) contiene o recibe una
palabra procedente de la memoria.
Registro de direccin de memoria (MAR) especifica la
direccin de la palabra que ser escrita o leida en MBR.
Registro de Instruccin (IR) contiene los 8 bits del cdigo de
operacin de la instruccin a ejecutar.

Ing. Mnica Patricia Ren

43

Detalles del computador IAS


Conjuntos de registros (storage in CPU)
Registro temporal de instruccin (IBR) contiene la instruccin
de la parte derecha de una palabra en memoria.
Contador de Programa (PC) contiene la direccin de la
prxima pareja de instrucciones que van a ser captadas de la
memoria.
Acumulador (AC) y Multiplicador Cociente (MQ) se emplean
para almacenar operandos y resultados de operaciones de la
ALU.

Ing. Mnica Patricia Ren

44

Detalles del
computador IAS

Ing. Mnica Patricia Ren

45

Detalles del computador IAS


La computadora IAS tena un total de 21 instrucciones, agrupadas
de la siguiente manera:
Transferencia de datos: transferir datos entre la memoria y los
registros de la ALU o entre dos registros de la ALU.

Salto incondicional: normalmente la UC ejecuta instrucciones


secuencialemente en la memoria. Las instrucciones de salto
pueden cambiar esta secuencialidad y facilitar tambin las
operaciones repetitivas.

Ing. Mnica Patricia Ren

46

Detalles del computador IAS

Aritmtica: operaciones realizadas por la ALU.


Modificacin de direcciones: permite a la ALU realizar
operaciones con las direcciones e insertarlas en instrucciones
almacenadas en la memoria. Lo anterior permite flexibilidad en el
direccionamiento de un programa.

Ing. Mnica Patricia Ren

47

IAS
instructions set

Ing. Mnica Patricia Ren

48

Componentes de una computadora


De la computadora IAS surge el concepto de programa cableado es
decir, un hardware especfico para una tarea particular.

Si se deseaba realizar un clculo concreto, se utilizaba una


configuracin de componentes lgicos diseados especficamente
para dicho clculo.
Ing. Mnica Patricia Ren

49

Componentes de una computadora


La otra alternativa que surgi posteriormente fu construir una
configuracin de uso general de funciones lgicas y aritmticas.
El hardware realizaba funciones diferentes segn las seales de
control aplicadas.

Con el hardware de uso general, el sistema acepta datros y seales


de control, y produce resultados

Ing. Mnica Patricia Ren

50

Componentes de una computadora


En lugar de reconfigurar el hardware para cada nuevo programa, el
programador simplemente necesitaba proporcionar un nuevo
conjunto de seales de control.
Las seales de control se suministraban desde el programa
asosciando un cdigo especfico para cada posible conjunto de
seales de control.
Luego se aada un hardware de uso general para generar las
seales de control a partir del cdigo.
Nace un nuevo mtodo denominado software (secuencia de
cdigos o instrucciones)..

Ing. Mnica Patricia Ren

51

Componentes de una computadora


Programacin software
Para cada operacin se provee de un
nico cdigo (ADD, MOVE)
Una porcin del hardware (UC)
acepta el cdigo y genera las seales
de control.

Cdigo de
instrucciones
(programa)

Interprete de
instrucciones

As tenemos una computadora!

Seales de
control

datos

Ing. Mnica Patricia Ren

Funciones
aritmticas y
lgicas de uso
general

resultados

52

Componentes de una computadora

Ing. Mnica Patricia Ren

53

Funcionamiento de una computadora


La funcin bsica que realiza una computadora es la ejecucin de
un programa, constituido por un conjunto de instrucciones
almacenadas en la memoria.
El procesador lee (capta) la instruccin de memoria, y la ejecuta.

La ejecucin a su vez puede estar compuesta por un cierto nmero


de pasos.
El procesamiento que requiere una instruccin se denomina ciclo
de instruccin.

Ing. Mnica Patricia Ren

54

Funcionamiento de una computadora


Ciclo de instruccin bsico, compuesto por dos pasos (ciclo de
captacin y ciclo de ejecucin):
CPU capta (fetch)
CPU ejecuta (execute)

Ciclo de instruccin bsico


La ejecucin del programa se para, slo si se desconecta la
mquina, si se produce un error o si se ejecuta una instruccin
que lo detiene.
Ing. Mnica Patricia Ren

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)

La instruccin captada se almacena en el IR.


El procesador interpreta la instruccin y lleva a cabo la accin
requerida.

Ing. Mnica Patricia Ren

56

Ciclo de ejecucin
La ejecucin de una instruccin puede implicar una combinacin de
las siguientes acciones:

Procesador-memoria: transferir datos desde la CPU a la memoria,


o desde la memoria a la CPU.
Procesador E/S: transferir datos a o desde el exterior mediante la
transferencia entre la CPU y un mdulo de E/S.
Procesamiento de datos: la CPU debe realizar alguna operacin
aritmtica o lgica con los datos.
Control: alteracin de la secuencia de ejecucin, ej. JUMP
Ing. Mnica Patricia Ren

57

Ejemplo para una mquina hipottica


15

3 4

0
codop

direccin
Formato instruccin

0
s

15
magnitud
Formato dato

Registros internos CPU=PC,IR,AC


Lista parcial de cdigos:
0001=cargar AC desde la memoria
0010=almacenar AC en memoria
0101=sumar a AC un dato de memoria
Se desea sumar el contenido de la palabra de memoria en la
direccin 94016 con el contenido de la 94116 y almacenar en 94116
Ing. Mnica Patricia Ren

58

Ejecucin del programa

captacin

ejecucin

Ing. Mnica Patricia Ren

59

Ejecucin del programa

En el ejemplo anterior se necesitan 3 ciclos de instruccin, cada


uno con un ciclo de captacin y otro de ejecucin.
Con un conjunto de instrucciones ms complejos se hubieran
necesitado menos ciclos (ej. ADD B,A )
Los procesadores modernos incluyen instrucciones que contienen
ms de una direccin.
As el ciclo de ejecucin de un instruccin particular puede
ocasionar ms de una referencia a memoria.

Ing. Mnica Patricia Ren

60

Visin ms detallada de un ciclo de instruccin


Diagrama de estado de un ciclo de instruccin

Ing. Mnica Patricia Ren

61

Ejecucin del programa

Los estados de la parte superior del diagrama, ocasionan


intercambios entre la CPU y la memoria o un mdulo de E/S.

Los estados de la parte inferior del diagrama, slo ocasionan


operaciones internas a la CPU.
Obsrvese adems que se considera en el diagrama la posibilidad
de que una instruccin necesite mltiples operandos y de lugar a
mltiples resultados.
Adems de que se puede especificar una instruccin que realice
operacin con un vector (matriz unidimensional) de nmeros o con
una cadena (matriz unidimensional) de caracteres.
Ing. Mnica Patricia Ren

62

Interrupciones

Prcticamente todas las computadoras contienen un mecanismo


mediante el cual otros mdulos (E/S, memoria) pueden interrumpir
el procesamiento normal de la CPU.
Interrupciones generadas por programa:
Ej. overflow (desbordamiento aritmtico, divisin por cero, instruccin
inexistente, etc.

Interrupciones generadas por tiempo:


Generadas por un temporizador interno al procesador.

Ing. Mnica Patricia Ren

63

Interrupciones

Interrupciones generadas por E/S:


Generadas por un controlador E/S, para indicar la finalizacin de una
operacin o para indicar condiciones de error.

Interrupciones generadas por fallo de hardware:


Generadas por un fallo tal como la falta de potencia de alimentacin o
un error de paridad en la memoria.

Ing. Mnica Patricia Ren

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

Las interrupciones proporcionan una forma de mejorar la


eficiencia del procesador.

Debido a que la mayora de los dispositivos externos son


mucho ms lentos que el procesador, con las interrupciones
podemos lograr que el procesador se ocupe en otras tareas y
no quede a la espera de las respuestas procedentes de los
dispositivos externos que le generan un considerable tiempo
muerto.

Ing. Mnica Patricia Ren

67

Interrupciones
Ejemplo llamadas de escritura a impresora:

Ing. Mnica Patricia Ren

68

Interrupciones
Para permitir el uso de interrupciones se aade un ciclo de
interrupcin al ciclo de instruccin.

Ing. Mnica Patricia Ren

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.

Ing. Mnica Patricia Ren

70

Interrupciones
Luego el procesador prosigue con el ciclo de captacin y accede a
la primera instruccin del programa de gestin de interrupciones.

Generalmente el programa de gestin de interrupciones forma parte


del Sistema Operativo.
Atiende al programa de gestin de interrupciones y luego continua
con el ciclo de instrucciones del programa principal.
Lo anterior se repite por cada interrupcin que reciba el procesador.

Ing. Mnica Patricia Ren

71

Interrupciones
Luego el procesador prosigue con el ciclo de captacin y accede a
la primera instruccin del programa de gestin de interrupciones.

Generalmente el programa de gestin de interrupciones forma parte


del Sistema Operativo.
Atiende al programa de gestin de interrupciones y luego continua
con el ciclo de instrucciones del programa principal.
Lo anterior se repite por cada interrupcin que reciba el procesador.

Ing. Mnica Patricia Ren

72

Interrupciones

Ing. Mnica Patricia Ren

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.

Ing. Mnica Patricia Ren

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.

Interrupcin por prioridades:


Alternativa que consiste en definir prioridades para las interrupciones y
permitir que una interrupcin de prioridad ms alta pueda interrumpir a
un gestor de interrupcin de prioridad menor.
Ing. Mnica Patricia Ren

75

Interrupciones mltiples (inhabilitadas)

Interrupciones mltiples (por prioridades)

Interrupciones mltiples por prioridad

Ej. interrupciones del 8052


Fuente de
interrupcin

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

T2EX (EXTERNA TIMER 2)

002BH

RXD (EXTERNA PTO.

0023H

SERIE)
b7

b6

b5

b4

b3

EA

ET2

ES

ET1

b2
EX1

b1

b0

ET0

EX0

IE= REGISTRO DE HABILITACIN DE INTERRUPCIONES


NOTA :UN 1 EN LOS BIT 0 A 5, HABILITA LAS INTERRUPCIONES RESPECTIVAS, EL
BIT 6 ESTA RESERVADO PARA OTRO USO Y EL BIT 7 EN 1 RECONOCE LAS
INTERRUPCIONES HABILITADAS Y EN 0 NO RECONOCE NINGUNA INTERRUPCION.

Estructura de interconexin

Computador: red de mdulos elementales (procesador, memoria,


E/S) enlazados entre s mediante una estructura de interconexin.
El diseo de la estructura de interconexin depender de los
intercambios que deban producirse entre los mdulos.
Se tendr diferentes tipos de conexiones para los diferentes
mdulos
Procesador
Memoria
E/S

Ing. Mnica Patricia Ren

80

Estructura de interconexin

Memoria:

Ing. Mnica Patricia Ren

81

Interconexin memoria

N palabras de igual longitud con direcciones que van desde la 0 a la


N-1.
Recibe y enva datos.
Recibe direcciones.
Recibe seales de control:
Lectura
Escritura
Reloj o tiempo

Ing. Mnica Patricia Ren

82

Estructura de interconexin

E/S:

Ing. Mnica Patricia Ren

83

Interconexin mdulos E/S


Similar a la memoria desde el punto de vista de la computadora.

Lectura y escritura.
Un mdulo puede controlar ms de un dispositivos externo
mediante sus puertos.
Cada puerto (interface) con una direccin.

Lneas externas para para la entrada salida de datos de un


dispositivo externo.
Puede enviar seales de interrupcin al procesador.
Ing. Mnica Patricia Ren

84

Estructura de interconexin

Procesador

Ing. Mnica Patricia Ren

85

Interconexin procesador

Lee instrucciones y datos.


Enva datos procesados.

Utiliza seales de control.


Recibe interrupciones.

Ing. Mnica Patricia Ren

86

Estructura de interconexin

La estructura de interconexin debe dar cobertura a los siguientes


tipos de transferencias:
Memoria a procesador: el procesador lee una instruccin o un
dato desde la memoria.
Procesador a memoria: el procesador escribe un dato en la
memoria.
E/S a procesador: el procesador lee datos de un dispositivo de
E/S a travs de un mdulo de E/S.

Ing. Mnica Patricia Ren

87

Estructura de interconexin
Procesador a E/S: el procesador enva datos al dispositivo de E/S.

Memoria a E/S y viceversa: en estos dos casos, un mdulo de E/S


puede intercambiar datos directamente con la memoria, sin que
tengan que pasar a travs del procesador, utilizando el acceso
directo a memoria (DMA =Direct Memory Access).

Ing. Mnica Patricia Ren

88

Interconexin con buses


Bus:

Camino de interconexin entre dos dispositivos.


Medio compartido.
Usualmente broadcast.
Seales disponibles para todos los dispositivos conectados al bus.
Solo un dispositivo puede transmitir a la vez con xito.
Formado por varias lneas o caminos de comunicacin.
Buses paralelos, varias lneas para transmitir datos binarios.
Ej. dato de 8 bits en bus de 8 lneas.

Ing. Mnica Patricia Ren

89

Estructura del Bus


A cada lnea (o conjunto) se le asigna una funcin en particular.
Se pueden clasificar en tres grupos funcionales.

Pueden existir adems lneas de alimentacin para suministrar


energa a los mdulos conectados al bus.
Ing. Mnica Patricia Ren

90

Bus de datos
Camino para los datos (o instrucciones).

Su anchura determina cuantos bits se pueden transferir al mismo


tiempo (8, 16, 32, 64 bits).
Su anchura es un factor clave para determinar su performance:
Si es de 8 bits y las instrucciones son de 16 bits entonces el procesador
debe acceder dos veces al mdulo de memoria por cada instruccin!

Ing. Mnica Patricia Ren

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.

Ing. Mnica Patricia Ren

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.

Direcciones inferiores para memoria y altas para puertos.


Ing. Mnica Patricia Ren

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.

Las seales de temporizacin indican la validez de los datos y las


direcciones.
Las seales de rdenes indican la operacin a realizar.

Ing. Mnica Patricia Ren

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.

Ing. Mnica Patricia Ren

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.

Ing. Mnica Patricia Ren

seala

que

la

96

Bus de control
Clock: sincroniza operaciones.
Reset: coloca los mdulos conectados al bus en su estado inicial

Ing. Mnica Patricia Ren

97

Funcionamiento del bus


Para enviar un dato:
1. Obtener el uso del bus.
2. Transferir el dato a travs del bus.

Para pedir un dato:


1. Obtener el uso del bus.
2. Transferir la peticin al otro mdulo mediante las lneas de control
y direccin.
3. Esperar al que el segundo mdulo enve el dato.

Ing. Mnica Patricia Ren

98

Funcionamiento del bus

Ing. Mnica Patricia Ren

99

Problemas para un bus


A mayor cantidad de dispositivos conectados, mayor retardo de
propagacin.

Si el control del bus pasa de un dispositivo a otro, aumentan los


retardos de propagacin y las prestaciones disminuyen.
Cuello de botella a medida que las peticiones del bus se acercan a
la capacidad del bus.
Solucin: utilizar varios buses organizados jerrquicamente con
diferentes capacidades.

Ing. Mnica Patricia Ren

100

Arquitectura de bus tradicional

Ing. Mnica Patricia Ren

101

Arquitectura de bus de altas prestaciones

Ing. Mnica Patricia Ren

102

Elementos de diseo de buses


Aunque existe una gran diversidad de diseos de buses, hay unos
pocos parmetros que sirven para clasificarlos.

Ing. Mnica Patricia Ren

103

Tipo de buses
Dedicado: est permanentemente asignado a una funcin1 o a un
subconjunto fsico de componentes2.

Ej. dedicacin funcional1: lneas separadas para direcciones y para


datos.
Ej. subconjunto fsico de componentes2: bus de E/S para
interconectar todos los mdulos E/S. Lo anterior, eleva el
rendimiento del sistema debido a que existe menos conflicto por el
acceso al bus. Desventaja, incremento del tamao y costo del
sistema.

Ing. Mnica Patricia Ren

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.

Ing. Mnica Patricia Ren

105

Multiplexacin en las redes de cmputo


Es el proceso por medio del cual mltiples canales de datos se
combinan para viajar por un mismo medio fsico.
Desmultiplexacin es el proceso inverso.

Tipo de buses
Ventajas del multiplexado por tiempo: uso de menos lneas, uso de
menos espacio, menos costo.

Desventajas del multiplexado por tiempo: circuitera mas compleja,


reduccin de prestaciones debido a que no permite realizar eventos
en paralelo ya que diferentes eventos tienen que compartir las
mismas lneas.

Ing. Mnica Patricia Ren

107

Mtodos de arbitraje de buses


Centralizado: un nico dispositivo de hardware, denominado
controlador de bus o rbitro es el responsable de asignar tiempos
al bus.
El rbitro puede ser un dispositivo separado o estar integrado al
procesador.

Switch
Trasmite

Recibe
Ing. Mnica Patricia Ren

108

Mtodos de arbitraje de buses


Distribuido: no existe un controlador central, cada mdulo dispone
de lgica para controlar el acceso, y los mdulos actan
conjuntamente para compartir el bus.

En ambos mtodos de arbitraje se designa un dispositivo, el


procesador o un mdulo de E/S, como maestro del bus.

Ing. Mnica Patricia Ren

109

Mtodos de arbitraje de buses


El maestro podra iniciar la transferencia de datos (lectura o
escritura) con otro dispositivo, que acta como esclavo.

Trasmite

Recibe

Espera

Ing. Mnica Patricia Ren

110

Temporizacin de buses
Hace referencia a la forma en que se coordinan los eventos en el
bus.

Sncrona: en esta los eventos estn coordinados por un reloj. El


bus incluye una lnea de reloj a travs de la que se transmite una
secuencia de 1s y 0s.
Un ciclo de reloj es cuando tengo un nico intervalo de 1 seguido a
0, tambin se conoce como ciclo de bus y define un intervalo de
tiempo unidad (o time slot).
Todos los dispositivos pueden leer la lnea de reloj, y todos los
eventos comienzan al principio del ciclo de reloj.

Ing. Mnica Patricia Ren

111

Temporizacin de buses

Ing. Mnica Patricia Ren

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.

Es ms difcil de implementar y comprobar que la sncrona.


Es ms flexible que la sncrona ya que los dispositivos no deben
utilizar una misma frecuencia de reloj para sincronizar sus
operaciones.
Pueden compartir el bus dispositivos lentos con dispositivos
rpidos, utilizando tanto las tecnologas ms antiguas como las ms
recientes.

Ing. Mnica Patricia Ren

113

Temporizacin de buses
Diagrama de lectura temporizacin asncrona

Ing. Mnica Patricia Ren

114

Temporizacin de buses
Diagrama de escritura temporizacin asncrona

Ing. Mnica Patricia Ren

115

Anchura del bus


La anchura del bus de datos afecta a las prestaciones del sistema.
Cuanto ms ancho es el bus de datos, mayor cantidad de datos se
transmiten a la vez.
La anchura del bus de direcciones afecta la capacidad del sistema.
Cuanto ms ancho es el bus de direcciones, mayor es el rango de
posiciones de memoria a las que puedo hacer referencia.

Ing. Mnica Patricia Ren

116

Tipos de transferencia de datos del bus


Lectura /escritura no multiplexada: dato y direccin enviadas por el
mdulo maestro en el mismo ciclo sobre lneas de bus distintas.
Escritura multiplexada: direccin primer ciclo, dato segundo ciclo.
Lectura modificacin escritura: lectura seguida inmediatamente de
una escritura en la misma direccin.

Ing. Mnica Patricia Ren

117

El bus PCI

PCI (Peripheral Componet Interconnect, interconexin de


componente perifrico): es un bus muy popular, de ancho de banda
elevado, independiente del procesador.

Est diseado para permitir una cierta variedad de configuraciones


basadas en sistemas monoprocesador y sistemas multiprocesador
Proporciona un conjunto de funciones de uso general
Las direcciones y datos estn multiplexadas en el tiempo
El esquema de arbitraje empleado es centralizado
Utiliza temporizacin sncrona

Ing. Mnica Patricia Ren

118

El bus PCI

El diseo del bus PCI se ha realizado especficamente para


ajustarse a los requisitos de E/S de los sistemas actuales.

Podemos distinguir tres ventajas del bus PCI:


Es econmico: se implementa con muy pocos circuitos
Es flexible: permite que otros buses se conecten a l
Es rpido: comparado con otras especificaciones comunes de bus,
proporciona un mejor rendimiento para los subsistemas de E/S de
alta velocidad

Ing. Mnica Patricia Ren

119

El bus PCI

Las especificaciones del bus PCI son de dominio pblico.


Son respetadas por un amplio abanico de fabricantes de
procesadores y perifricos, por lo que los productos de diferentes
compaas son compatibles.
La asociacin PCI SIG (Special Interest Group) contina el
desarrollo de las especificaciones y vela por que se mantenga la
compatibilidad.
El resultado ha sido que el bus PCI no solo est ampliamente
adoptado en la actualidad sino que su uso se sigue extendiendo.

Ing. Mnica Patricia Ren

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.

Ing. Mnica Patricia Ren

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.

Ing. Mnica Patricia Ren

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

Ing. Mnica Patricia Ren

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.

Ing. Mnica Patricia Ren

124

El bus PCI

Ing. Mnica Patricia Ren

125

El bus PCI

Ing. Mnica Patricia Ren

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.

Ing. Mnica Patricia Ren

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.

Ing. Mnica Patricia Ren

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)

El maestro establece, para cada transferencia que desee


realizar, si tras la fase de direccin sigue una o ms fases de
datos consecutivas.

Ing. Mnica Patricia Ren

129

Unidad 3
la Unidad Central de Procesamiento

3.2. Aritmtica del computador


3.3. Repertorio de instrucciones
3.4. Estructura y funcin de la CPU
3.5. Funcionamiento de la unidad de control

Ing. Mnica Patricia Ren

130

Aritmtica del computador

Los dos aspectos fundamentales de la aritmtica del computador son


la forma de representar los nmeros (formato binario) y los algoritmos
utilizados para realizar las operaciones aritmticas bsicas (+, -, *, /).
Lo anterior se aplica tanto a la aritmtica de enteros como a la de
coma flotante.

Ing. Mnica Patricia Ren

131

La ALU
Realiza las operaciones aritmticas y lgicas.

El resto de los componentes del computador estn para enviarle


datos a la ALU.
Sus componentes electrnicos se basan en el uso de dispositivos
lgicos digitales sencillos que pueden almacenar dgitos y realizar
operaciones lgicas booleanas elementales.
Trabaja con nmeros enteros y nmeros reales (o de punto
flotante).

Ing. Mnica Patricia Ren

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.

Ing. Mnica Patricia Ren

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

Ing. Mnica Patricia Ren

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

Representacin de ns enteros signo-magnitud


El caso general puede expresarse como:

2
=

1 = 0

=0
2

1 = 1

=0

Ing. Mnica Patricia Ren

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)

Ing. Mnica Patricia Ren

137

Representacin de ns enteros signo-magnitud


Otra de las limitaciones es que existen dos representaciones para el
nmero 0 (+0=00000000, -0=10000000)
Por lo anterior la representacin anterior raramente se usa para
representar nmeros enteros en la ALU.

Ing. Mnica Patricia Ren

138

Representacin de ns enteros complemento a 2


Usa el bit ms significativo para indicar el signo del nmero, al igual
que en la representacin signo-magnitud.

Ing. Mnica Patricia Ren

139

Representacin de ns enteros complemento a 2


(ca2)
Si el nmero a representar es positivo, se utiliza la misma
representacin que usamos en signo magnitud para los enteros
positivos.
Si el nmero es negativo se debe representar el nmero como
positivo, luego negar todos sus bits y al resultado sumarle 1. Con lo
anterior se obtiene la el complemento a 2 del nmero para el caso
de valores negativos.
En general para nmeros positivos y negativos :
2

= 21 1 +

2
=0

Ing. Mnica Patricia Ren

140

Representacin de ns enteros complemento a 2


(ca2)
Una forma ms sencilla de representar nmeros en ca2 es
utilizando una caja de valores.
-128

64

32

16

Caja de valores ca2, de 8 posiciones


-128

64

32

16

Ej. para el -125


-128

64

32

16

Ej. para el -120


Ing. Mnica Patricia Ren

141

Representacin de ns enteros complemento a 2


(ca2)
Beneficios:

Existe solo una representacin para el nmero 0.


Facilita trabajar con operaciones aritmticas.
Es utilizada casi universalmente para representar enteros en los
procesadores.
Representar un nmero negativo es muy fcil, ej. -3
3 = 00000011
Hacemos el complemento booleano 11111100
Le sumamos 1 al anterior y finalmente queda 11111101

Ing. Mnica Patricia Ren

142

Representacin de ns enteros complemento a 2


(ca2)
Casos especiales:
Negacin caso para el nmero 0
0=
00000000
Complementamos 11111111
Add 1 to LSB
+1
Result
1 00000000
Ignoramos el desbordamiento y queda 00000000
Entonces -0= 0

Ing. Mnica Patricia Ren

143

Representacin de ns enteros complemento a 2


(ca2)
Casos especiales:
Negacin caso para el nmero -128
-128 =
10000000
bitwise not 01111111
Add 1 to LSB
+1
Result
10000000
So: -(-128) = -128
Entonces la cantidad de bits que se pueden representar en
complemento a 2 para n bits va desde: -2n-1 hasta 2n-1 -1

Ing. Mnica Patricia Ren

144

Representacin de ns enteros complemento a 2


(ca2)
Entonces la cantidad de bits que se pueden representar en
complemento a 2 para n bits va desde: -2n-1 hasta 2n-1 -1
8 bit 2s compliment
+127 = 01111111 = 27 -1
-128 = 10000000 = -27
16 bit 2s compliment
+32767 = 011111111 11111111 = 215 1= 214
-32768 = 100000000 00000000 = -215

Ing. Mnica Patricia Ren

145

Conversin entre longitudes de bits diferentes


A veces se desea tomar un entero de n bits y almacenarlo en m
bits, siendo m>n.
Para formato signo-magnitud
+18 =
00010010
+18 = 0000000000010010
-18 =
10010010
-18 = 1000000000010010
Muevo el bit de sino a la posicin MSB y rellenos con 0s.

Ing. Mnica Patricia Ren

146

Conversin entre longitudes de bits diferentes


Para formato ca2:

Positive number pack with leading zeros


+18 =
00010010
+18 = 0000000000010010
Negative numbers pack with leading ones
-18 =
10010010
-18 = 1111111110010010
Relleno con el bit de signo o el MSB (bit ms significativo, el del
extremo izquierdo)

Ing. Mnica Patricia Ren

147

Aritmtica con enteros Suma y Resta


Se efecta la operacin de suma binaria bit con bit:
2

Suma
binaria

10

Ing. Mnica Patricia Ren

148

Aritmtica con enteros Suma y Resta


En complemento a 2

En el caso d) el acarreo se ignora


Ing. Mnica Patricia Ren

149

Aritmtica con enteros Suma y Resta


Condicin de desbordamiento (overflow): en cualquier suma, el
resultado puede ser mayor que el permitido por la longitud de la
palabra que se est utilizando.
La ALU debe indicarlo para que no se intente utilizar el resultado.

Para detectarlo se sigue la siguiente regla: al sumar dos nmeros,


cuando ambos son positivos o negativos, se produce
desbordamiento si, y solo si, el resultado tiene signo opuesto.

Ing. Mnica Patricia Ren

150

Aritmtica con enteros Suma y Resta


Condicin de desbordamiento (overflow): en cualquier suma, el
resultado puede ser mayor que el permitido por la longitud de la
palabra que se est utilizando.
La ALU debe indicarlo para que no se intente utilizar el resultado.

Para detectarlo se sigue la siguiente regla: al sumar dos nmeros,


cuando ambos son positivos o negativos, se produce
desbordamiento si, y solo si, el resultado tiene signo opuesto.

Ing. Mnica Patricia Ren

151

Aritmtica con enteros Suma y Resta


La resta se trata tambin fcilmente con la siguiente regla: para
substraer un nmero (substraendo) de otro (minuendo), se obtiene
el complemento a dos del substraendo y se le suma minuendo.
As la resta se obtiene usando la suma.

Ing. Mnica Patricia Ren

152

Aritmtica con enteros Suma y Resta

Ing. Mnica Patricia Ren

153

Aritmtica con enteros Suma y Resta

Ing. Mnica Patricia Ren

154

Aritmtica con enteros Suma y Resta

Ing. Mnica Patricia Ren

155

Aritmtica con enteros Multiplicacin


La multiplicacin es una operacin muy compleja y se han utilizados
diversos algoritmos.
Comenzaremos con el caso ms sencillo de multiplicar dos enteros
sin signo (no negativos) y luego veremos una de las tcnicas ms
comunes para nmeros en ca2.
Veamos un ejemplo!

Ing. Mnica Patricia Ren

156

Aritmtica con enteros Multiplicacin


1011
x 1101
1011
0000
1011
1011
10001111

Multiplicand (11 dec)


(1011) (1101)= 1011 (23 +22 +20)
Multiplier (13 dec)
Partial products
011x20 no hay desplazamiento
Note: if multiplier bit is 1 copy
multiplicand (place value) 1011x22 desplazo 2 posiciones
otherwise zero
1011x23 desplazo 3 posiciones
Product (143 dec)

Note: need double length result


Como se observa el producto de un nmero binario por 2n se obtiene
desplazando dicho nmero n bits hacia la izquierda!

Ing. Mnica Patricia Ren

157

Aritmtica con enteros Multiplicacin


Multiplier

Multiplicand

Ing. Mnica Patricia Ren

158

Aritmtica con enteros Multiplicacin

Ing. Mnica Patricia Ren

159

Aritmtica con enteros Multiplicacin


El algoritmo anterior no funciona para nmeros negativos.
Si en el ejemplo anterior trabajramos en c.a2 estaramos
multiplicando -5 (1011) por -3 (1101) igual a -113 (10001111) !
Solucin 1: convertir tanto el multiplicando como el multiplicador, en
nmeros positivos, realizar el producto, y obtener el c. a2 del
resultado si, y slo si, el signo de los dos nmeros iniciales difiere.
Solucin 2: Algoritmo de Booth.

Ing. Mnica Patricia Ren

160

Aritmtica con enteros Multiplicacin


El algoritmo de Booth se basa en la siguiente idea:

Ejemplo 1 : M x (00011110) = M x (24+23+22+21)


= M x (16+8+4+2)
= M x 30
Pero lo anterior tambin se puede hacer como:
M x (00011110) = M x (25-21)
= M x (32-2)
= M x 30
Lo anterior requiere de menos operaciones y menos espacio de
almacenamiento en registros de la ALU!

Ing. Mnica Patricia Ren

161

Aritmtica con enteros Multiplicacin


Ejemplo 2 : M x (01111010) = M x (26 + 25 + 24+23+21)
= M x (27 - 23 + 22-21)

El algoritmo de Booth realiza una resta cuando encuentra el primer


bloque(1-0), y una suma cuando se encuentra el final (0-1) del
bloque!
Adems utiliza el mismo registro multiplicador para almacenar la
parte baja del resultado (bits menos significativos) lo que permite
ahorrar espacio de memoria. La parte alta del resultado lo almacena
en otro registro.

Ing. Mnica Patricia Ren

162

Aritmtica con enteros Multiplicacin


Como antes el multiplicador y el multiplicando se ubican en los
registros Q y M respectivamente.
Existe un registro de 1 bit ubicado a la derecha del Q0 (bit menos
significativo); que lo llamamos Q-1

El producto resultante se almacena en los registros A y Q


Se recorre cada bit del multiplicador uno por uno, tambin se
comprueba su bit de la derecha.
Si los dos bits anteriores son iguales (1-1 o 0-0), todos los bits de
los registros A, Q y Q-1 se desplazan un bit a la derecha.

Ing. Mnica Patricia Ren

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.

En ambos casos, el desplazamiento aritmtico conserva el bit que


se desplaza en su nueva posicin ms a la izquierda luego que se
desplaz.
Se realiza un desplazamiento aritmtico para no perder el bit de
signo.

Ing. Mnica Patricia Ren

164

Aritmtica Multiplicacin
Diagrama de flujo

Ing. Mnica Patricia Ren

165

Representacin en coma o punto flotante


Para comprender la representacin en coma o punto flotante
debemos tener en mente lo siguiente:
943,000 puede ser representado como:
943,000*10
//el exponente positivo indica cuantas posiciones
94,300 *10
// hacia la izquierda se mueve la coma
9,430*10
943*10
94.3*10, etc.
0.00235 puede ser representado como:
235*10-
//el exponente negativo indica cuantas posiciones
23.5*10-
// hacia la derecha se mueve el punto
2.35*10- ,etc.
Ing. Mnica Patricia Ren

166

Representacin en coma flotante

La misma tcnica se puede utilizar con los nmeros binarios.

Podemos representar un nmero en la forma:


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

Representacin en coma flotante

Formato tpico de punto flotante de 32 bits.


Bit de signo (es el MSB): 1 =negativo, 0=positivo
El exponente se representa sesgado. Un valor fijo llamado sesgo se
resta de este campo para conseguirse el valor del exponente
verdadero.
Normalmente el sesgo tiene un valor (2k-1-1) donde k es el nmero
de bits en el exponente binario.
La parte final de la palabra es la parte significativa o mantisa.
Ing. Mnica Patricia Ren

168

Representacin sesgada
Nota: Representacin sesgada

Este es otro mecanismo que se utiliza para representar nmeros


enteros tanto positivos como negativos. Tambin se le denomina
representacin en exceso a x.
Si el nmero de bits que se utiliza para representar enteros es k
entonces generalmente x=2k-1.
Por ejemplo si se utilizan 4 bits para representar el nmero
entonces el sistema utilizado se conoce como representacin en
exceso a 8, ya que x=24-1=23=8, mientras que si se utilizan 8 bits
para representar al nmero el sistema utilizado se conoce como
representacin en exceso a 128, ya que x=28-1=128.
Ing. Mnica Patricia Ren

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

Representacin en coma flotante


Volviendo a la representacin en coma flotante, otra consideracin
que debemos tener en cuenta es que para simplificar los clculos se
requiere que el nmero a representar est normalizado.
Para que est normalizado debe estar expresado de la forma:
0,1 bbbb x 2E
Donde cada b es un dgito binario (1 o 0). La normalizacin nos
muestra que el bit ms a la izquierda de la mantisa siempre es 1 y que
por tal motivo no es necesario almacenarlo ya que se conoce su valor.
As el campo de 23 bit se emplea para guardar una mantisa de 24
bits.
0,0000101 = 0,101 x 24 (ejemplo)
Ing. Mnica Patricia Ren

171

Representacin en coma flotante


Incluso podemos aprovechar otro bit ms, si normalizamos el
nmero de manera que el 1 ms a la izquierda est en la parte
entera:
0,0000101 = 1,01 x 25
En este caso el campo de 23 bits se emplea para guardar una
mantisa de 25 bits.

Ing. Mnica Patricia Ren

172

Representacin en coma flotante


Incluso podemos aprovechar otro bit ms, si normalizamos el
nmero de manera que el 1 ms a la izquierda est en la parte
entera:
0,0000101 = 1,01 x 25
En este caso el campo de 23 bits se emplea para guardar una
mantisa de 25 bits.

Ing. Mnica Patricia Ren

173

Representacin en coma flotante


El formato en coma flotante se usa para representar valores muy
grandes (exponente positivo) o valores muy pequeos (exponente
negativo).
El formato en coma flotante de simple precisin permite representar
nmeros de 128 bits con solo 32.

El formato es flexible: se pude dedicar cualquier cantidad de bits a


la parte entera o a la parte fraccionaria segn convenga.
El formato utilizado para la representacin de nmeros binarios en
coma flotante est definido por el estndar 514-1985 ANSI/IEEE
precisin (64 bits).

Ing. Mnica Patricia Ren

174

Representacin en coma flotante


Existen otros formatos similares pero con distinto nmero de bits,
como el de doble precisin (64 bits).

Los nmeros en coma flotante son muy frecuentes en las


aplicaciones de clculo numrico, por lo que los ordenadores
suelen utilizar unidades separadas especficas para operaciones en
coma flotante.

Estandar IEE 754

Ing. Mnica Patricia Ren

175

Aritmtica en coma flotante


La siguiente tabla resume las operaciones bsicas de la aritmtica
en coma flotante.
Nmeros en coma flotante

=
=

Operaciones aritmticas

+ =

= )

+ , XEYE
, XEYE
+

= ( )

Ing. Mnica Patricia Ren

176

Aritmtica en coma flotante

Ing. Mnica Patricia Ren

177

Aritmtica en coma flotante

En sumas y restas en necesario asegurar que ambos operandos


tengan el mismo exponente. Lo anterior puede requerir desplazar la
coma de la base de uno de los operandos para conseguir
alinearlos.

Ing. Mnica Patricia Ren

178

Aritmtica en coma flotante


Pueden surgir problemas como resultado de estas operaciones:

Desbordamiento del exponente: un exponente positivo que


excede el valor de exponente mximo posible. En algunos
sistemas, este desbordamiento puede designarse como
+ .
Desbordamiento a cero del exponente: un exponente negativo
menor que el mnimo valor posible (ej. -200 es menor que -127).
Lo anterior significa que el nmero es demasiado pequeo para
ser representado y que puede considerarse como 0.

Ing. Mnica Patricia Ren

179

Aritmtica en coma flotante


Desbordamiento a cero de la mantisa: en el proceso de
alineacin o ajustes de mantisas, pueden perderse dgitos por la
parte derecha de la mantisa. Lo anterior requiere hacer algn
tipo de redondeo.

Desbordamiento de la mantisa: la suma de dos mantisas del


mismo signo pueden producir un acarreo procedente del bit ms
significativo. Esto, puede arreglarse con un reajuste (incremento
del exponente y desplazamiento de la mantisa).

Ing. Mnica Patricia Ren

180

Repertorio de Instrucciones: caractersticas y


funciones
Especifican operacin a realizar: 1)
aritmticas y lgicas, 2) transferencia de
datos entre dos registros, 3) transferencia
de datos entre registros y memoria, 4)
transferencia de datos entre dos
posiciones de memoria, 5) E/S de datos, y
6)control

Cdigo de
operacin

Elementos
esenciales
de una
instruccin

Usualmente est implcita


en la instruccin
Ing. Mnica Patricia Ren

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

Elementos de una instruccin mquina


El funcionamiento de la CPU est determinado por las
instrucciones que ejecuta (instrucciones mquina o instrucciones
del computador).
Al conjunto de instrucciones se le denomina repertorio de
instrucciones.

Ing. Mnica Patricia Ren

182

Elementos de una instruccin mquina


Cdigo de operacin (codop) : Especifica la operacin a realizar
(suma, E/S, etc). La operacin se indica mediante un cdigo
binario.
Referencia a operandos fuente: La operacin puede implicar a
uno o ms operandos que son entradas para la instruccin.
Referencia al operando resultado: La operacin puede producir
un resultado.
Referencia a la siguiente instruccin: Dice a la CPU dnde
captar la siguiente instruccin tras completarse la ejecucin de la
instruccin actual.

Ing. Mnica Patricia Ren

183

Elementos de una instruccin mquina


La siguiente instruccin a captar est en memoria principal o, en
caso de un sistema de memoria virtual, bien en memoria principal o
en memoria secundaria (disco).
En la mayora de los casos la siguiente instruccin a captar sigue
inmediatamente a la instruccin en ejecucin. En este caso no
habr referencia explcita a la siguiente instruccin.

Ing. Mnica Patricia Ren

184

Representacin de las instrucciones


Se representa por una secuencia de bits, dividida en campos.

Durante su ejecucin, la instruccin se escribe en un registro de


instruccin (IR) de la CPU.

La CPU debe extraer los datos de los distintos campos de la


instruccin para realizar la operacin requerida.

Ing. Mnica Patricia Ren

185

Representacin de las instrucciones


Debido a la complejidad de manejar las instrucciones mquina en
binario, se utilizan representaciones simblicas llamadas
nemotcnicos.
ADD
SUB
MPY
DIV
LOAD
STOR

Sumar
Restar
Multiplicar
Dividir
Cargar datos de memoria
Almacenar datos en memoria (memorizar)

Ing. Mnica Patricia Ren

186

Representacin de las instrucciones


Los datos tambin suelen representarse simblicamente.

Es raro encontrar programadores en lenguaje mquina ya que


actualmente existen lenguajes de programacin de alto nivel:
BASIC, Cobol, Java, C, C++, C#, J#, SHELLs de UNIX, Oracle
PL/SQL, PYTHON, etc.
Sin embargo, el lenguaje simblico es til para describir las
instrucciones mquina que debe ejecutar el procesador.

Ing. Mnica Patricia Ren

187

Representacin de las instrucciones


Un lenguaje de alto nivel expresa las operaciones en forma
algebraica concisa, utilizando variables.
Un lenguaje mquina expresa las operaciones de una manera
elemental, implicando operaciones de transferencia de datos a, o
desde, registros.
Cualquier programa escrito en alto nivel, debe traducirse a
lenguaje mquina para ser ejecutado.

Ing. Mnica Patricia Ren

188

Clasificacin de las instrucciones


Instrucciones
memoria

Aritmticas: proporcionan capacidad


computacional para procesar datos
numricos.
Lgicas (booleanas): operan sobre los
bits de una palabra, en vez de
considerarlos como ns.

de

Almacenamiento
de datos
Transferencia
de datos

Procesamiento
de datos
Tipos de
instrucciones

Instrucciones de E/S
Instrucciones
comprobacin
bifurcacin

de
y

Control

Ing. Mnica Patricia Ren

189

Diseo del repertorio de instrucciones


Es muy complejo, ya que afecta a mucho de los aspectos de la
computadora.
Define muchas de las funciones realizadas por la CPU.

Es el medio que tiene el programador para controlar la CPU.


Repertorio de operaciones: Cuntas y qu operaciones considerar,
y cun complejas deben ser.
Tipos de datos: distintos tipos de datos con los que se efectan
operaciones.

Ing. Mnica Patricia Ren

190

Diseo del repertorio de instrucciones


Formatos de instrucciones: Longitud de la instruccin (en bits),
nmero de direcciones, tamao de los distintos campos, etc.
Registros: nmero de registros de la CPU que pueden ser
referenciados por instrucciones, y su uso.
Direccionamiento: modo o modos de direccionamiento mediante
los cuales puede especificarse la direccin de un operando.

Todo lo anterior est fuertemente interrelacionado y debe


considerarse conjuntamente en el diseo de un repertorio de
instrucciones!

Ing. Mnica Patricia Ren

191

Tipos de operando
Las instrucciones mquina operan con datos.

Datos: Direcciones
Nmeros
Caracteres
Datos lgicos

Ing. Mnica Patricia Ren

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.

Direccionamiento a registro, indirecto con registro, y diversos tipos


de desplazamiento, en los que el valor de un registro se suma a un
valor de direccin para producir la direccin del operando.

Ing. Mnica Patricia Ren

193

Modos de direccionamiento
Tarea Ejercicios para repertorio de instrucciones.
TP3.

Ing. Mnica Patricia Ren

194

Estructura y funcin de la CPU


La CPU debe:

Captar la instruccin
Interpretar la instruccin
Captar datos
Procesar datos
Escribir datos

Ing. Mnica Patricia Ren

195

Estructura y funcin de la CPU

Ing. Mnica Patricia Ren

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.

Lo anterior, es una de las decisiones ms importantes a la hora del


diseo de una CPU.
Dentro de la CPU, los registros estn en el nivel ms alto en la
jerarqua por encima de la memoria principal y de la cache.

Ing. Mnica Patricia Ren

197

Registros
Los registros visibles para el usuario pueden ser:

De uso general
Datos
Direcciones
Cdigos de condicin

Los registros de datos solo pueden utilizarse para contener datos y


no se pueden emplear en el clculo de la direccin de un
operando.

Ing. Mnica Patricia Ren

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.

Los registros de direccin pueden ser de uso ms o menos


general, o pueden estar dedicados a un modo de direccionamiento
particular.
Entre los registros de direccin se puede citar a: Punteros de
segmentos, Registros ndice, Puntero de pila.

Ing. Mnica Patricia Ren

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.

Ing. Mnica Patricia Ren

200

Registros de control y de estado


Para la ejecucin de una instruccin son esenciales cuatro
registros:
Contador de programa (Program Counter, PC): contiene la
direccin de la instruccin a captar.
Registro de instruccin (Instruction Register, IR): contiene la
instruccin captada ms recientemente.
Registro de direccin de memoria (Memory Address Register,
MAR): contiene la direccin de una posicin de memoria.
Registro intermedio de memoria (Memory Buffer Register, MBR):
contiene la palabra de datos a escribir en memoria, o la palabra
leda ms recientemente.

Ing. Mnica Patricia Ren

201

Registros de control y de estado


Normalmente la CPU actualiza al PC despus de cada captacin
de instruccin.
La instruccin captada se carga en el IR, donde son analizados el
cdigo de operacin y los campos de operando.
Se intercambian datos con la memoria por medio de MAR y MBR.
Todos los diseos de CPU incluyen un registro o un conjunto de
registros conocidos como palabra de estado (program status word,
PSW) que contiene informacin de estado.

Ing. Mnica Patricia Ren

202

Registros de control y de estado


El registro PSW contiene normalmente cdigos de condicin,
adems de otra informacin de estado.
Entre los campos del PSW se incluyen:
Signo: contiene el bit de signo del resultado de la ltima operacin
aritmtica.
Cero: puesto a uno cuando el resultado es 0.
Acarreo: puesto a uno cuando una operacin da lugar a un acarreo
(suma) o adeudo (resta) en el MSB.
Igual: puesto a uno si el resultado de una comparacin lgica es la
igualdad.
Desbordamiento: usado para indicar un desbordamiento aritmtico.

Ing. Mnica Patricia Ren

203

Registros de control y de estado


Interrupcin habilitadas/inhabilitadas:
inhabilitar interrupciones.

usado

para

permitir

Supervisor: indica si la CPU funciona en modo supervisor o


usuario. nicamente en modo supervisor se pueden ejecutar
ciertas instrucciones privilegiadas y se puede acceder a ciertas
reas de memoria.
Es posible encontrar otros registros relativos a estado y control.
En el diseo de la organizacin de los registros de control y estado
entran en juego varios factores. Una cuestin importante es el
soporte del sistema operativo.

Ing. Mnica Patricia Ren

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.

Ejecucin: interpretar el cdigo de operacin y llevar a cabo la


operacin indicada.
Interrupcin: si las interrupciones estn habilitadas y ha ocurrido
una interrupcin, salvar el estado del proceso actual y atender la
interrupcin.

Ing. Mnica Patricia Ren

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.

Ing. Mnica Patricia Ren

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

Ing. Mnica Patricia Ren

207

Flujo de datos
Si hay algn direccionamiento indirecto se lleva a cabo el ciclo
indirecto.

Los N, MSBs del MBR contienen la direccin de referencia.


2
4

Ing. Mnica Patricia Ren

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.

Ing. Mnica Patricia Ren

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.

Ing. Mnica Patricia Ren

210

Pipeline
Cmo aumentar la velocidad del procesador?
Una manera es utilizando la concurrencia:
i.

A nivel de instrucciones (pipeline, nico procesador ejecutando varias


instrucciones simultneamente)

ii.

A nivel del procesador (paralelismo, varios procesadores trabajando


simultneamente)

Ing. Mnica Patricia Ren

211

Pipeline

Las organizaciones con mltiples procesadores suelen utilizarse en


mquinas con altas prestaciones ( y muy alto precio).
Con organizaciones segmentadas se consigue muy buena mejora en el
rendimiento y a un costo accesible.
Por lo anterior es muy comn que los microprocesadores actuales de
propsito general utilicen la segmentacin.

Ing. Mnica Patricia Ren

212

Segmentacin de instrucciones, pipeline


Es similar al uso de una cadena de montaje en una fbrica de
manufacturacin en la que se puede trabajar sobre las
instrucciones en varias etapas simultneamente.
Segmentacin de cauce (pipelining) es como una tubera o cauce
(pipeline) donde en un extremo se captan nuevas entradas antes
de que algunas otras entradas aceptadas con anterioridad
aparezcan como salidas en el otro extremo.

Ing. Mnica Patricia Ren

213

Segmentacin de instrucciones, pipeline

Ejemplo de empaquetado en la que un operario realiza tareas de manera


secuencial.

Si cada tarea se ejecuta en 10 seg. y tarda 50 seg. en empaquetar una


tarta entonces tardara 500 seg. para empaquetar 10 tartas.
Ing. Mnica Patricia Ren

214

Segmentacin de instrucciones, pipeline

Ejemplo de empaquetado en la que se utiliza pipeline:

El primer operario pone la caja 1 en la cinta, que avanza hasta que el


operario 2 pone la tarta en la caja, al mismo tiempo el primer operario
pone otra caja en la cinta.
Ing. Mnica Patricia Ren

215

Segmentacin de instrucciones, pipeline

Cuando la primer caja llega al operario 3 que la cierra y la encinta, el


segundo operario coloca la segunda tarta en la caja que le pasa el prime
operario quien a la vez ya est colocando la tercer caja en la cinta.
En el momento de que el quinto operario retira la primer caja de la cinta
hay cuatro cajas ms esperando en la cinta.
A partir de que sale la primer caja de la cinta, cada 10 seg. saldr una
nueva caja empaquetada. Por lo que se tardar 100 seg. en empaquetar
10 cajas.

Ing. Mnica Patricia Ren

216

Segmentacin de instrucciones, pipeline

Aunque sale una nueva caja empaquetada cada 10 seg. la preparacin


completa de cada caja sigue siendo de 50 seg.

Como una aproximacin sencilla consideremos que le procesamiento de


una instruccin se divide en dos sub-etapas: captar instruccin y ejecutar
instruccin.

Hay periodos en la ejecucin de una instruccin en los que no se accede a


la memoria principal. Este tiempo se podra utilizar para captar la siguiente
instruccin (almacenarla en un buffer) en paralelo con la ejecucin de la
instruccin actual.

Esta tcnica se conoce como prealimentacin (prefetching). Se observa


que en el ejemplo anterior la velocidad de ejecucin de instruccin por
segundo (rendimiento) se duplica.

Ing. Mnica Patricia Ren

217

Segmentacin de instrucciones, pipeline

Ing. Mnica Patricia Ren

218

Segmentacin de instrucciones, pipeline

Para aumentar el rendimiento tendramos que ejecutar ms etapas en


paralelo. Por lo que es conveniente descomponer una instruccin en ms
sub-etapas.

Ing. Mnica Patricia Ren

219

Segmentacin de instrucciones, pipeline

Por ejemplo la ejecucin de una instruccin podra dividirse en 5


subetapas:
F: alimentacin de la instruccin (fetch)
D: decodificacin de la instruccin
O: extraccin y clculo de los operandos
E: ejecucin (en la ALU)
W: escritura del resultado (write)

Ahora cada etapa puede durar 1/5 de la duracin total de la ejecucin de


la instruccin.

Si suponemos que la duracin de un ciclo de reloj es igual a la duracin de


cada una de estas pequeas etapas, podemos decir que luego de los
primeros 5 ciclos de reloj, se ejecuta una instruccin por ciclo.

Ing. Mnica Patricia Ren

220

Segmentacin de instrucciones, pipeline

A medida que se consiguen avances en la tecnologa los procesadores


disfrutan de un mayor nmero de etapas, aumentando as el rendimiento.

Ing. Mnica Patricia Ren

221

Segmentacin de instrucciones, pipeline

A medida que se consiguen avances en la tecnologa los procesadores


disfrutan de un mayor nmero de etapas, aumentando as el rendimiento.

Pero el rendimiento de un pipeline no depende exactamente del nmero


de etapas, sino de la duracin de su etapa ms larga.

No olvidar que la tcnica de segmentacin o pipelining mejora el


rendimiento no el tiempo de ejecucin de cada instruccin.

Una vez elegido el nmero ptimo de etapas (sub.etapas) , para que el


factor de aceleracin sea igual al nmero de etapas, se requiere que todas
las etapas del pipeline estn llenas de instrucciones tiles y que nada
retrase el avance de instrucciones a travs del pipeline.

Ing. Mnica Patricia Ren

222

Segmentacin de instrucciones, pipeline

Ing. Mnica Patricia Ren

223

Segmentacin de instrucciones, pipeline

Ing. Mnica Patricia Ren

224

Segmentacin de instrucciones, pipeline

Ing. Mnica Patricia Ren

225

Segmentacin de instrucciones, pipeline


La segmentacin de instrucciones es una poderosa tcnica para
aumentar las prestaciones pero requiere de un diseo cuidadoso si
se requiere obtener resultados ptimos con una complejidad
razonable.

Ing. Mnica Patricia Ren

226

Ing. Mnica Patricia Ren

227

También podría gustarte