Anda di halaman 1dari 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 2


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 3


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 4


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 5


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 6


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 7
Estructura y funcionamiento

De cada nivel al diseador le interesa la estructura y el


funcionamiento.

Estructura: modo en el que los componentes estn


interrelacionados.

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 8


Funcionamiento

Las funciones bsicas en trminos


generales son:

Procesamiento de datos
Almacenamiento de datos
Transferencia de Datos
Control

Organizacin y Arquitectura
Ing. de Computadores.
Mnica Patricia Ren William Stallings - 79
edicin.pdf
Operaciones posibles de un computador
Transfe-
rencia
Transfe-
rencia
a) Transferencia de datos desde
un perifrico o lnea
Control Control de comunicacin a otro.

Almacena- Procesa- Almacena- Procesa-


miento miento miento miento b) Almacenamiento desde
(a) (b) un dispositivo externo
al almacn de datos (leer)
o viceversa (escribir).
Transfe- Transfe-
rencia rencia
c) d) Procesamiento de datos
Control Control
en datos almacenados o
en trnsito entre el almacn
Almacena-
miento
Procesa-
miento
Almacena-
miento
Procesa-
miento
y el exterior.
(c) (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.

L
ne
a
s
s

de
co

C
ri

om
rif

un
Pe

ic
a
ci
n
Computador

* Almacenamiento
* Procesamiento

Fig. 1.3 El Computador

Ing. Mnica Patricia Ren 16


Estructura top-down

Peripherals Computer

Central Main
Processing Memory
Unit

Computer
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 la


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

Ing. Mnica Patricia Ren 18


Estructura de la CPU

CPU

Computer Arithmetic
Registers and
I/O Login Unit
System CPU
Bus
Internal CPU
Memory Interconnection

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
ALU Secuencial
Control
Internal
Unit
Bus
Registros y
Registers Decodificadores
de la CU

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 sacarle provecho a las prestaciones muy


sofisticadas.

Ing. Mnica Patricia Ren 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) Cdigo de
instrucciones
Una porcin del hardware (UC) (programa)
acepta el cdigo y genera las seales
de control.
Interprete de
As tenemos una computadora! instrucciones

Seales de
control

Funciones
aritmticas y resultados
datos
lgicas de uso
general

Ing. Mnica Patricia Ren 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
0 3 4 15
codop direccin

Formato instruccin

0 1 15

s 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
No, no activo P0.0
(Poollings): P0.0=0? bit 0 Perifrico 1
bit 1 P0.1
Pruebas cclicas PUERTO 0 DATOS E/S

mediante instrucciones Programa


perifrico 1
de programa para checar
el estado de los perifricos Activar
P0.1
de E/S.
No, no activo
P1.0
bit 0 Perifrico 2
P1.0=0?
P1.1
bit 1
PUERTO1 DATOS E/S

Programa
perifrico 2

Activar
P1.1
Interrupciones
INTERRUPCION
PROGRAMA INT 1
----------------
Por Interrupcin: ---------------- Perifrico 1
----------------
Servicio directo ---------------
PUERTO 0 DATOS E/S
entre perifricos
y CPU.
Inmediato e Atencin perifrico 1 INTERRUPCION
inhibible, si se ---------------- INT 2
----------------
considera ----------------
Perifrico 2
inoportuna.
Forma de trabajo Atencin perifrico 2
PUERTO1 DATOS E/S
----------------
inherente al control ----------------
---------------
de procesos en tiempo
real.
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 Direccin
interrupcin 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 b2 b1 b0

EA x ET2 ES ET1 EX1 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): seala que la


interrupcin pendiente se ha aceptado.

Ing. Mnica Patricia Ren 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:

= 2
=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

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
0 1 0 0 0
+ 1 1 0 0 1
1 0 0 0 0 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 :

= 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 8 4 2 1

Caja de valores ca2, de 8 posiciones


-128 64 32 16 8 4 2 1
1 0 0 0 0 0 1 1
Ej. para el -125

-128 64 32 16 8 4 2 1
1 0 0 0 1 0 0 0

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 1 Suma
binaria
0 0 0
0 1 1
1 0 1
1 1 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 Multiplicand (11 dec) (1011) (1101)= 1011 (23 +22 +20)
x 1101 Multiplier (13 dec)
1011 Partial products 011x20 no hay desplazamiento
0000 Note: if multiplier bit is 1 copy
1011 multiplicand (place value) 1011x22 desplazo 2 posiciones
1011 otherwise zero 1011x23 desplazo 3 posiciones
10001111 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) Especifican registros o
aritmticas y lgicas, 2) transferencia de posiciones de memoria de
datos entre dos registros, 3) transferencia datos operandos. Los datos
de datos entre registros y memoria, 4) pueden ser: direcciones,
transferencia de datos entre dos nmeros, caracteres o datos
posiciones de memoria, 5) E/S de datos, y lgicos.
6)control

Referencia a
Cdigo de operandos
operacin Elementos fuente y
esenciales destino
de una
instruccin

Referencia a
Usualmente est implcita
la siguiente
en la instruccin
instruccin
Ing. Mnica Patricia Ren 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 Sumar
SUB Restar
MPY Multiplicar
DIV Dividir
LOAD Cargar datos de memoria
STOR 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
Aritmticas: proporcionan capacidad Instrucciones de
computacional para procesar datos memoria
numricos.
Lgicas (booleanas): operan sobre los
bits de una palabra, en vez de
considerarlos como ns. Almacenamiento
de datos

Transferencia
Procesamiento de datos
de datos
Tipos de
instrucciones
Instrucciones de E/S

Instrucciones de
comprobacin y Control
bifurcacin

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: usado para permitir o


inhabilitar interrupciones.

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

1 2
5

7 6
8
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