Está en la página 1de 26

División Académica de Informática y Sistemas

Yesenia Hernández Hernández


Nicandro Alberto Báez collado

Pág. 1 de 26
División Académica de Informática y Sistemas

ORGANIZACIÓN DE LA CPU

Registro de datos y direcciones


Buffers de
Unidad aritmética-lógica
entrada y
Microprogramas Temporalizador y salida
interno control

Éste circuito integrado es realmente el cerebro del sistema y, en consecuencia, es


también el elemento más complejo del mismo. En la figura anterior, se observa el
esquema en bloques de una CPU. El contenido de la CPU, puede dividirse en diferentes
funciones, cada una de las cuales cumple una finalidad específica.

Los circuitos marcados como buffers de entrada y salida, son del tipo de drivers
que se usan para unir las líneas de los tres tipos de BUS que están conectados a la CPU (de
Datos, de Control, y de Direcciones).

El Bus de Control, es el "brazo largo" de la Unidad de Control. A través de él se


dirigen y supervisa los elementos fuera de la CPU.

El Bus de Datos se halla fuera de la CPU, y trasladan los datos que han de ser leídos
o escritos.

El mismo apunta hacia la dirección de los datos y tiene una unión variable en bits,
por ejemplo en el Z80 es de 8 bits y en el Pentium de Intel es de 64 bits. Los BUFFERS del
Bus de Datos son bidireccionales. Esto significa que puede unir al bus de datos cuando la
CPU está en posición de salida de datos y puede unir el bus interno de datos cuando la
CPU está en el funcionamiento de entrada de datos.

Los registros que se observan en la figura, existen en cantidad diferente en


distintos tipos de CPU. Algunos registros se usan para recibir y almacenar los datos que
llegan a la CPU por medio del Bus de Datos. Además, algunos son usados para almacenar
los resultados que provienen de la ALU dentro de la CPU. Otros registros se usan para
almacenar varias direcciones que la CPU puede transmitir por el Bus de Direcciones. En
resumen, los registros se usan para almacenar, en forma transitoria, no permanente,
datos y direcciones en el interior de la CPU.

Pág. 2 de 26
División Académica de Informática y Sistemas

El programa interno de la CPU, el microprograma, capacita el circuito para


interpretar la instrucción recibida y para ejecutar éstas instrucciones junto con los
circuitos de temporización y control, dentro de la CPU. De ahí surge que las diferencias
eventuales entre diferentes tipos de CPU, son obra del microprograma de la CPU.

La ALU es aquella Unidad dentro de la CPU en donde se ejecutan todas las tareas
que requieren una solución dentro de la CPU. Virtualmente todo el tráfico de la CPU es
atendido por medio de la ALU. El microprograma y el circuito de control instruyen a la ALU
acerca de qué registro deben obtener sus entradas, cómo debe procesar éstas entradas y
en qué registros debe colocar los resultados de éste proceso.

El Bus de Direcciones se halla afuera de la CPU y realiza el enlace con otros


microprocesadores del ordenador, indicando el lugar en memoria de la ROM o de la RAM,
cuyo contenido ha de ser leído o escrito. El Bus de Direcciones se mide en bits, siendo, por
ejemplo, el del Z80 de 16 bits y en el Pentium de Intel de 32 bits.

Pág. 3 de 26
División Académica de Informática y Sistemas

MICROPROCESADORES

El microprocesador es un producto de la computadora y la tecnología


semiconductora. Se eslabona desde la mitad de los años 50's; estas tecnologías se
fusionaron a principios de los años 70`'s, produciendo el llamado microprocesador. El
microprocesador, o simplemente el micro, es el cerebro del ordenador. Es un chip, un tipo
de componente electrónico en cuyo interior existen miles (o millones) de elementos
llamados transistores, cuya combinación permite realizar el trabajo que tenga
encomendado el chip. Los principales fabricantes son: INTEL, AMD, CYRIX.

El primer microprocesador fue el Intel 4004, producido en 1971. Se desarrolló


originalmente para una calculadora, y resultaba revolucionario para su época. Contenía
2.300 transistores en un microprocesador de 4 bits que sólo podía realizar 60.000
operaciones por segundo. El primer microprocesador de 8 bits fue el Intel 8008,
desarrollado en 1979 para su empleo en terminales informáticos. El Intel 8008 contenía
3.300 transistores. El primer microprocesador realmente diseñado para uso general,
desarrollado en 1974, fue el Intel 8080 de 8 bits, que contenía 4.500 transistores y podía
ejecutar 200.000 instrucciones por segundo.
El microprocesador es un circuito integrado que contiene la Unidad Central de
Proceso (UCP), también llamada procesador, de un computador. La UCP está formada por
la Unidad de Control, que interpreta las instrucciones, y el Camino de Datos, que las
ejecuta.
Las patitas de un microprocesador sacan al exterior las líneas de sus buses de
direcciones, datos y control, para permitir conectarle con la Memoria y los Módulos de E/S
y configurar un computador implementado por varios circuitos integrados. Se dice que un
microprocesador es un sistema abierto porque su configuración es variable de acuerdo
con la aplicación a la que se destine.

(Estructura de un sistema abierto basado en un microprocesador. La disponibilidad de los


buses en el exterior permite que se configure a la medida de la aplicación).

Pág. 4 de 26
División Académica de Informática y Sistemas

En un microprocesador podemos diferenciar diversas partes:


1. El encapsulado: es lo que rodea a la oblea de silicio en si, para darle consistencia,
impedir su deterioro (por ejemplo, por oxidación por el aire) y permitir el enlace
con los conectores externos que lo acoplaran a su zócalo a su placa base.
2. La memoria cache: es una memoria ultrarrápida que emplea el micro para tener a
mano ciertos datos que prediciblemente serán utilizados en las siguientes
operaciones sin tener que acudir a la memoria RAM reduciendo el tiempo de
espera. Por ejemplo: en una biblioteca, en lugar de estar buscando cierto libro a
través de un banco de ficheros de papel se utiliza las computadora, y gracias a la
memoria cache, obtiene de manera rápida la información. Todos los micros
compatibles con PC poseen la llamada cache interna de primer nivel o L1; es decir,
la que está más cerca del micro, tanto que está encapsulada junto a él. Los micros
más modernos (Pentium III Coppermine, Athlon Thunderbird, etc.) incluyen
también en su interior otro nivel de caché, más grande aunque algo menos rápida,
la caché de segundo nivel o L2.
3. Coprocesador Matemático: o correctamente la FPU (Unidad de coma flotante).
Que es la parte del micro especializada en esa clase de cálculos matemáticos,
antiguamente estaba en el exterior del micro en otro chip. Esta parte esta
considerada como una parte "lógica" junto con los registros, la unidad de control,
memoria y bus de datos.
4. Los registros: son básicamente un tipo de memoria pequeña con fines especiales
que el micro tiene disponible para algunos usos particulares. Hay varios grupos de
registros en cada procesador. Un grupo de registros esta diseñado para control del
programador y hay otros que no son diseñados para ser controlados por el
procesador pero que CPU los utiliza en algunas operaciones en total son treinta y
dos registros.
5. La memoria: es el lugar donde el procesador encuentra sus instrucciones de
programa y sus datos. Tanto los datos como las instrucciones están almacenados
en memoria, y el procesador los toma de ahí. La memoria es una parte interna de
la computadora y su función esencial es proporcionar un espacio de trabajo para el
procesador.
6. Puertos: es la manera en que el procesador se comunica con el mundo externo. Un
puerto es parecido a una línea de teléfono. Cualquier parte de la circuitería de la
computadora con la cual el procesador necesita comunicarse, tiene asignado un
número de puerto que el procesador utiliza como un numero de teléfono para
llamar al circuito o a partes especiales.

La siguiente tabla muestra de rendimiento de micros modernos, desde un


Athlon64 2800+ con núcleo Newcastle, a un prototipo de Core 2 Quad (cuatro cores). Lo
que hay en los paréntesis viene a significar: (Nombre del core, Velocidad real en MHz del
micro, Velocidad en Mhz del FSB, chipset y velocidad/tipo de RAM empleada).

Pág. 5 de 26
División Académica de Informática y Sistemas

Pág. 6 de 26
División Académica de Informática y Sistemas

ORGANIZACIÓN DEL PROCESADOR

Su función es ejecutar programas almacenados en la memoria principal, controla el


funcionamiento, realiza el procesamiento de dato y es uno de los componentes
estructurales de la computadora.

Está compuesto de:

 UC (unidad de control): se encarga de leer una tras otra las


instrucciones del programa en MP y generar las señales necesarias
para su ejecución. Estas señales están sincronizadas con un reloj.
 UAL (unidad aritmética-lógica): encargada de realizar operaciones
elementales sobre los datos de la memoria.
 Registros: pequeña memoria de alta velocidad para almacenar
resultados intermedios y cierta información de control.
 Interconexiones: da comunicación entre la unidad de control,
unidad aritmético-lógica y los registros.

Pág. 7 de 26
División Académica de Informática y Sistemas

El Multiprocesamiento consiste en hacer funcionar un sistema de cómputo con


más de un procesador. En teoría se duplica el desempeño, usando dos procesadores en
lugar de sólo uno.
El multiprocesamiento puede producir un mejor desempeño bajo ciertas condiciones.
Para poder emplear el multiprocesamiento es necesario contar con las s
iguientes características:

• Soporte de la Motherboard:
Una motherboard capaz de manejar múltiples procesadores. Esto significa sockets
adicionales o slots para los chips extras, y un chipset capaz de controlar una
configuración de múltiples procesadores.
• Soporte del Procesador:
Un procesador capaz de ser utilizado en un sistema multiprocesador. No todos
cuentan con este soporte, hay versiones que lo tienen y otras que no.
• Soporte del Sistema Operativo:
Un sistema operativo que soporta el multiprocesamiento, como WINDOWS NT o
uno de los varios sabores de UNIX.

El multiprocesamiento puede ser asimétrico o simétrico. Esto se refiere a cómo el


sistema operativo divide las tareas entre los procesadores en el sistema.

Pág. 8 de 26
División Académica de Informática y Sistemas

BUSES DEL MICROPROCESADOR

Bus es una palabra inglesa que significa "transporte". En arquitectura de


computadores, un bus puede conectar lógicamente varios periféricos (o computadores)
sobre el mismo conjunto de cables. Aplicada a la informática, se relaciona con la idea de
las transferencias internas de datos que se dan en un sistema computacional en
funcionamiento. En el bus todos los nodos reciben los datos aunque no se dirijan a todos
éstos, los nodos a los que no van dirigidos los datos simplemente los ignoran. Por tanto,
un bus es un conjunto de conductores eléctricos en forma de pistas metálicas impresas
sobre la tarjeta madre del computador, por donde circulan las señales que corresponden a
los datos binarios del lenguaje máquina con que opera el Microprocesador

Un bus está compuesto por conductos (vías), éstas hacen posible la interconexión
de los diferentes componentes entre sí, y principalmente con la CPU y la memoria. En
estos conductos se destacan dos subcategorías, el bus de datos y el bus de direcciones;
entre estos existe una fuerte relación, puesto que para cada instrucción/archivo enviado
por uno de los dos buses, por el otro va información sobre esta instrucción/archivo.

En lo referente a la estructura de interconexión mediante los buses, existen de dos


tipos:

• Bus único: considera a la memoria y a los periféricos como posiciones de


memoria, y hace un símil de las operaciones E/S con las de escritura/lectura
en memoria. Todas estas equivalencias consideradas por este bus, hacen
que no permita controladores DMA (Direct Acces Memory ; de acceso
directo a memoria).
• Bus dedicado: este en cambio, al considerar la memoria y periféricos como
dos componentes diferentes, permite controladores DMA (dedicando un
bus especial para él).

Éste bus especial del bus dedicado, contiene tres subcategorías:

El bus de datos determina de qué tamaño es la palabra que se va a utilizar


(cuántos bits son procesados al mismo tiempo), mientras que el bus de direcciones es el
encargado de definir la cantidad de memoria RAM que puede direccional un
microprocesador.

Pág. 9 de 26
División Académica de Informática y Sistemas

El bus de las direcciones es el conjunto de vías que llevan la información acerca de


dónde, en la memoria, se obtendrán los datos que serán transferidos hacia o desde ella.
Por este bus circulan direcciones de memoria que indican de qué localidad de memoria se
leen o escriben datos que viajan en el bus de datos. La velocidad del bus de direcciones es
la misma a la del bus de datos. El ancho del bus de direcciones dá la dirección-habilidad
del procesador, que es cuánta memoria puede ser direccionada por el procesador. Un bus
con 16 líneas, por ejemplo, puede trabajar directamente con 216 direcciones de memoria;
eso es 65,536 (o 64 KB) localidades de memoria posibles. Los diversos microprocesadores
usados en varias PCs, por lo regular, cuentan con un bus de direcciones de 20 a 32 bits. El
Pentium y el Pentium Pro tienen un bus de direcciones de 32 bits, otros fabricantes de
chips han prolongado el alcance de algunos de sus productos a 64 bits.

El bus de control transporta señales de estado de las operaciones efectuadas por


la CPU con las demás unidades. El método utilizado por el ordenador para sincronizar las
distintas operaciones es por medio de un reloj interno que posee el ordenador y facilita la
sincronización y evita las colisiones de operaciones (unidad de control).Estas operaciones
se transmiten en un modo bidireccional.

Tipos de bus:
• BUS ISA
• BUS EISA
• MCA BUS
• PCI BUS
• BUS PCI-X
• Etc.

Pág. 10 de 26
División Académica de Informática y Sistemas

SISTEMA DE COMPUTADORA
Software es el conjunto de los componentes intangibles de una computadora, es
decir, el conjunto de programas y procedimientos necesarios para hacer posible la
realización de una tarea específica, en contraposición a los componentes físicos del
sistema (hardware). Esto incluye aplicaciones informáticas tales como un procesador de
textos, que permite al usuario realizar una tarea, y software de sistema como un sistema
operativo, permite al resto de programas funcionar adecuadamente, facilitando la
interacción con los componentes físicos y el resto de aplicaciones.

Software de sistema: es la parte que permite funcionar al hardware. Su objetivo es


aislar tanto como sea posible al programador de aplicaciones de los detalles del
computador particular que se use, especialmente de las características físicas de la
memoria, dispositivos de comunicaciones, impresoras, pantallas, teclados, etcétera.
Incluye entre otros:

1. Sistemas operativos
2. Controladores de dispositivo
3. Herramientas de diagnóstico
4. Servidores
5. Sistemas de ventanas
6. Utilidades

Software de programación: proporciona herramientas para ayudar al programador


a escribir programas informáticos y a usar diferentes lenguajes de programación de forma
práctica. Incluye entre otros:

1. Editores de texto
2. Compiladores
3. Intérpretes
4. Enlazadores
5. Depuradores

Pág. 11 de 26
División Académica de Informática y Sistemas

Software de aplicación: permite a los usuarios llevar a cabo una o varias tareas
más específicas, en cualquier campo de actividad susceptible de ser automatizado o
asistido, con especial énfasis en los negocios. Incluye entre otros:

1. Aplicaciones de automatización industrial


2. Aplicaciones ofimáticas
3. Software educativo
4. Software médico
5. Bases de datos
6. Videojuegos
7. Archivos de datos

Pág. 12 de 26
División Académica de Informática y Sistemas

ORGANIZACIÓN DE REGISTRO

Los registros son áreas del almacenamiento local dentro del procesador, que son
usadas para almacenar datos con los cuales está trabajando el procesador en un momento
dado de la ejecución de una instrucción. Cada procesador contiene cierto número de
éstos, algunos dedicados a tareas específicas y otros disponibles para uso general por los
programadores. Los registros son la memoria más rápida disponible en la PC, aún más
rápida que el caché L1, ya que éstos son la base de la estructura lógica del procesador.

La mayoría de las operaciones se realizan en los registros; el procesador por


ejemplo, no puede realizar directamente una operación aritmética en la memoria
principal (RAM). Si se desea sumar 1 a una localidad de memoria, el procesador
normalmente hará esto cargando el valor inicial de la memoria en un registro, sumar 1 al
registro, y guardando de vuelta el valor modificado a la memoria. Esto sucede muy
rápidamente y de forma transparente al programador (claro, si no se está utilizando el
lenguaje ensamblador).

El ancho (en bits) de los registros del procesador, determina cuánta información
puede manejar a la vez. Esto, a veces, es usado para determinar el tamaño del procesador.
Por ejemplo, es común escuchar hablar sobre un procesador de 16 bits o uno de 32 bits. El
tamaño del procesador normalmente se refiere al tamaño de los registros internos del
CPU. Sin embargo, el término a menudo es mal empleado, y a veces las personas se
refieren al tamaño de un procesador basándose en el ancho del bus de datos lo que no es
muy correcto.

Entre más registros internos tenga el procesador, existirá mayor flexibilidad para la
programación. Sin embargo, aumenta la complejidad del procesador.

Registros visibles al usuario

Son aquellos que pueden ser referenciados por medio del lenguaje maquina que
ejecuta el CPU. Se tienen los siguientes tipos de registros:

De uso general. El programador los asigna a diversas funciones, puede contener el


operando para cualquier código de operación. Pueden tener algunas restricciones para ser
totalmente generales, como la existencia de registros específicos para
Operaciones en punto flotantes.
De datos. Son usados únicamente para contener datos y no se pueden emplearse en el
cálculo de una dirección de operando.

Pág. 13 de 26
División Académica de Informática y Sistemas

De dirección. Son registros parcialmente generales y pueden usarse para algún modo de
direccionamientos, tales como:
• Punteros de segmento. En maquinas con direccionamiento segmentado .
• Registros indicé. Direccionamiento indexado, y pueden ser autoindexados.
• Puntero de pila. Apuntador a la cabecera de la pila.
• Códigos de condición. Es parcialmente visible al usuario, el cual contiene
códigos de condición (indicadores o “flags”). Los códigos de condición son
puestos por el hardware del CPU como resultado de una operación.
Acumulador. Las operaciones se realizan sobre este registro.
Bandera. Contienen información de control y estado.

Registros de control y de estado

Por lo general no son visibles al usuario. Se requieren por los menos los siguientes
cuatro registros esenciales para la ejecución de una instrucción:
• Contador de programa (“Program Counter”, PC). Contiene la dirección de la
instrucción a captar.
• Registro de instrucción (“Instruction Register”, IR). Contiene la instrucción
captada más recientemente.
• Registro de dirección de memoria (“Memory Address Register”,MAR). Contiene
la dirección de una posición de memoria.
• Registro intermedio de memoria (“Memory Buffer Register”, MBR). Contiene la
palabra de datos a escribir en memoria o la palabra leída más recientemente.

Pág. 14 de 26
División Académica de Informática y Sistemas

CICLO DE INSTRUCCIONES

Es el conjunto de acciones que se llevan a cabo en la realización de una instrucción.


El programa debe estar almacenado en memoria central y la CPU toma una a una las
instrucciones para realizar las tareas correspondientes.

El ciclo de instrucción incluye los siguientes subciclos:


Captación. Llevar la siguiente instrucción de memoria al CPU.
Ejecución. Interpretar el código de operación y hacer la operación indicada.
Interrupción. Si están habilitadas las interrupciones y ocurre una interrupción, se debe
salvar el proceso actual y atender la interrupción.
Ciclo indirecto. Se presenta cuando se da la captación de direcciones indirectas.

En el ciclo de captación se lee una instrucción. El PC contiene la dirección de la


siguiente instrucción, la cual es llevada a MAR y puesta en el bus de direcciones. La unidad
de control solicita una lectura de memoria, y el resultado se pone en el bus de datos, se
copia en MBR y se lleva a IR, mientras tanto, PC se incrementa en 1. Al terminar, la unidad
de control examina IR para saber si contiene un campo de operando que use
direccionamiento indirecto, en caso de ser este último se da un ciclo indirecto, donde los
N bits mas a la derecha, que contienen la dirección de referencia se transfieren a MAR,
con lo que la unidad de control hace una lectura de memoria, para llevar la dirección del
operando a MBR.

Las instrucciones pueden clasificarse de acuerdo a la cantidad de referencias a


memoria:
• 0 Direcciones: no explicita direcciones de memoria. Maquina pila.
• 1 Dirección: maquina de acumulador única.
• 1 Dirección + registro general.
• 2 Direcciones + registro general.
• 3 Direcciones. Maquinas RISC.

FASE DE BÚSQUEDA

1. La unidad de control (UC) envía una microorden para que el contenido


del registro contador de programa (RCP) que contiene la dirección de la
siguiente instrucción (la que corresponde procesar), sea transferido al
registro de dirección de memoria (RDM).
2. La posición de memoria que figura en el RDM es utilizada por el selector
para transferir su contenido (instrucción) al registro de intercambio de
memoria (RIM).

Pág. 15 de 26
División Académica de Informática y Sistemas

3. Se transfiere la instrucción desde el registro de intercambio de memoria


(RIM) al registro de instrucción (RI).
4. El decodificador procede a interpretar la instrucción que llega desde el
registro de instrucción (RI), y queda dispuesta la activación de UAL y se
informa al secuenciador.
5. El registro contador de programa se autoincrementa a través de la UAL
con un valor 1 (o n en caso de utilizar la longitud de palabra de memoria),
para quedar apuntando a la próxima instrucción consecutiva. Si la
instrucción en ejecución es de ruptura de secuencia, el CP se cargará con
la dirección que corresponda.

FASE DE EJECUCIÓN

1. Se transfiere la dirección del 1º operando desde el registro de instrucción


(RI) al registro de dirección de memoria (RDM).
2. El selector extrae de la memoria dicho dato depositándolo en el registro
de intercambio de memoria (RIM).
3. Se lleva el operando desde el registro de intercambio de memoria (RIM)
al registro de entrada 1 (REN 1) de la UAL.
4. Se transfiere la dirección del 2º operando desde el RI al registro de
dirección de memoria (RDM).
5. El selector extrae de la memoria dicho dato depositándolo en el registro
de intercambio de memoria (RIM).
6. Se lleva este operando desde el registro de intercambio de memoria
(RIM) al registro de entrada 2 (REN 2) de la UAL.
7. El secuenciador envía una microorden a la UAL para que se ejecute la
operación de que se trate. El resultado de la operación queda
almacenado en el registro acumulador (RA) ó (ACUM).
8. Este resultado es enviado desde el ACUM al registro de intercambio de
memoria (RIM).
9. Se transfiere desde el registro de instrucción (RI) al registro de dirección
de memoria (RDM) la dirección donde ha de almacenarse el resultado en
la memoria.
10. Se transfiere el resultado desde el (RIM) a la dirección de memoria
indicada en el registro de dirección de memoria (RDM).

Pág. 16 de 26
División Académica de Informática y Sistemas

Ejemplo de un ciclo de instrucción:

Pág. 17 de 26
División Académica de Informática y Sistemas

SEGMENTACIÓN DE INSTRUCCIONES

Es la técnica de solapamiento de instrucciones mediante la división de su ejecución


en etapas o segmentos.
La segmentación (“pipelining”) o segmentación de instrucciones: es en donde por
un extremo se aceptan nuevas entradas antes de que algunas entradas aceptadas
anteriormente aparezcan como salidas en el otro extremo.

Una aproximación simple, es considerar la subdivisión del procesamiento en dos


etapas: captación de instrucción y ejecución de instrucción. Los tiempos en los cuales una
instrucción no accede a memoria principal, pueden usarse para captar la siguiente
instrucción en paralelo con la ejecución de la actual, lo anterior se conoce como
prebusqueda o precaptacion de instrucción (“instruction prefetch”) o solapamiento de la
captacion (“fetch overlap”).

La segmentación disminuye el tiempo de ejecución medio por instrucción:


• Disminuyendo la duración del ciclo de reloj.
• Disminuyendo el número de CPI.
Etapas del cauce:

• Búsqueda (IF) se accede a memoria a por la instrucción


se incrementa el CP.
• Decodificación / Búsqueda de operandos (ID)
se decodifica la instrucción
se accede al banco de registros a por los registros operandos
se calcula el valor del operando inmediato con el signo extendido (por si hace falta
más adelante)
• Ejecución / Dirección efectiva (EX)
si es una instrucción de proceso, se ejecuta en la ALU
si es un acceso a memoria, se calcula la dirección efectiva
si es un salto, se calcula el destino, y si se toma o no.
Etapas del cauce (cont):
•Acceso a memoria / terminación del salto (MEM)
si es un acceso a memoria, se accede.
si es un salto, se almacena el nuevo CP.
•Almacenamiento (WB)
se almacena el resultado (si lo hay) en el banco de registros.

Pág. 18 de 26
División Académica de Informática y Sistemas

Ventajas de la segmentación:

•Principalmente: el mejor rendimiento


–ganancia en rendimiento = Nº etapas del cauce (a reloj constante)
–pero: ¡cuidado! sólo es el máximo teórico
•Es completamente Hardware =>mejor que Software
•El modelo de programación no cambia
–pero: veremos que afecta al programador (sobre todo al compilador)
•PERO: hay que tener en cuenta que el control también se vuelve más complejo.

Parones: situaciones que impiden a la siguiente instrucción que se ejecute en el ciclo que
le corresponde
Hay 3 tipos:
Estructurales: provocados por conflictos por los recursos
Por dependencia de datos (parones por datos): ocurren cuando dos instrucciones
se comunican por medio de un dato (ej.: una lo produce, y la otra lo usa)
Por dependencia de control (parones por control): ocurren cuando la ejecución de
una instrucción depende de cómo se ejecute otra (ej.: un salto, y los dos posibles
caminos)

Pág. 19 de 26
División Académica de Informática y Sistemas

UNIDAD ARITMÉTICA-LÓGICA

La unidad aritmética lógica opera los datos que recibe siguiendo las indicaciones
por la unidad de control. Esta unidad puede realizar operaciones aritméticas lógicas, por
ejemplo: el de realizar la suma, la forma en que realiza la operación.

1. Se debe tener el código de operación que indique la operación a efectuar en este


caso el código de suma.
2. Dirección de la célula en la que se encuentra almacenado el primer sumando.
3. Dirección del segundo sumando.
4. Dirección de la célula en la que se almacena el resultado.

Instrucciones para efectuar la suma.

a) Cargar el primer operando en el acumulador.


b) Sumar el segundo operando con el contenido del acumulador.
c) Cargar el contenido del acumulador en la dirección del resultado.

Una ALU debe procesar números usando el mismo formato que el resto del circuito
digital. Para los procesadores modernos, este formato casi siempre es la representación
de número binario de complemento a dos. Las primeras computadoras usaron una amplia
variedad de sistemas de numeración, incluyendo complemento a uno, formato signo-
magnitud, e incluso verdaderos sistemas decimales, con diez tubos por dígito.

Las ALU para cada uno de estos sistemas numéricos tenían diferentes diseños, y
esto influenció la preferencia actual por el complemento a dos, debido a que ésta es la
representación que hace más fácil, para el circuito electrónico de la ALU, calcular
adiciones y sustracciones, etc.

La ALU se compone básicamente de: Circuito Operacional, Registros de Entradas,


Registro Acumulador y un Registro de Estados, conjunto de registros que hacen posible la
realización de cada una de las operaciones. La mayoría de las acciones de la computadora
son realizadas por la ALU. La ALU toma datos de los registros del procesador. Estos datos
son procesados y los resultados de esta operación se almacenan en los registros de salida
de la ALU. Otros mecanismos mueven datos entre estos registros y la memoria3 . Una
unidad de control controla a la ALU, al ajustar los circuitos que le dicen a la ALU qué
operaciones realizar.

Pág. 20 de 26
División Académica de Informática y Sistemas

La mayoría de las ALU pueden realizar las siguientes operaciones simples:


• Operaciones aritméticas de números enteros (adición, sustracción, y a veces
multiplicación y división, aunque esto es más costoso)
• Operaciones lógicas de bits (AND, NOT, OR, XOR)
• Operaciones de desplazamiento de bits (Desplazan o rotan una palabra en un
número específico de bits hacia la izquierda o la derecha, con o sin extensión de
signo). Los desplazamientos pueden ser interpretados como multiplicaciones o
divisiones por 2.

Pág. 21 de 26
División Académica de Informática y Sistemas

UNIDAD DE CONTROL

La Unidad de control es el cerebro del microprocesador. Es la encargada de activar


o desactivar los diversos componentes del microprocesador en función de la instrucción
que el microprocesador esté ejecutando y en función también de la etapa de dicha
instrucción que se esté ejecutando.

La unidad de control (UC) interpreta y ejecuta las instrucciones almacenadas en la


memoria principal y genera las señales de control necesarias para ejecutarlas.

Existen dos tipos de unidades de control, las cableadas, usadas generalmente en


máquinas sencillas, y las microprogramadas, propias de máquinas más complejas. En el
primer caso, los componentes principales son el circuito de lógica secuencial, el de control
de estado, el de lógica combinacional, y el de emisión de reconocimiento señales de
control. En el segundo caso, la microprogramación se encuentra almacenada en una
micromemoria (se accede a las mismas de manera secuencial (1, 2, ..., n), y
posteriormente se ejecuta cada una de ellas).

Métodos de diseño de la unidad de control.


• Unidad de control mediante lógica cableada.
• Unidad de control microprogramada.

Unidad de control mediante lógica Cableada


• Método de diseño “lógico”. (diseño digital)
• Circuito más rápido.
• Más laborioso de diseñar. (Métodos CAD).
• Muy difícil de modificar.
• Compensa sólo en algunas máquinas.
• Métodos típicos:
• De la tabla de estados.
• De células de retardo.
• Del contador secuenciador.

Pág. 22 de 26
División Académica de Informática y Sistemas
Unidad de control microprogramada.
• Consiste en el almacenamiento de las “palabras” de control en
memoria.
• Palabra de control = conjunto de señales de control para un
periodo de reloj (= microinstrucción).

En la figura el ALU y todos los registros están conectados a través de un bus


común. Este bus no es el mismo que el bus externo que conecta al CPU con los
dispositivos de E/S. Los registros Y y Z son invisibles para el programador, sólo son
utilizados por el CPU para el almacenamiento temporal durante la ejecución de algunas
instrucciones.

Las señales de control de la unidad de control son las siguientes:

Señal activa por nombre significado


LI flanco load instruction carga una
instrucción desde el
bus de datos.
DIT nivel data intruction transfiere un dato
transfer inmediato o un
desplazamiento al
bus de datos.
Lflags flanco load flags carga los flags
después de una
instrucción
aritmética o lógica.
RESET flanco reset pone a 0 el contador
de fases.

Pág. 23 de 26
División Académica de Informática y Sistemas

MICROOPERACIONES

Quizás la microoperación mas sencilla y primordial es la de carga en paralelo ya


que es la manera en que se transfieren datos de un registro a otro. Esta operación se
representa por medio de las flechas. Para explicar mejor lo que sucede cuando se realiza
una operación de carga en paralelo supongamos que tenemos dos registros
independiente como el A y el B. Cada uno tiene información como se muestra a
continuación:

Cada uno de los registros tiene información binaria diferente dentro de sí. Cuado
nosotros realizamos una carga en paralelo B ← A la información que tenga el registro A se
transfiere al registro B pero de una manera ordenada bit a bit. Esto es, el bit mas a la
derecha del registro A pasará al bit mas a la derecha del registro B, el bit mas a la
izquierda del registro A pasará al bit mas a la izquierda del registro B y así con todos y cada
uno de los bits. A esto se le llama una carga en paralelo.

Las microoperaciones que se encuentran con mayor frecuencia en las


computadoras digitales se clasifican en cuatro categorias:

• Microoperaciones de transferencia de registros.


• Microoperaciones aritméticas que ejecutan operaciones sobre datos numéricos
almacenados en los registros.
• Microoperaciones lógicas que ejecutan operaciones de manipulación de bits sobre
datos, no numéricos almacenados en registros.
• Microoperaciones de corrimiento sobre los datos almacenados en registros.

Las microoperaciones lógicas especifican operaciones binarias para arreglos de bits


almacenados en registros.

Microoperaciones Aritmética Lógicas


Microoperaciones de Corrimiento
 Corrimiento Lógico
 Corrimiento Circular
 Corrimiento Aritmético

Pág. 24 de 26
División Académica de Informática y Sistemas

CONTROL DE LA CPU

En lugar de ejecutar cada proceso en ambas CPUs puede definir como usted lo
quiere. Por ejemplo, si desea separar el firewall y el antivirus de software de gráficos de la
aplicación.
El Control de la CPU ofrece cinco formas diferentes de controlarlo:
1. Automático: Se elige alternatingly una CPU para cada nuevo proceso
2. Manual: definir una lista, donde se puede establecer la forma de manejar cada
proceso.
3. Todos los procesos se ejecutan en la CPU 1, que es útil para aplicaciones antiguas,
que se bloquea en un sistema de doble núcleo.
4. Todos los procesos se ejecutan en la CPU 2.
5. Desactivado.

Pág. 25 de 26
División Académica de Informática y Sistemas

BIBLIOGRAFÍA

http://atc2.aut.uah.es/~juani/documentos/capitulo4.pdf
http://es.wikipedia.org/wiki/ALU
http://html.rincondelvago.com/computacion_2.html
http://atc2.aut.uah.es/~nacho/AII/tema3.v4.6.pdf
http://www.mailxmail.com/curso/informatica/conceptoscpu/capitulo3.htm
http://www.webelectronica.com.ar/news30/nota06.htm
http://es.wikipedia.org/wiki/Computer_software
http://cablemodem.fibertel.com.ar/betasoft-outlet/buses.html
http://www.unsam.edu.ar/escuelas/ciencia/alumnos/materias_cpu/unidad4.pdf
http://www.monografias.com/trabajos14/micros/micros.shtml
http://www.duiops.net/hardware/micros/micros.html
http://cs.uns.edu.ar/~jechair/organizacion/clases/15-OrgComp3.pdf
http://cs.uns.edu.ar/~jechair/organizacion/clases/14-OrgComp2%20Bw.pdf
http://es.wikipedia.org/wiki/bus_de_datos
http://es.wikipedia.org/wiki/unidad_de_contrlo
http://www.warp2search.net/contentteller/new_story/cpu_control_.html
http://www.hardware12v.com/conocimientospc/41.php
http://monografias.com/trabajos12/microco/microco.shtml#DIFER

Pág. 26 de 26

También podría gustarte