Vous êtes sur la page 1sur 13

Instituto

Tecnolgico
de Tapachula

Alumno: Jesus Ruiz Cruz


Materia: Arquitectura de Computadoras
Catedrtico: Ing. Rosel Muos Lpez
Carrera: ing. Sistemas Computacionales
Semestre: 5to
Grupo: A
25/11/2015

LA CPU
La Unidad Central de Proceso (CPU) es el cerebro de la computadora, el lugar
donde se manipulan los datos. En una microcomputadora, la CPU entera est
contenida en un nico chip llamado microprocesador. Cada CPU tiene dos partes
bsicas: la unidad de control y la unidad aritmtico-lgica.
La unidad de control
La unidad de control administra todos los recursos de la computadora. Es el centro
lgico de la computadora.
Las instrucciones para que la CPU pueda realizar las diferentes operaciones estn
incorporadas en la unidad de control. Hay un conjunto de instrucciones que se
corresponde con todas las operaciones que puede realizar la CPU. Cada
instruccin se expresa en microcdigo, una serie de instrucciones bsicas que le
dicen a la CPU cmo ejecutar operaciones ms complejas. Antes de que un
programa se pueda ejecutar, cada comando del mismo debe ser desglosado en
instrucciones que estn en el conjunto de instrucciones de la CPU. Cuando se
ejecuta el programa, la CPU lleva a cabo las instrucciones en orden
convirtindolas en microcdigo. Las computadoras actuales pueden traducir
millones de instrucciones por segundo.
Diferentes CPUs pueden tener diferentes conjuntos de instrucciones. Los
fabricantes tienden a agruparlas en familias con conjuntos de instrucciones
similares. La familia de procesadores x86 de Intel, por ejemplo, incluye los tipos
ms comunes de CPU encontrados en la mayor parte de los PCs. Por lo general,
al desarrollar una nueva CPU, el conjunto de instrucciones tiene los mismos
comandos que las anteriores y algunos nuevos. De esta manera los programas
pueden seguir funcionando en procesadores ms modernos de la misma familia.
La unidad aritmtico-lgica (ALU)
Las computadoras slo pueden realizar dos tipos de operaciones: aritmticas y
lgicas. Las aritmticas incluyen suma, resta, multiplicacin, divisin y potencia.
Las lgicas incluyen comparaciones: igual a, no igual a, mayor que, menor o igual
a, etc. Muchas de las instrucciones que realiza la unidad de control slo implican
movimiento de datos. Sin embargo, cuando la unidad de control encuentra una
instruccin que implica aritmtica o lgica, pasa esa instruccin a la unidad
aritmtico-lgica. Esta unidad tiene una serie de registros, que son ubicaciones de
alta velocidad que estn en la CPU donde se colocan los datos que se usan en
cada momento. Por ejemplo, la unidad de control podra cargar dos nmeros

desde la Tema 3: Unidades funcionales de la computadora Pgina 3 memoria en


los registros de la ALU y darle la instruccin a la ALU de que divida los dos
nmeros o los compare para ver si son iguales.
Velocidad de procesamiento
Hay varios factores que influyen en la velocidad de una computadora:
1) El diseo de los circuitos de la CPU.
El diseo de los circuitos de la CPU determina su velocidad bsica, pero hay ms
factores que pueden implicar mayor velocidad de procesamiento. Uno de estos
factores es el tamao de los registros de la ALU. En los primeros procesadores
estos registros eran de 16 bits. En la actualidad suelen ser de 32 e incluso pueden
llegar a 64. El tamao de los registros se conoce como tamao de palabra e indica
la cantidad de datos con los que puede trabajar la computadora en cualquier
momento. Muchas veces se habla de computadoras de 32 o 64 bits, refirindose
al tamao de palabra.
2) El reloj del sistema.
Otro factor importante que afecta a la velocidad de procesamiento es el reloj del
sistema. Se trata de un reloj accionado por un cristal de cuarzo (como la mayora
de los relojes de pulsera). Cuando se le aplica electricidad, las molculas del
cristal vibran millones de veces por segundo, con un ritmo constante. La
computadora utiliza estas vibraciones para medir sus operaciones de
procesamiento. Esta velocidad se ha ido incrementando de manera constante. Se
mide en hercios, que son ciclos por segundo. El primer PC operaba a 4,77
megahercios. Esto significa que poda realizar 4,77 millones de operaciones por
segundo. En octubre de 2002 ya se alcanzan en los procesadores para PC los 2,8
gigahercios.
Debido a la extrema dificultad de fabricar componentes electrnicos que funcionen
a las velocidades de MHz habituales hoy en da, todos los micros modernos tienen
2 velocidades:
Velocidad interna: la velocidad a la que funciona el micro internamente: 450, 500,
750, 1000, 2800 MHz, etc.
Velocidad externa o de bus: la velocidad con la que se comunican el micro y la
placa base: 100, 133, 200, 233 MHz, etc)
Los buses del sistema.
Las conexiones entre los componentes de una computadora se denominan
buses. Hay tres buses principales: bus de datos, bus de direcciones y bus de
control. (Cuando slo se dice el bus se refiere al de datos).
Bus de datos.

El bus de datos conecta la CPU, la memoria y el resto de dispositivos hardware de


la placa madre. Consiste en una serie de cables que pueden transmitir un bit de
cada vez. Dependiendo del nmero de cables que formen el bus, se pueden
mover tantos bits a la vez. Estos buses estn diseados para igualar las
capacidades de los dispositivos conectados a ellos. Cuando las CPUs no podan
transmitir ms de un byte a la vez, no tena sentido tener buses de ms 8 bits. Al ir
mejorando la velocidad de los microprocesadores, se fueron creando rutas ms
anchas por las que poder transmitir ms datos. En la actualidad las velocidades de
los procesadores son mucho ms elevadas que las de los buses de
comunicaciones. En 1984 sali al mercado un bus de datos de 16 bits (para
acompaar al microprocesador de INTEL 80286) que se convirti en el estndar
de la industria. Se conoce como bus ISA (Industry Standard Architecture) y an se
utiliza en algunos dispositivos de PC. Dos aos ms tarde, el INTEL 80386 poda
transmitir a 32 bits. Para sustituir al bus ISA, IBM desarroll el bus MCA (Micro
Channel Architecture), pero esta arquitectura de bus no era compatible con los
modelos de PC anteriores, de manera que se un consorcio de desarrolladores de
hardware propuso un nuevo bus denominado EISA (Extended Industry Standard
Architecture). En 1990 VESA (Video Electronics Standards Association) presenta
el VESA Bus de 32 bits, que ofrece conexin de datos rpida para el 80486. Sin
embargo, el bus de 32 bits que se extendi fue el PCI (Peripheral Component
Interconnect) desarrollado por Intel de manera especfica para integrar ms
fcilmente nuevos tipos de datos como sonido, video y grficos.
El bus AGP (Advanced Graphics Port) fue creado tras la aparicin del Pentium II
con el fin de proporcionar a las tarjetas 3D un canal de comunicacin con la
memoria del PC que superase los 133 Mbits/s del bus PCI que resultaban
insuficientes.
Bus de direcciones.
En lo referente al bus de direcciones, se encarga de conectar la CPU y la
memoria RAM indicando direcciones de memoria (habitualmente cada byte de
memoria tiene una direccin). En este caso, el nmero de cables del bus
determina el tamao mximo de la memoria. Los primeros PCs tenan un bus de
direcciones de 20 bits, de manera que podan direccionar 220 direcciones de
memoria (1MByte de datos). En la actualidad la mayora de las CPU tienen buses
de direcciones de 32 bits, de manera que pueden direccionar 4GBytes de memoria
RAM.
Una de las mayores dificultades encontradas en la evolucin de los PCs fue el
hecho de que el sistema operativo utilizado en la mayora de estos equipos
(MSDOS) estuviera diseado para direccionar 1MByte de RAM. Al aumentarse las
capacidades de la RAM, fue necesario disear software especial para poder
utilizarla (memoria expandida y memoria e xtendida).
Bus de control.

Se utiliza para controlar el acceso y el uso de las lneas de datos y de direcciones.


Ejemplos de seales de control:
Escritura en Memoria
Lectura de memoria
Escritura de Entrada/Salida.
Lectura de Entrada/Salida.
4) Memoria cach. Uno de los trabajos que ms tiempo consumen a la CPU es el
movimiento de datos entre los registros de la CPU y la RAM, debido a que la RAM
es mucho ms lenta que la CPU. Para evitar en parte este problema se propuso la
inclusin de una pequea memoria cach en la CPU. Este tipo de memoria es
similar a la RAM pero mucho ms rpida que la memoria normal. Esta memoria se
utiliza para guardar los datos que tienen ms probabilidad de ser utilizados por la
CPU, para que puedan ser accedidos por sta de manera ms rpida. Desde
finales de los 80, la memoria cach se incluy en la mayora de las CPUs de PC
(en principio slo caban 0,5 KBytes, luego 8, 16, 32) En la actualidad pueden
traer hasta 64 KBytes. Adems de esta cach incorporada en la CPU, tambin se
suele agregar otra cach a la placa madre.
5) Otros componentes. Algunas computadoras aceleran ciertas operaciones
agregando un coprocesador matemtico a la CPU. El coprocesador est
especialmente diseado para tratar con datos numricos en coma flotante y libera
a la ALU de ciertas operaciones que ste puede realizar a mayores velocidades.
Las tarjetas aceleradoras de grficos procesan la informacin relacionada con los
grficos liberando de este trabajo a la CPU. Adems, no slo aumentan la
velocidad de ejecucin al liberar a la CPU de trabajo, sino que estn diseados
especialmente para esa tarea, de manera que la realizan ms rpido de lo que lo
hara la propia CPU.

Registros de la CPU
Para poder hacer estas cosas, es obvio que la CPU necesita almacenar
algunos datos temporalmente.
Debe
recordar
la
posicin
de
la
ltima instruccin de forma que sepa dnde ir a buscar la siguiente. Necesita
almacenar instrucciones y datos temporalmente mientras una instruccin est
siendo ejecutada. En otras palabras, la CPU necesita una pequea memoria
interna. En la estructura interna de la CPU se indican los caminos de transferencia
de datos y de control lgico, que incluyen un elemento con el rtulo bus interno de
la CPU. Este elemento es necesario para transferir datos entre los diversos
registros y la ALU, ya que sta en realidad slo opera con datos de la memoria
interna de la CPU. La figura muestra tambin los elementos bsicos tpicos de

la ALU. Dentro de la CPU hay una memoria interna compuesta por un conjunto de
registros. Los registros de la CPU son:
- Registros visibles al usuario: Permiten al programador de lenguaje de mquina o
ensamblador minimizar las referencias a memoria principal optimizando el uso de
los registros
- Registros de control: Son utilizados por la unidad de control para controlar el
funcionamiento de la CPU y por programas privilegiados del sistema para controlar
la ejecucin de programas.
- Registro de estado: Se utiliza para tomar decisiones en funcin de operaciones
realizadas.
- Registro puntero a pila.
Registros visibles al usuario
Un registro visible al usuario es aqul que puede ser referenciado por medio del
lenguaje mquina que ejecuta la CPU. Prcticamente todos los diseos
contemporneos de CPUs estn provistos de varios registros visibles al usuario,
en oposicin a disponer de un nico acumulador.
Podemos clasificarlos en:
- Uso General
- Datos
- Direcciones
- Cdigos de Condicin

Los registros de uso general pueden ser asignados por el programador a diversas
funciones. A veces, su uso dentro del repertorio de instrucciones es para contener
el operando para cualquier cdigo de operacin. Esto proporciona una utilizacin
de registros de autntico uso general. Con frecuencia, sin embargo, existen
restricciones. Por ejemplo, puede haber registros especficos para operaciones en
coma flotante. En algunos casos los registros de uso general pueden ser utilizados
para funciones de direccionamiento. En otros casos hay una separacin clara o
parcial entre registros de datos y registros de direcciones.
Los registros de datos pueden ser usados nicamente para contener datos y no se
pueden emplear en el clculo de una direccin de operando. Los registros de
direccin pueden ser en s registros de uso ms o menos general, o pueden estar

dedicados a un modo de direccionamiento particular. El caso ms conocido es el


puntero a pila. La cantidad de registros generales o especializados es una
cuestin de diseo. No hay solucin ptima, pero la tendencia parece ir hacia el
uso de registros especializados. Otro problema de diseo es el nmero de
registros, de uso general o de datos ms direcciones, que tienen que incluirse.
A mayor cantidad de registros se requieren mayor cantidad de bits en el campo de
operando. Parece ptimo entre 8 y 32 registros. Menos registros se traducen en
ms referencias a memoria; ms registros no reducen notablemente las
referencias a memoria. Por ltimo, est la cuestin de la longitud de los registros.
Los registros que han de contener direcciones han de ser lo suficientemente
grandes como para albergar la direccin ms grande. Los registros de datos
deben ser capaces de contener valores de la mayora de tipos de datos. Algunas
mquinas permiten que los registros contiguos sean usados como uno para
contener valores de doble longitud. Una categora final de registros, que es al
menos parcialmente visible al usuario, contiene cdigos de condicin (tambin
llamados
indicadores
o
flags).
Los cdigos de condicin son bits fijados por el hardware de la CPU como
resultado de alguna operacin. Por ejemplo, una operacin aritmtica puede
producir un resultado positivo, negativo o nulo, o con desbordamiento. Adems de
almacenarse el propio resultado en un registro o en la memoria, se obtiene
tambin un cdigo de condicin. El cdigo puede ser examinado con posterioridad
como parte de una condicin de bifurcacin condicional. Los bits de cdigos de
condicin se renen en uno o ms registros. Por lo general, forman parte de un
registro de control. Comnmente, las instrucciones de mquina permiten que estos
bits sean ledos por referencia implcita, pero no pueden ser alterados por el

programador. En algunas mquinas, una llamada a subrutina dar lugar a la


salvaguarda automtica de todos los registros visibles al usuario, que sern
restablecidos
en
el
retorno
de
la
subrutina.
La CPU lleva a cabo la salvaguarda y restablecimiento como parte de la ejecucin
de las instrucciones de llamada y retorno, respectivamente. Esto permite a cada
subrutina usar independientemente los registros visibles al usuario. En otras
mquinas, es responsabilidad del programador guardar los contenidos de los
registros visibles al programador relevantes antes de la llamada a subrutina,
teniendo que incluir en el programa instrucciones para este fin.

Registros de control
Hay diversos registros de la CPU que se pueden emplear para controlar su
funcionamiento. La mayora de stos, en la mayor parte de las mquinas, no son
visibles al usuario. Algunos de ellos pueden ser visibles a instrucciones de
mquina ejecutadas en un modo de control o de sistema operativo. Naturalmente,
mquinas diferentes tendrn diferentes organizaciones de registros y usar
distinta terminologa. Se enumera aqu una lista razonablemente completa de tipos
de registros, con una breve descripcin. Son esenciales cuatro registros para la
ejecucin de una instruccin: el contador de programa, el registro de direccin, el
registro de instruccin y el registro de datos. El contador de programa contiene
una direccin de instruccin. Tpicamente, la CPU actualiza el PC despus de
cada captacin de instruccin de manera que siempre apunta a la siguiente
instruccin a ejecutar. Una instruccin de bifurcacin o salto tambin modificar el
contenido de PC. La instruccin captada se carga en el registro de instruccin,
donde son analizados el cdigo de operacin y los campos de operando. Se
intercambian datos con la memoria por medio de registro de direcciones y el de
datos. En un sistema con organizacin de bus, el de direcciones se
conecta directamente al bus de direcciones, y el de datos directamente al bus de
datos. Los registros visibles al usuario, sucesivamente, intercambian datos con el
de datos. Los cuatro registros que acaban de mencionar se usan para la
transferencia de datos entre la CPU y la memoria. Dentro de la CPU, los datos
tienen que ofrecerse a la ALU para su procesamiento. La ALU puede tener acceso
directo al de datos y a los registros visibles al usuario. Como alternativa, puede
haber registros intermedios adicionales en el lmite de la ALU; estos registros
sirven como registros de entrada y salida de la ALU e intercambian datos con el de
datos y los registros visibles al usuario.
Registro de estado
Todos los diseos de CPUs incluyen un registro o un conjunto de registros,
conocidos a menudo como palabra de estado de programa "programa status
word", PSW), que contiene informacin de estado. La PSW contiene tpicamente

cdigos de condicin adems de otra informacin de estado. Entre los campos


comunes o indicadores se incluyen los expresados en la tabla.
Bit de Nombre
estad
o
C
Acarreo

Paridad

Cero

Signo

Desbordamient
o
Interrupcin

Descripcin

Puesto a uno si una operacin da


lugar a un acarreo (suma) o adeudo
(resta) de un bit de orden superior.
Paridad del resultado de una
operacin aritmtica o lgica. Un 1
indica paridad par y el 0 paridad
impar.
Puesto a uno cuando el resultado de
una operacin aritmtica o lgica es
cero.
Contiene el bit de signo del
resultado de la ltima operacin
aritmtica.
Usado
para
indicar
un
desbordamiento aritmtico.
Usado para habilitar o inhabilitar
interrupciones

Registro puntero a pila


El registro puntero a pila permite almacenar la direccin de acceso a la memoria
pila. Veremos su funcionamiento al tratar las subrutinas.

Cmo funciona un CPU


Simplificando al extremo, y en trminos didcticos, el funcionamiento de un
procesador est dado por cuatro fases. Estas fases no necesariamente estn
siempre separadas, sino que por norma general se solapan, y siempre ocurren en
simultneo aunque no necesariamente para una funcin en especfico.

Durante la primera fase el procesador se encarga de cargar el cdigo desde


la memoria. En otras palabras se leen los datos que deben ser procesados
posteriormente. En esta primera fase se encuentra un problema comn en
la arquitectura de los procesadores, y es que hay un mximo de datos que
pueden ser ledos por periodo de tiempo, y suelen ser inferiores a los que
pueden ser procesados, por lo que hay una especie de efecto de pico de
botella que en la actualidad se trata de solventar aplicando el multicanal y
cachs.
En la segunda fase ocurre la primera etapa del procesamiento como tal. La
informacin leda en la primera fase es analizada siguiendo un juego de
instrucciones. As pues, dentro de los datos ledos habr fracciones
descriptivas para el set de instrucciones, que indicarn qu se debe hacer
con el resto de la informacin. Por poner un ejemplo prctico, hay cdigo
que indica que se deben sumar los datos de un paquete con los de otro
paquete, siendo cada paquete informacin que describe un nmero, con lo
que se obtiene una operacin aritmtica comn.
A continuacin viene la fase que continua con el procesamiento franco, y se
encarga de ejecutar las instrucciones tomadas decodificadas dentro de la
segunda fase. En el ejemplo anterior, aqu sera dnde se realiza la suma y
se obtiene el resultado.
Por ltimo, el proceso concluye con una fase de escritura, dnde de nuevo
la informacin es cargada, solo que esta vez desde el procesador hasta la
memoria. En algunos casos la informacin puede ser cargada a memoria
del procesador para ser reutilizada posteriormente, pero una vez terminado
el procesamiento de labor en particular, los datos siempre terminan siendo

escritos en la memoria principal, de donde luego pueden ser escritos a la


unidad de almacenamiento o no, dependiendo de la aplicacin.

Ejecucin de Instrucciones con el CPU


Las instrucciones se almacenan en la memoria RAM de la computadora (Memoria
de Acceso Aleatorio, conocida en ingls como Random Access Memory), la cual
ser cubierta en la seccin
Existen dos componentes principales en el CPU. Uno es la unidad de control, que
accede instrucciones almacenadas en la RAM, interpreta su significado, y luego
las dirige al lugar apropiado. La otra es la Unidad Aritmtica/Lgica (ALU) que
desarrolla operaciones aritmticas (por ejemplo, suma, resta, multiplicacin y
divisin) y lgicas (por ejemplo, mayor que, menor que, igual que) requeridas para
procesar las instrucciones.
Al ejecutar una instruccin, el CPU desarrolla cuatro pasos, que son llamados
el ciclo de instruccin (fetch-execute-cycle). A continuacin se muestran los cuatro
pasos:
1. Extraer - La unidad de control obtiene la instruccin de la memoria.
2. Interpretar- La unidad de control decodifica el significado de la instruccin y
mueve los datos necesarios de la memoria a la ALU.
3. Ejecutar- La unidad de control solicita a la ALU que desarrolle las operaciones
aritmticas y lgicas necesarias.
4. Almacenar- El resultado del clculo se guarda en la memoria.
El siguiente diagrama ilustra los pasos realizados por el CPU para ejecutar una
instruccin que suma dos nmeros. La instruccin es: Permite que R = X + Y.

Otro componente del microprocesador es la cach, una memoria especial de altavelocidad que almacena los datos usados ms recientemente, para acelerar el
proceso de ejecucin de instrucciones. La cach puede acelerar la recuperacin
de datos porque los datos usados ms recientemente podran sean usados de
nuevo por la computadora.
La memoria cach de Nivel 1 (L1) o memoria cach principal se localiza en el CPU
para proporcionarle el acceso ms rpido a los datos. Tambin existe una cach
ms lenta, la memoria cach de Nivel 2 (L2) o cach secundaria, localizada entre
la RAM y el CPU (algunas veces en el CPU). Si los datos no pueden ser
encontrados en alguna de las dos cachs, sern recuperados de la RAM. En
relacin a la distancia entre el CPU y las reas de almacenamiento de los datos e
instrucciones, los datos se recuperan ms rpido de la cach L1, luego de la
cach L2, y luego de la RAM.

La siguiente figura muestra cmo las partes de un microprocesador encajan dentro


de los otros componentes de una computadora.