Вы находитесь на странице: 1из 21

Elementos Funcionales de un Computador

Digital
La arquitectura de un computador define su comportamiento
funcional.

Modelo bsico de arquitectura empleada en los computadores


digitales diseado por John Von Neumann en 1945. (First
Draft of a Report on the EDVAC)

Una computadora con programa almacenado. Los computadores


existentes hasta entonces trabajaban con programas cableados
en los que se estableca manualmente las conexiones entre las
distintas unidades.
Eniac - 1946
Elementos Funcionales de un
Computador Digital
Von Neumann conect permanentemente las unidades
de la computadora coordinndolas bajo un control
central.
El EDSAC (1949) fue el primer computador inspirado
en la arquitectura de Von Newman.

Esta arquitectura es todava, aunque con pequeas


modificaciones, la que emplean la gran mayora de
fabricantes.

Documental Historia Evolucin mquinas)


(https://www.youtube.com/watch?v=mIgr0f6xG04
Arquitectura Von Newman
Las computadoras son mquinas de arquitectura von Neumann cuando:

Tanto los programas como los datos se almacenan en una memoria en


comn. Esto hace posible la ejecucin de comandos de la misma forma
que los datos.
Cada celda de memoria de la mquina se identifica con un nmero
nico, llamado direccin de memoria.
Cada programa se ejecuta de forma secuencial que, en el caso de que
no haya instrucciones especiales, comienza con la primera instruccin.
Para cambiar esta secuencia se utiliza el comando de control de
transferencia.
Componentes
Componentes
Unidad Central de Proceso (UCP)
Se compone de unidad de control, los registros (elementos de memorizacin que
contienen informacin relativa al programa que se est ejecutando y al control del
propio procesador) y la unidad aritmtico-lgica. Todo esto es el bloque que decodifica
y ejecuta las instrucciones que se encuentran ubicadas en memoria.

Unidad Aritmtico-Lgica. Permite realizar operaciones elementales como suma, resta, and,
or etc. Los datos sobre los que opera provienen de memoria principal.
Unidad de Control. Se encarga de leer, una tras otra, las instrucciones de mquina
almacenadas en la memoria principal, y de generar las seales de control necesarias para que se
ejecuten las instrucciones ledas.
Contador de programa. Registro que contiene la posicin de memoria de la instruccin a
ejecutar.
Componentes
Buses. Caminos a travs de los que las instrucciones y los datos circulan entre las
distintas unidades del ordenador.

Memoria Principal. Unidad dividida en celdas que se identifican mediante una


direccin. Cada celda suele estar compuesta por un conjunto de bits. Todas las celdas
son del mismo tamao y se emplean para almacenar datos e instrucciones.

Unidad de Entrada/Salida. Realiza la transferencia de informacin con unas unidades


exteriores llamadas perifricos. Carga datos y programas en memoria principal y
muestra los resultados impresos. Hay dos grandes tipos de perifricos:
Unidades de Comunicacin. ( impresoras, terminales)
Memorias Auxiliares (CD, DVDs, cintas)
Conceptos Previos
Programa: Es un conjunto de instrucciones que son almacenadas secuencialmente en
posiciones o direcciones sucesivas de memoria y que ser ejecutadas una tras otra.

Lenguaje Maquina:
Los computadores no son capaces de interpretar directamente un lenguaje de alto nivel,
nicamente pueden interpretar un lenguaje muy restringido (lenguaje de bajo nivel)
denominado lenguaje mquina.
Este lenguaje se compone de una serie de instrucciones mquina, En cuyo conjunto
constituye el juego de instrucciones del computador.

Ordenador de Propsito General: Ordenador Programable.

Propiedades de las instrucciones:


Realizan una nica y sencilla operacin por lo que su decodificacin es sencilla.
Emplean un nmero fijo de operandos, con una representacin determinada.
Bsicamente los tipos de instrucciones que encontramos en cualquier computador son:

- Transferencia de datos.
- Modificacin de secuencia de ejecucin. Que van a permitir alterar la secuencia normal de
ejecucin, de forma genrica se dice que son instrucciones de salto o de bifurcacin.
- Aritmticas ( +, -, *, /)
- Lgicas (and, or, not, nand, nor, xor)
- Desplazamiento.
- Comparacin.
- Entrada y salida. En realidad son instrucciones de transferencia pero con la particularidad
de que el destino u origen es un perifrico.

Funcionamiento
Ir extrayendo sucesivamente instrucciones de la memoria,
interpretarlas, extraer de memoria los operandos implicados en la
operacin, enviarlos a la unidad que realiza las operaciones y hallar
el resultado.

FASES DE EJECUCIN DE UNA INSTRUCCION.


(a) Lectura de memoria para extraer la nueva instruccin a
ejecutar.

(b) Decodificacin de la instruccin y clculo de las direcciones de


los operandos implicados (los datos)

(c) Ejecucin de la operacin: lectura en memoria para extraer los


operandos implicados en la instruccin y envo de esos operandos
a la unidad aritmtico-lgica desencadenndose el tratamiento
de los operandos:

(d) Almacenamiento del resultado en la posicin indicada por la


instruccin y clculo de la direccin de la instruccin siguiente.
Esquema ms profundo
Maquina de Von Newman
Ejemplo del funcionamiento.
a) UCP contiene:
ALU : unidad de ejecucin

Unidad de Control

Reloj: generador de impulsos de reloj que marca el

principio y la duracin y el final de cada operacin.


Se mide en millones de impulsos por segundo Mhz.
La frecuencia de reloj determina la velocidad en
transferencia de un dato entre dos dispositivos
conectados.
Longitud de palabra de datos: cantidad de

informacin que procesador puede procesar en


cada pulso de reloj. Se mide en bits.
Fases de ejecucin de la Instruccin
Las instrucciones y sus operandos se guardan
consecutivamente en direcciones consecutivas de
memoria.

000 MULT, A, #2 Instruccion

001 02 Operando

002 DEC A Instruccion

003 ADD A, #0f Instruccion


0f Operando
004
005 Operando

006
007
Fases de Ejecucin: 1 Carga
El procesador genera las seales necesarias para cargar la siguiente
instruccin de memoria. Se transfiere al registro de instrucciones
(RI).
El procesador est preparado para el ciclo de carga, el contenido del
CP es la direccin 0100, se coloca en el bus de direcciones y se activa
seal de lectura en el bus de control. La memoria recibe esa seal y
recoge el contenido de la direccin 0100. Se coloca la instruccin
MOV AX,0 en el bus de datos y se pasa al registro de instruccin
donde pasar a ejecutarse.

000
CP 0100 BUS DIRECCIONES MOV AX, 0 001
002
003
AX
004
005
UE UD RI BUS DATOS 006
007
Fase de Ejecucin: 2 Decodificacin
El procesador decodifica la instruccin. Transfiriendo la instruccin de
(R I) a unidad de decodificacin (UD). sta compara la instruccin
leda buscando en una tabla interna y al encontrarla lee las
microinstrucciones que es necesario ejecutar para realizar una
instruccin. En este caso colocar al valor 0 en el registro AX
El procesador est preparado para el ciclo de carga, el contenido del
CP es la direccin 0100, se coloca en el bus de direcciones y se activa
seal de lectura en el bus de control. La memoria recibe esa seal y
recoge el contenido de la direccin 0100. Se coloca la instruccin
MOV AX,0 en el bus de datos y se pasa al registro de instruccin
donde se ejecutara.

000
CP 0100 BUS DIRECCIONES MOV AX, 0 001
002
AX 003
004
005
UE UD RI BUS DATOS
006
007
Fase de Ejecucin: 2,3 Ejecucin y
Almacenamiento del resultado
El procesador obtendr los operandos para el trabajo de la instruccin
(si es necesario). En el ejemplo tenemos como operando el registro
de propsito general AX y la constante 0. No es necesario acceder de
nuevo a memoria. Se carga el valor 0 en el registro AX.
Almacenamiento: si es necesario se producir almacenamiento de
resultado en la posicin de memoria indicada en la instruccin. Se
procede al clculo de la instruccin siguiente incrementando en 1 el
contador de programa.

000
CP 0100 BUS DIRECCIONES MOV AX, 0 001
002
AX 003
004
005
UE UD RI BUS DATOS
006
007
Explicacin:
CP. Operaciones que admite:
ICP incremento del contenido de registro
CB-CP lectura del contenido desde bus direcciones.
CP-BD: escritura contenido de CP en Bus dir.
RD. Operaciones que admite:
BD-RD escritura de RD en contenido de bus dir.
RM. Operaciones que admite:
BM-RM: lectura de RM en contenido de bus datos
RM-BM: escritura en bus datos de contenido de RM
Memoria:
LM: leer en RM el contenido de la dir de memoria
sealada por RD
EM: escribir en dir memoria que seala RD el
contenido de RM
ALU
Banco de registros: usuario almacena datos y resultados
intermedios.
Biestables de Estado Z(cero), N(negativo), C(acarreo), O
(desbordamiento).
UA-EZ carga de estado Z a ALU
UA-EN carga estado N desde ALU Secuenciador

OP
Operador
AC
Z
N
Estado
C
O
Banco de
Registros
Operacin en la ALU
La operacin que debe realizar la ALU llega a travs de OP
(lnea de control) que se conecta a CO del registro de
instrucciones y a UC.
Se distinguen mquinas de 1, 2 y 3 direcciones.
1: un solo registro acumulador AC, almacena operando 1 y
resultado.
2: AC y almacenamiento del operando
3: direcciones donde estn los operandos y lugar donde se
almacena resultado
Las micro-ordenes que actan sobre componentes de ALU:
- BM-RT: contenido bus datos de memoria en RT
OAL-AC: vuelca en acumulador el resultado de operacin
AC-BM: lleva contenido de acumulador a bus datos.
AC-OAL: realimenta circuito con el contenido del
acumulador.
Ejemplo
Efectuar una suma de un valor contenido en el acumulador a otro que est en
memoria:

- La Unidad de Control (UC) ordena llevar el contenido del contador de programa al


bus de direcciones.
-El contenido del bus de direcciones se debe introducir en el registro de direccin de
memoria RDM para descodificar la posicin de la instruccin a ejecutar.
-Lectura en memoria y se carga la instruccin en el registro de memoria RM.
-El contenido del registro de memoria se lleva al bus de memoria.
-El contenido del bus de memoria se introduce en el registro de instrucciones RI.
-Incremento del contador de programa quedando preparado para la ejecucin
siguiente.

-Lectura en memoria del operando implicado:


-El contenido de la direccin del operando pasa al bus de direcciones.
-El contenido del bus de direcciones pasa al registro de direccin de memoria RDM
para descodificar la posicin del operando
Se lee el operando. y el contenido del registro de memoria pasa al bus de datos
para acceder a la ALU.

-El contenido del acumulador debe entrar en la ALU para sumarse al operando
llegado desde memoria.
-Se enva a la ALU la seal que identifica la operacin a realizar.
-El resultado se guarda en el acumulador.
Ejemplo de funcionamiento
Transferencia
Descripcin Operacin
entre registros

Contenido de CP a bus de direcciones. Unidad de control activa


seal CP-BD.
RD:= CP
Contenido de bus de direcciones pasa a RD para decodificar la
posicin de la instruccin. UC activa DB-RD
Lectura en memoria y carga instruccin. UC activa seal LM
RM:= M[RD]
memoria[RD] en RM

Contenido de RM se lleva a bus memoria. UC activa seal RM_BM


RI:=RM
Contenido bus memoria pasa a R I. UC activa BM-RI

Se incrementa Contador Programa CP. UC activa la seal ICP


CP:=CP+1
Lectura en memoria del operando implicado
El contenido de direccin de operando CDE pasa a bus de
direcciones. UC activa RI-BD
RD:= RI.CDE
Contenido de bus direcciones va a RD para decodificar posicion del
operando. UC activa BD-RD
Ejemplo de instruccion

Lectura en memoria del operando direccionado. UC


RM:= M[RD]
activa seal LM

El contenido de RM se llev a bus de memoria. UC


activa seal RM-BM
RT:= RM
Cotenido de bus de memoria se pasa a registro
temporal para ALU. UC activa seal BM-RT

Contenido de acumulador entra en ALU para


sumarse al operando llegado de memoria. UC
activa AC-OAL
Se envia a ALU seal de Operacion. UC activa
AC:= AC+RT
seal operacin.
Resultado se guarda en acumulador. UC activa
seal OAL-AC