You are on page 1of 28

ESTRUCTURA Y FUNCIONAMIENTO DE LA CPU

Organizacin y Arquitectura del Computador II Ing. Luis Alberto Sota Orellana 2011-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
01 Palabra nmero 39

Bit de signo

Palabra Instruccin Ins. Derecha Ins. Izquierda 0 8 19 20 28 39

Codop

Direccin

Codop

Direccin

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


 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

Hardware Especifico Datos Secuencia de Funciones lgicas y aritmticas Resultados

Programacin Hardware

Componentes del Computador


Hardware de uso General Cdigos de Instruccin

Datos

 Este hardware realiza funciones diferentes segn las seales de control aplicadas.  El sistema acepta datos y seales de control y Interprete de produce resultados. Instrucciones  En lugar de reconfigurar el hardware para cada Seales de nuevo programa, el Control programador simplemente necesita Funciones Lgicas Resultados proporcionar un nuevo y aritmticas conjunto de seales de de uso general control.

Programacin Software

El Funcionamiento del Computador


Inicio Captura la siguiente instruccin

Ciclo de captacin

Ejecuta la Instruccin

Ciclo de ejecucin

Parada

 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.

Posiciones de almacenamiento
01 Palabra nmero 39

Bit de signo Palabra Instruccin Ins. Derecha Ins. Izquierda 0 8 19 20 28 39

Codop

Direccin

Codop

Direccin

AC

MQ

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.

Circuitos aritmtico-lgicos

Equipos E/S

MBR

IBR IR Circuitos de Control

PC MAR
Direcciones Seales de Control

Memoria Principal

Estructura
AC MQ Equipos E/S

 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.

Circuitos aritmtico-lgicos MBR

IBR IR Circuitos de Control

PC MAR
Direcciones Seales de Control

Memoria Principal

Ejemplo de ejecucin de un Programa

Ciclo de Instruccin Bsico

Captacin de Instruccin

Captacin de Operando

Almacenamiento de Operando

Varios operandos

Varios resultados

Clculo de Direccin de instruccin

Decodificador de Operacin

Clculo de direccin de operando

Operacin con datos

Clculo de direccin de operando

Siguiente Instruccin

Cadena O Vectores

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

z = x + 13 * y z = (x + 13) * y

You might also like