You are on page 1of 48

Estructura Bsica de una

Computadora
MICROPROCESADORES

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
Princeton.

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).

COMPONENTES DE UNA
COMPUTADORA
Surge el concepto de programa almacenado.
Memoria principal almacena datos e instrucciones.
La ALU (Unidad Aritmtico 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).

ARQUITECTURA VON NEUMANN

DETALLES DEL COMPUTADOR IAS

1 ,024 posiciones de memoria de 40 bits o palabra c/u.


Formato de nmero en binario
2 Instrucciones 20 bits c/u

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.

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.

DETALLES DEL
COMPUTADOR IAS

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 secuencialmente
en la memoria. Las instrucciones de salto pueden cambiar esta secuencialidad y
facilitar tambin las operaciones repetitivas.

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.

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.

COMPONENTES DE UNA
COMPUTADORA
La otra alternativa que surgi posteriormente fue 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 datos y seales de control, y

produce resultados

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 asociando 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)..

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.
As tenemos una computadora!

COMPONENTES DE UNA
COMPUTADORA

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.

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.

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.

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

VISIN MS DETALLADA DE UN CICLO DE


INSTRUCCIN
Diagrama de estado de un ciclo de instruccin

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.

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.

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.

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!

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* 1024= 65,536


posiciones ) de memoria.

Tambin se utiliza para direccionar los puertos de los

mdulos de E/S.
Direcciones inferiores para memoria y altas para puertos.

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.

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.

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.

BUS DE CONTROL
Clock: sincroniza operaciones.
Reset: coloca los mdulos conectados al bus en su estado

inicial

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.

FUNCIONAMIENTO DEL BUS

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.

ELEMENTOS DE DISEO DE
BUSES
Aunque existe una gran diversidad de diseos de buses, hay unos pocos

parmetros que sirven para clasificarlos.

TIPOS DE BUSES
Dedicado: est permanentemente asignado a una funcin o a un subconjunto

fsico de componentes.
Ej. dedicacin funcional: lneas separadas para direcciones y para datos.
Ej. subconjunto fsico de componentes: 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.

TIPOS 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.

MULTIPLEXACIN EN LAS REDES DE COMPUTO


Es el proceso por medio del cual mltiples canales de datos se combinan para

viajar por un mismo medio fsico.


Demultiplexacin es el proceso inverso.

TIPOS DE BUSES
Ventajas del multiplexado por tiempo: uso de menos lneas, uso

de menos espacio, menor 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.

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.

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.

MTODOS DE ARBITRAJE DE
BUSES
El maestro podra iniciar la transferencia de datos (lectura o escritura) con otro

dispositivo, que acta como esclavo.

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 1 s 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.

TEMPORIZACIN DE BUSES

TEMPORIZACIN DE BUSES
Asncrona: la presencia de un evento 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.

TEMPORIZACIN DE BUSES
Diagrama de lectura temporizacin asncrona

TEMPORIZACIN DE BUSES
Diagrama de escritura temporizacin asncrona

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.

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.

You might also like