Organización Del Procesador

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 12

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS


CARRERA DE INGENIERÍA EN NETWORKING Y
TELECOMUNICACIONES

TRABAJO DE EXPOSICIÓN GRUPAL

TEMA:
ORGANIZACIÓN DEL PROCESADOR

MATERIA:
ORGANIZACION Y ARQUITECTURA COMPUTACIONAL

INTEGRANTES:
ESPINOZA WILSON
MENDEZ MOISES
MORAN MICK
QUIROZ GEOVANNY
TORRES JHON

DOCENTE:
ING. MARIELA ESPINZA

CURSO:
INE 5-1

CICLO
2019-2020 CI
ORGANIZACIÓN DEL PROCESADOR
Un procesador, incluye tanto registros visibles por el usuario como registros de
control/estado. Los registros visibles por el usuario pueden ser de uso general o tener
una utilidad especial, mientras que los registros de control y estado se usan para
controlar el funcionamiento del procesador, un claro ejemplo es el contador de
programa.
Los procesadores utilizan la segmentación de instrucciones para acelerar la ejecución.
La segmentación de cauce se puede dividir en ciclo de instrucción en varias etapas
separadas que operan secuencialmente, tales como la captación de instrucción,
decodificación de instrucción, cálculo de direcciones de operando, ejecución de
instrucción y estructura del operando resultado.
A continuación se muestra cómo se organiza un procesador, para esto se tiene que
considerar los siguientes requisitos:
Captar instrucciones: el procesador lee una instrucción de memoria (registro, cache o
memoria principal).
Interpretar instrucción: la instrucción se codifica para determinar qué acción es
necesario.
Captar datos: la ejecución de una instrucción puede exigir leer datos de memoria o de
un módulo de E/S.
Procesar datos: la ejecución de una instrucción puede exigir llevar a cabo alguna
operación aritmética o lógica con los datos.
Escribir datos: los resultados de una ejecución pueden exigir escribir datos en la
memoria o en el módulo de E/S.
Para hacer estas cosas, el procesador necesita almacenar instrucciones y datos
temporalmente mientras una instrucción esta ejecutándose, en otras palabras el
procesador necesita una pequeña memoria interna.
Figura 12.1 El procesador y el bus del sistema
En esta figura se muestra una visión simplificada de un procesador, que indica su
conexión con el resto de sistema, a través del bus del sistema. La ALU lleva a cabo el
verdadero cálculo o procesamiento de datos. La unidad de control controla la
transferencia de datos e instrucciones así a dentro y así afuera del procesador, y el
funcionamiento de la ALU. Además la figura muestra una memoria interna mínima, que
consta de un conjunto de posiciones de almacenamiento llamadas registros.

Figura 12.2 Estrucutra interna del procesador

En esta figura se indican los caminos de transferencia de datos y de la lógica de control,


que incluye un elemento con el rotulo bus interno del procesador. También se muestran
los elementos básicos típicos de la ALU. Hay que observar la similitud entre la estructura
interna del computador en su totalidad y la estructura interna del procesador. En ambos
casos hay una pequeña colección de elementos principales (computador: procesador,
E/S, memoria; procesador: unidad de control, ALU, registros) conectados por caminos
de datos.
CICLO DE EJECUCIÓN DE LAS INSTRUCCIONES
En cada fase se incluyen una o varias operaciones que hay que hacer. Para llevar a cabo
estas operaciones, nombradas microoperaciones, es necesaria una compleja gestión de
las señales de control y de la disponibilidad de los diferentes elementos del procesador,
tarea realizada por la unidad de control.
Veamos las operaciones principales que se realizan habitualmente en cada una de las
cinco fases del ciclo de ejecución de las instrucciones;
Fase1.Lecturam de la instrucción
Las operaciones realizadas en esta fase son las siguientes:
a) Leer la instrucción: Cuando leemos la instrucción, el registro contador del programa
(PC) nos indica la dirección de memoria donde está la instrucción que hemos de leer. Si
el tamaño de la instrucción es superior a la palabra de la memoria, hay que hacer tantos
accesos a la memoria como sean necesarios para leerla completamente y cargar toda
esta información en el registro de instrucción (IR).
b) Descodificar la instrucción. Se identifican las diferentes partes de la instrucción para
determinar qué operaciones hay que hacer en cada fase del ciclo de ejecución.
Esta tarea la realiza la unidad de control del procesador leyendo la información que
hemos cargado en el registro de instrucción
c) Actualizar el contador del programa. El contador del programa se actualiza según el
tamaño de la instrucción, es decir, según el número de accesos a la memoria que hemos
hecho para leer la instrucción.
Las operaciones de esta fase son comunes a los diferentes tipos de instrucciones que
encontramos en el juego de instrucciones.
Fase 2. Lectura de los operandos fuente. Esta fase se debe repetir para todos los
operandos fuente que tenga la instrucción. Las operaciones que hay que realizar en esta
fase dependen del modo de direccionamiento que tengan los operandos:
Para los más simples, como el inmediato o el directo a registro, no hay que hacer ninguna
operación;
Para los indirectos o los relativos, hay que hacer cálculos y accesos a memoria. Si el
operando fuente es implícito, vamos a buscar el dato en el lugar predeterminado por
aquella instrucción.
Fase 3. Ejecución de la instrucción y almacenamiento del operando de
destino(resultado)
Las operaciones que hay que realizar en esta fase dependen del código de operación
De la instrucción y del modo de direccionamiento que tenga el operando destino.
Ejecución de la instrucción
Las operaciones que se llevan a cabo son diferentes para cada código de operación.
Durante la ejecución, además de obtener el resultado de la ejecución de la instrucción,
se pueden modificar los bits de resultado de la palabra de estado del procesador.
Almacenamiento del operando de destino(resultado)
La función básica es recoger el resultado obtenido durante la ejecución y guardarlo
En el lugar indicado por el operando, a menos que el operando sea implícito, en cuyo
caso se guarda en el lugar predeterminado por aquella instrucción.
El operando de destino puede ser uno de los operandos fuente; de esta manera, no hay
que repetirlos cálculos para obtener la dirección del operando.
Fase 4. Comprobación de interrupciones
En esta fase se verifica si se ha activado alguna línea de petición de interrupción del
procesador en el transcurso de la ejecución de la instrucción. Si no se ha activado
ninguna, continuamos el proceso normalmente; es decir, se acaba la ejecución de la
instrucción en curso y se empieza la ejecución de la instrucción siguiente. En caso
contrario, hay que transferir el control del procesador a la rutina de servicio de
interrupción que debe atender esta interrupción y hasta que no se acabe no podemos
continuar la ejecución de la instrucción en curso.
Para atender la interrupción, es necesario llevar a cabo algunas operaciones
(intentaremos almacenar la mínima información para que el proceso sea tan rápido como
se pueda) para transferir el control del procesador a la rutina de servicio de
interrupciones, de manera que, después, lo podamos recuperar con la garantía de que el
procesador estará en el mismo estado en el que estaba antes de transferir el control a la
rutina de servicio de interrupción:
• Almacenar el contador del programa y la palabra de estado (generalmente, se guardan
en la pila).
• Almacenar la dirección donde empieza la rutina para atender la interrupción en el
contador del programa.
• Ejecutar la rutina de servicio de interrupción.
• Recuperar el contador del programa y la palabra de estado.
SEGMENTACIÓN DE LAS INSTRUCCIONES
La segmentación de las instrucciones (pipeline) consiste en dividir el ciclo de ejecución
de las instrucciones en un conjunto de etapas. Estas etapas pueden coincidir o no con las
fases del ciclo de ejecución de las instrucciones.
La división de la ejecución de una instrucción en diferentes etapas se debe realizar de tal
manera que cada etapa tenga la misma duración, generalmente un ciclo de reloj.
REGISTROS

los registros son básicamente elementos de memoria de acceso rápido que se encuentran
dentro del procesador. Constituyen un espacio de trabajo para el procesador y se utilizan
como un espacio de almacenamiento temporal.

Los procesadores difieren en el numero de registros, en el tipo de registros y en el tamaño


de cada registro una posible clasificación de los registros del procesador es la siguiente.

Registro de propósito general.

Son los registros que suelen utilizarse como operaciones en la instrucción del
ensamblador, estos registros se pueden asignar a funciones concretas: datos o
direccionamiento. En algunos procesadores todos los registros se puedes utilizar para
todas las funciones

Los registros de datos.

Se pueden diferenciar por el formato y el tamaño de los datos que almacenan, por
ejemplo, puede hacer registros para números enteros y registros para número con punto
flotante

Los registros de direccionamiento.

Se utilizan para acceder a memoria y pueden almacenar direcciones por ejemplo acceder
a la pila dirigida segmentos de memoria o hacer de soporte en la memoria virtual

Registro de instrucción.

Existen dos registros principales relacionados al acceso y estos son:

Program conter(PC): registro contador de programas contiene la dirección de la


instrucción siguiente que hay que leer de la memoria

Instruction registrer (IR): registro de instrucción contiene la instrucción que hay que
ejecutar.

Registro de acceso a memoria.

Existen dos registros para cualquier operación de lectura o escritura de memoria

Memory address register (MAR): registro de dirección de memoria donde ponemos la


dirección de moria a la que queremos acceder
Memory buffer register(MBR): registros de datos de memoria; registro donde la memoria
deposita el estado leído o el estado que queremos escribir

La manera de acceder a memoria utilizando estos registros es la siguiente:

1) en una operación de lectura se realiza la secuencia de operaciones siguientes

a) El procesador carga en el registro MAR la dirección de la posición de memoria


que se quiere leer
b) El procesador coloca en la línea de direcciones del bus el contenido del MAR y
activa la señal de lectura de memoria;
c) El MBR se cargar con el dato obtenido de la memoria;

2) una operación de escritura se realiza la secuencia de operaciones siguiente:

a) El procesador carga en el registro MBR la palabra que quiere escribir en la


memoria
b) El procesador carga en el registro MAR la dirección de la posición de memoria
donde se quiere escribir el dato.
c) El procesador coloca en las líneas de dirección del bus el contenido de la MAR y
en las líneas de datos del bus, el contenido del MBR, y activa la señal de escritura
de la memoria.

Registro de estado y control.

La información sobre el estado del procesador puede estar almacenada en un registro o


en mas de uno, aunque habitualmente suele ser un único registro denominado registro
de estado.

Los bits del registro de estado son modificados por el procesador como resultado de las
ejecuciones de algunos tipos de instrucciones, por ejemplo, instrucciones aritméticas o
lógicas como consecuencia de algún acontecimiento como las peticiones de interrupción.
Estos bits son parcialmente visibles para el programador, en algunos casos mediante la
ejecución de instrucciones específicas.

Cada bit o conjunto de bit del registro de estado indica una información concreta. Los
más habituales son:
 Bit de cero: se activa si el resultado es cero.
 Bit de transporte: se activa si en el ultimo bit que operamos es una operación
aritmética se produce transporte (operación de desplazamiento).
 Bit de desbordamiento: se activa si la última operación ha producido un resultado
que no se puede representar en el formato que estamos utilizando.
 Bit de interrupción: indica si las interrupciones están habilitadas o inhibidas.
 Bit de signo: se activa se el resultado obtenido es negativo
 Bit de modo de operación: indica si en la operación se ejecuta en modo supervisor
o en modo usuario. También existen instrucciones que solo se ejecutan en modo
supervisor
 Indica el nivel de privilegio de un programa en ejecución. Un programa puede
desalojar al programa que se ejecuta actualmente si su nivel de privilegio es
superior.

Los registros de control son los que dependen más de la organización del procesador

UNIDAD ARITMÉTICA Y LÓGICA


La unidad aritmética y lógica o ALU es un circuito combinacional capaz de realizar
operaciones aritméticas y lógicas con números enteros y también con números reales.
Las operaciones que puede efectuar vienen definidas por el conjunto de Instrucciones
aritméticas y lógicas de las que dispone el juego de instrucciones del computador.

Representación de los valores enteros y reales con los cuales puede trabajar la ALU, y
las operaciones que puede realizar:
1) Números enteros: Los números enteros se pueden representar utilizando
diferentes notaciones, entre las cuales hay signo magnitud, complemento a 1 y
complemento a 2. La notación más habitual de los computadores actuales es el
complemento a 2

2) Números reales. Los números reales se pueden representar básicamente de dos


maneras diferentes: en punto fijo y en punto flotante. El computador es capaz de
trabajar con números reales representados en cualquiera de las dos maneras.
El IEEE ha definido una norma para representar números reales en punto flotante: IEEE-
754.La norma define diferentes formatos de representación de números binarios en
punto flotante. Los más habituales son los siguientes:
• Precisión simple: números binarios en punto flotante de 32 bits, utilizan un bit
de signo, 8 bits para el exponente y 23 para la mantisa.
• Doble precisión: números binarios en punto flotante de 64 bits, utilizan un bit
de signo, 11 bits para el exponente y 52 para la mantisa.
• Cuádruple precisión: números binarios en punto flotante de 128 bits, utilizan
un bit de signo, 15 bits para el exponente y 112 para la mantisa.

La norma define también la representación del cero y de valores especiales, como infinito
y NaN (not a number).
Las operaciones aritméticas habituales que puede hacer una ALU incluyen suma, resta,
multiplicación y división. Además, se pueden incluir operaciones específicas de
incremento positivo (+1) o negativo (–1).

Dentro de las operaciones lógicas se incluyen operaciones AND, OR, NOT,


XOR, operaciones de desplazamiento de bits a la izquierda y a la derecha y operaciones
de rotación de bits.

UNIDAD DE CONTROL
La unidad de control se puede considerar el cerebro del computador. Como el cerebro,
está conectada al resto de los componentes del computador mediante las señales de
control
La función básica de la unidad de control es la ejecución de las instrucciones, pero su
complejidad del diseño no se debe a la complejidad de estas tareas (que en general son
muy sencillas), sino a la sincronización que se debe hacer de ellas.
MICROOPERACIONES
Ejecutar un programa consiste en ejecutar una secuencia de instrucciones, y cada
instrucción se lleva a cabo mediante un ciclo de ejecución que consta de las fases
principales siguientes:
1) Lectura de la instrucción.
2) Lectura de los operandos fuente.
3) Ejecución de la instrucción y almacenamiento del operando de destino.
4) Comprobación de interrupciones.
Cada una de las operaciones que hacemos durante la ejecución de una instrucción la
denominamos micro operación, y estas micro operaciones son la base para diseñar la
unidad de control.
Contamos con tres tipos de micro operaciones:
1) Transferencia interna: operaciones de transferencia entre registros internos del
procesador.
2)Transferencia interna con transformación: operaciones aritméticas o lógicas
utilizando registros internos del procesador.
3) Transferencia externa: operaciones de transferencia entre registros internos del
procesador y registros externos al procesador o módulos externos al procesador

SEÑALES DE CONTROL Y TEMPORIZACIÓN


Para optimizar el tiempo de ejecución de cada fase y, por lo tanto, de la instrucción, hay
que intentar ejecutar simultáneamente dos o más microoperaciones en un mismo paso de
ejecución
La agrupación de microoperaciones debe seguir básicamente dos reglas:
1) Debe seguir la secuencia correcta de acontecimientos. No se puede ejecutar una
microoperación que genera u obtiene un dato al mismo tiempo que otra
microoperación que lo ha de utilizar.
2) Hay que evitar los conflictos. No se puede utilizar el mismo recurso para dos
microoperaciones diferentes

UNIDAD DE CONTROL CABLEADA


La unidad de control cableada es, básicamente, un circuito combinacional que recibe un
conjunto de señales de entrada y lo transforma en un conjunto de señales de salida que
son las señales de control.
Esta técnica es la que se utiliza típicamente en máquinas RISC.

Estas técnicas se pueden clasificar en dos categorías:


• Control cableado.
• Control microprogramado.

COMPARACIÓN: UNIDAD DE CONTROL MICROPROGRAMADA Y CABLEADA


A continuación presentamos las ventajas e inconvenientes de la unidad de
control microprogramada respecto a la unidad de control cableada.
Las ventajas son:
• Simplifica el diseño.
• Es más económica.
• Es más flexible:
– Adaptable a la incorporación de nuevas instrucciones.
– Adaptable a cambios de organización, tecnológicos, etc.
• Permite disponer de un juego de instrucciones con gran número de instrucciones. Solo
hay que poseer una memoria de control de gran capacidad.
• Permite disponer de varios juegos de instrucciones en una misma máquina (emulación
de máquinas).
• Permite ser compatible con máquinas anteriores de la misma familia.

Los inconvenientes son:


• Es más lenta: implica acceder a una memoria e interpretar las microinstrucciones
necesarias para ejecutar cada instrucción.
• Es necesario un entorno de desarrollo para los microprogramas.
• Es necesario un compilador de microprogramas.

Bibliografía
[1] David, «ARQUITECTURA DE COMPUTADORAS,» blogspot, 12 09 2012. [En línea]. Available:
http://arquitecturadecomputadorass.blogspot.com/2012/09/organizacion-del-
procesador.html. [Último acceso: 24 07 2019].

Estructuras de computadores.pdf

También podría gustarte