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

ESTRUCTURA Y

FUNCIONAMIENTO DE LA CPU
Organizacin y Arquitectura del
Computador II

Ing. Luis Alberto Sota Orellana
2014-I
COMPUTADORA DIGITAL
Una computadora digital es una combinacin de dispositivos y circuitos
electrnicos organizados de tal forma, que pueden realizar una secuencia
programada de operaciones con un mnimo de intervencin humana. A la
secuencia de operaciones se le denomina Programa. Un programa es un
conjunto de instrucciones codificadas que se almacenan en la memoria
interna de la computadora junto con todos los datos que el programa
requiere. Por otra parte, para que la computadora pueda ser til, es
necesario que sta interacte con el exterior pidiendo datos para ser
procesados, y muestre de alguna forma los resultados que obtiene.

Organizacin del Procesador: Par comprender su Organizacin de la CPU,
consideremos sus objetivos:
Captar Instrucciones: La CPU debe leer instrucciones de la memoria.
Interpretar Instrucciones: La instruccin debe decodificarse para
determinar que accin es necesaria.
Captar Datos: La ejecucin de una instruccin puede exigir leer datos de la
memoria.
Procesar Datos: La ejecucin de una instruccin puede exigir llevar a cabo
alguna operacin aritmtica o lgica con los datos.
Escribir Datos: Los resultados de una ejecucin pueden exigir escribir
datos en la memoria o en un modulo de E/S.
Estructura de un Computador
La interaccin de estas unidades se lleva a cabo a travs de tres conjuntos de
conectores llamados conductos o buses: El bus de datos, el bus de
direcciones y el bus de control.
El procesador
La CPU controla las dems unidades del
sistema y procesa los datos siguiendo una
secuencia lgica de instrucciones que estn
almacenadas en la memoria: programa.
Para lograr esto debe ser capaz de leer y
escribir en la memoria.
Unidad de control
La funcin de la Unidad de control es coordinar la operacin de todas las
otras unidades ofreciendo seales de temporizacin para mantener el
sistema en sincronizacin adecuada y de control para seleccionar si se
desea leer o escribir a una localidad de memoria.
Decodifica las instrucciones y genera las seales de control que
gobiernan el funcionamiento de las unidades internas y externas
del P.
Coordina las actividades de la computadora, ejecutando programas
en forma ordenada y interactuando con las unidades de entrada y
salida.
Unidad Aritmtica Lgica
El bloque principal es la
Unidad Aritmtico-Lgica
(ALU) que realiza las
operaciones con uno o dos
datos (+, -, AND, OR,
complemento,
desplazamientos...).

Como su nombre lo indica es
la parte de la CPU que se
encarga de todos las
operaciones aritmticas
bsicas (suma, resta,
multiplicacin, divisin, etc.) y
lgicas (las operaciones: O
lgica, Y lgica, Negacin,
etc.)
Unidad de memoria
Es un conjunto o arreglo de registros binarios de longitud definida (8, 16, 32
o 64 bits), en los cuales se puede almacenar instrucciones codificadas y
datos. Cada uno de estos registros se caracteriza por tener una direccin
nica, por lo que generalmente cada una de estas localidades se identifica
por su direccin la cual es la posicin que le toca a ese registro dentro del
arreglo. Las direcciones se expresan siempre en hexadecimal.

Un nmero binario de 8 bits puede representar en el sistema decimal un valor de 0 a
255:
00000000 = 0, 11111111 = 2^8+2^7+2^6+2^5+2^4+2^3+2^2+2^1+2^0 = 255
Un nmero binario de 16 bits puede representar en el sistema decimal un valor de 0
a 65535:
0000000000000000 = 0, 1111111111111111 = 2^16+2^15+2^14+ ... +2^1+2^0 =
65535
Un numero binario de 32 bits puede representar en decimal un valor de 0 a
4.294.967.295
00000000000000000000000000000000=0
11111111111111111111111111111111=2^32+2^31+2^30+ ... +2^1+2^0 =
4.294.967.295

Almacenamiento interno de la
informacin
Bit: Acrnimo de Binary Digit, unidad mnima de informacin binaria o
booleana. Equivale a una variable de lgica de proposiciones.
Byte: Equivale a 8 bits y se define como el nmero de bits necesarios
para almacenar un carcter.
Palabra: Unidad de procesamiento en el ordenador; se expresa en
mltiplos enteros de byte (1, 2, 4, : : :).
Los datos o instrucciones que manejan las unidades del ordenador se
miden en palabras. Las mltiplos de las medidas utilizadas dentro de
un ordenador no son las habituales en el sistema mtrico, aunque se
respeten sus nombres:
Posiciones de almacenamiento
Bit de signo
Palabra nmero
0 1
39
0 8 19 20 28 39
Codop Codop Direccin Direccin
Palabra Instruccin
Ins. Izquierda
Ins. Derecha
Unidad de entrada-salida
Una unidad de entrada-salida, llamada tambin
puerto, es un dispositivo empleado por la
computadora para recibir o enviar datos al
mundo exterior. Algunos de estos dispositivos
son: Teclado, ratn, interruptores, impresora,
monitor, discos magnticos, tarjetas de
comunicacin, etc.
Estos dispositivos al igual que las localidades de
memoria tienen direcciones nicas por medio de
las cuales el procesador interacta con ellos.
Estas direcciones se expresan generalmente en
hexadecimal. (Verificar)
Buses de datos, direcciones y control
El procesador utiliza el bus de datos para
mover datos entre el procesador y la memoria,
entre la memoria y los dispositivos de entrada-
salida.
El procesador utiliza el bus de direcciones,
para indicar la direccin de memoria sobre la
que quiere leer o escribir.
Por ltimo el bus de control se utiliza para
habilitar el dispositivo sobre el que se va a leer o
escribir e indicar cual de estas operaciones se
va a realizar.
Componentes del Computador
Virtualmente todos los diseos de los
computadores actuales se han diseado
basndose en la Arquitectura de Von Neumann
y se basa en tres conceptos fundamentales:
Los datos y las instrucciones se almacenan en una sola
memoria de lectura-escritura.
Los contenidos de esta memoria se direccionan
indicando su posicin, sin considerar el tipo de dato
contenido en la misma.
La ejecucin se produce siguiendo una secuencia de
instruccin tras instruccin.
Componentes del Computador
Secuencia de
Funciones
lgicas y
aritmticas
Hardware Especifico
Programacin Hardware
Datos
Resultados
Si se desea realizar un
calculo concreto, es
posible construir una
configuracin de
componentes lgicos
diseada
especficamente para
dicho calculo.
Si se construyesen de
esta forma, el hardware
obtenido tendra un uso
muy restringido.
El sistema acepta
datos y produce
resultados
Este hardware realiza
funciones diferentes
segn las seales de
control aplicadas.
El sistema acepta datos
y seales de control y
produce resultados.
En lugar de reconfigurar
el hardware para cada
nuevo programa, el
programador
simplemente necesita
proporcionar un nuevo
conjunto de seales de
control.
Cdigos de
Instruccin
Interprete de
Instrucciones
Seales de
Control
Funciones Lgicas
y aritmticas
de uso general
Datos Resultados
Programacin Software
Hardware de uso General
Componentes del Computador
El Funcionamiento del Computador
La captacin es una
operacin comn a todas
las instrucciones,
consiste en la lectura de
la instruccin de una
posicin de memoria.
La ejecucin de la
instruccin puede
suponer varias
operaciones y depende
de la naturaleza de la
instruccin.

Captura la
siguiente
instruccin
Ejecuta
la
Instruccin
Parada
Ciclo de
captacin
Ciclo de
ejecucin
Inicio
Posiciones de almacenamiento
Bit de signo
Palabra nmero
0 1
39
0 8 19 20 28 39
Codop Codop Direccin Direccin
Palabra Instruccin
Ins. Izquierda
Ins. Derecha
Estructura
La Unidad de
Control interpreta
la instruccin y
lleva a cabo la
accin requerida.
En general, sta
puede ser de
cuatro tipos:

CPU Memoria.
CPU E/S.
Procesamiento de
Datos.
Control.
Equipos
E/S
Memoria
Principal
IBR
IR MAR
PC
Circuitos
de Control
Seales
de Control
MBR
AC MQ
Circuitos
aritmtico-lgicos
Direcciones
Estructura
MBR: Registro
Temporal de
Memoria.
MAR: Registro de
Direccin de
Memoria.
IR: Registro de
Instruccin.
IBR: Registro
Temporal de
Instruccin.
PC: Contador de
Programa.
AC: Acumulador.
MQ: Multiplicador
Cociente.
Equipos
E/S
Memoria
Principal
IBR
IR MAR
PC
Circuitos
de Control
Seales
de Control
MBR
AC MQ
Circuitos
aritmtico-lgicos
Direcciones
Ejemplo de ejecucin de un Programa
Ciclo de Instruccin Bsico
Captacin
de
Instruccin
Clculo de
Direccin de
instruccin
Almacenamiento
de
Operando
Clculo de
direccin de
operando
Operacin
con
datos
Captacin
de
Operando
Clculo de
direccin
de operando
Decodificador
de
Operacin
Varios
operandos
Varios
resultados
Cadena
O Vectores
Siguiente
Instruccin
Instrucciones Del Procesador
Cada procesador tiene un conjunto de instrucciones que puede realizar.
Por medio de stas se especifica el programa que queremos que ejecute el
procesador. Este conjunto de instrucciones se le conoce como juego de
instrucciones.
Las mayora de las instrucciones estn formadas por dos partes: la
operacin y los operandos. La operacin es la accin que debe
realizarse. Los operandos son los elementos sobre los que se realizar
sta accin. Por lo tanto, dependiendo de su tipo, las instrucciones pueden
tener cero uno o ms operandos. Sin embargo en todas las instrucciones
existe la operacin.
Cada operacin est codificada mediante una secuencia binaria nica
llamada cdigo de la operacin.
Como los operandos son tambin secuencias binarias, cada instruccin se
codifica mediante una secuencia de bytes: uno o ms para el cdigo de la
operacin y cero, uno o ms para los operandos.
Un programa donde sus instrucciones estn codificadas como secuencias
binarias est en lenguaje mquina.
Conjunto de instrucciones de un
procesador bsico
Lenguajes Mquina, Ensamblador y de Alto
Nivel
A grandes rasgos, la evolucin de la programacin desde la programacin en el
lenguaje mquina, lenguaje de bajo nivel o ensamblador y los lenguajes de alto nivel
es la siguiente:

Las primeras computadoras eran programadas alimentando manualmente las
secuencias binarias que constituan las instrucciones del programa mediante una
batera de interruptores.
Obviamente la programacin de esas primeras computadoras era una tarea muy
tediosa y sujeta a errores. Posteriormente se substituy la batera de interruptores
por teclados hexadecimales que permitan que el programador cargara una
secuencia de cuatro bits presionando una sola tecla del teclado hexadecimal.

El primer avance significativo en la programacin fue la invencin del lenguaje
ensamblador. En el lenguaje ensamblador las operaciones del procesador son
codificadas mediante secuencias de caracteres en lugar de secuencias binarias.
Estas palabras llamadas mnemnicos, son por lo general el nombre de la operacin
o una abreviatura de ste. En la siguiente tabla se ilustran algunos mnemnicos de
algunas de las instrucciones.
Adicionalmente, en el lenguaje ensamblador, a las localidades de memoria en las
que se almacenan datos se les pueden asignarse nombres simblicos de modo que
esas localidades pueden referenciarse usando sus nombres en lugar de sus
direcciones.

Mnemnicos de las instrucciones
Un programa escrito en lenguaje ensamblador es traducido al lenguaje mquina
de la computadora donde se va a ejecutar mediante un programa traductor
llamado ensamblador.
Lenguajes Mquina, Ensamblador y de Alto
Nivel
El siguiente avance en la programacin consisti en la invencin de
los lenguajes de alto nivel. La principal ventaja de los lenguajes de
alto nivel es que las instrucciones en esos lenguajes, se escriben en
una forma ms entendible por las personas ya que se parecen al
lenguaje que empleamos en nuestra vida diaria. Aqu, el programa
que traduce el programa escrito en lenguaje de alto nivel a un
programa en lenguaje mquina se conoce como compilador. Otra
ventaja de los lenguajes de alto nivel es que los programas escritos
en stos son hasta cierto punto independientes del procesador en
que se van a ejecutar los programas. Para transportar un programa
de un procesador a otro, casi siempre es suficiente con compilarlo
con un compilador que genere cdigo mquina para el nuevo
procesador.

EJEMPLOS
1. Considere la siguiente
proposicin en el lenguaje C:
c = a + b;
Si suponemos que las variables a,
b, c estn en las localidades
cuyas direcciones son 25, 33 y 37,
respectivamente, entonces la
proposicin anterior
correspondera al siguiente
conjunto de instrucciones de
nuestro procesador bsico:

EJEMPLOS
2. Considere la siguiente proposicin
en el lenguaje C:
z = x + 13 + y
Si suponemos que las variables x,
y, z estn en las localidades
cuyas direcciones son 23, 44 y 17,
respectivamente, entonces la
proposicin anterior
correspondera al siguiente
conjunto de instrucciones de
nuestro procesador bsico:

Problemas
Para cada una de las siguientes proposiciones en el lenguaje C,
escriba el correspondiente conjunto de instrucciones que deber
ejecutar el procesador bsico y codifquelas a lenguaje mquina.
Aada las instrucciones que sean necesarias.


1. z = x + 13 * y
2. z = (x + 13) * y

Вам также может понравиться