Logo Studenta

fundamentos teoricos definitivo

¡Estudia con miles de materiales!

Vista previa del material en texto

Fundamentos Teóricos. 
 
Introducción al microprocesador. 
La Unidad Central de Proceso (CPU), es un circuito de alta escala de integración 
compuesto por millones de transistores, encargado del control y ejecución de las 
operaciones lógicas que se llevan a cabo dentro de un ordenador. 
Está formado por la unidad de control (UC), la unidad aritmético-lógica (ALU) y la 
memoria interna. El procesador gestiona lo que recibe y envía la memoria desde y hacia 
los periféricos mediante la unidad de entrada salida, los buses y los controladores del 
sistema. 
Las operaciones más frecuentes en las cuales se ve involucrado el microprocesador, 
son aquellas que van hacia la memoria o hacia los dispositivos de entrada y salida, 
donde ocurre un intercambio de datos. A través de la ALU, es capaz de ejecutar 
operaciones aritméticas y lógicas. 
Los ciclos de instrucción, de acuerdo con Von Newman, se llevan a cabo entre dos 
componentes básicos: el CPU y la memoria, en la siguiente forma: 
El CPU ejecuta los programas que se almacenan en la memoria principal, 
recuperando la instrucción que en ella se almacena, decodificándola y finalmente 
ejecutándola. Este ciclo se lleva a cabo con todas las instrucciones que estén 
almacenadas en la memoria. En los procesadores modernos, estos ciclos se pueden 
ejecutar en forma simultánea, de acuerdo al tipo de procesador; antiguamente, los 
procesadores ejecutaban una instrucción a la vez. 
El microprocesador está dividido en dos bloques funcionales que trabajan en modo 
asíncrono para maximizar el rendimiento en las operaciones, estos bloques son los 
siguientes: 
- Unidad de ejecución: en este bloque, como su nombre lo indica, se ejecutan las 
instrucciones. Está compuesto por los registros de propósito general, de 
banderas y la unidad aritmético lógica (ALU), que es aquella que se encarga de 
realizar las operaciones aritméticas básicas, además de las lógicas, que estén 
presentes en las instrucciones recibidas por la unidad. 
- Unidad de interfaz de bus: en este bloque se concentran los procesos que 
conectan al microprocesador con el exterior, es decir, todas aquellas 
operaciones de lectura y escritura provenientes de la unidad de ejecución. Una 
característica relevante de este bloque, es su capacidad de almacenar las 
instrucciones en una cola con anticipación, para luego transferirlas a la unidad 
de ejecución al momento de ser ejecutadas. 
 
Los registros de propósito general, permiten al programador almacenar, calcular, 
repetir y acceder a distintos tipos de datos, de acuerdo a lo que el programador codifique 
en las instrucciones. Estos registros son: 
- AX: registro acumulador, permite almacenar el resultado de las operaciones 
aritmético-lógicas que se ejecuten. 
- BX: registro base, permite calcular direcciones relativas de los datos en memoria. 
- CX: registro contador, permite indicar el número de veces que un determinado 
ciclo de instrucciones deberá repetirse. 
- DX: registro de datos, permite acceder a variables almacenadas en memoria. 
 
Adicional a estos registros, existen otros tipos, que cumplen funciones distintas a las 
de los registros de propósito general. Entre ellos, tenemos los siguientes: 
Apuntadores de pila y de base (SP, BP): registros con los cuales se puede apuntar a 
direcciones de memoria específicas. El registro SP, controla el acceso de los datos a la 
pila para almacenarlos en forma temporal. El registro BP, proporciona direcciones para 
la transferencia e intercambio de datos. 
Registros índices (SI, DI): registros que operan con cadenas de datos. El registro SI, 
suministra la dirección inicial para que una cadena sea manipulada. El registro DI, 
suministra la dirección de destino de una cadena a ser almacenada luego de una 
operación de transferencia. 
Registros de segmento (CS, DS, ES, SS): en el caso de estos registros, contienen 
determinadas direcciones donde son almacenadas variables o donde se reservan áreas 
en memoria para la pila o el inicio del programa. En específico, el registro CS contiene 
la dirección base de inicio del programa, los registros DS y ES, contienen la dirección 
base del área de memoria donde se almacenan las variables del programa, y el registro 
SS contiene la dirección base del lugar donde se inicia el área de memoria reservada 
para la pila. 
Registro apuntador de instrucciones (IP): este registro contiene la dirección de 
desplazamiento del lugar de memoria donde está la siguiente instrucción a ejecutar. 
Registros de estado o banderas: estos registros tienen como propósito almacenar el 
estado de las diferentes condiciones que maneja el microprocesador, las cuales 
cambian al ejecutarse una operación aritmética o lógica. Las funciones de cada bandera 
se explican a continuación: 
- CF (Acarreo): se activa en caso de que una suma o resta genere acarreo. 
- OF (Sobreflujo): se activa en caso de que el resultado de una suma o resta 
sobrepase la capacidad de almacenamiento del registro donde se almacena. 
- SF (Signo): se activa en caso de que el resultado de una operación sea negativo. 
- DF (Dirección): se activa cuando el sentido de transferencia de las operaciones 
de manipulación de cadenas es de derecha a izquierda. 
- ZF (Cero): se activa si el resultado de una operación aritmética o lógica es cero. 
- IF (Interrupción): activa y desactiva la terminal INTR del microprocesador. 
- PF (Paridad): se activa si la paridad de un número es par. 
- AF (Acarreo auxiliar): se activa si ocurre acarreo en los bits 3 al 4 en una 
operación de suma o resta. 
- TF (Trampa): esta bandera funciona como control de ejecución de un programa 
paso a paso. 
 
Modos de direccionamiento del microprocesador. 
Los modos de direccionamiento son métodos a través de los cuales el CPU accede 
a los datos que están siendo procesados. Entre ellos, tenemos los siguientes: 
- Direccionamiento de registro: cuando el operando está en uno de los registros 
del procesador y es seleccionado por un campo de registro en la instrucción. 
- Direccionamiento inmediato: cuando el operando figura en la instrucción y no su 
dirección, es decir, la instrucción contiene la información a operar. 
- Direccionamiento directo: cuando el campo del operando es la dirección efectiva, 
es decir, el campo de dirección no necesita transformación para dar la dirección 
efectiva. 
- Direccionamiento indirecto de registro: cuando el campo del operando de la 
instrucción indica la dirección efectiva del operando. 
- Direccionamiento base más índice: cuando la dirección del operando se calcula 
sumando un registro de la CPU al campo del operando, el cual se denomina 
como registro índice. 
- Direccionamiento de base relativa más índice: cuando el registro índice indica el 
desplazamiento que se produce a partir de una dirección de memoria que forma 
parte de la instrucción. 
- Direccionamiento de índice escalado: cuando la instrucción contiene un factor 
de escalado que afecta a la dirección efectiva. 
 
Instrucciones de salto. 
El CPU cuenta con los siguientes modos de direccionamiento de la memoria de 
programa: 
- Intrasegmento: salto hacia cualquier parte dentro del segmento de código que 
se está ejecutando. Puede ser directo o indirecto, y esto va a depender de tipo 
de direccionamiento del microprocesador. 
- Intersegmento directo: salto hacia cualquier ubicación de memoria dentro de 
todo el sistema de memoria. Puede ser directo o indirecto, en función del tipo de 
direccionamiento del microprocesador. 
- Salto incondicional: permite desplazar la ejecución del programa hacia la 
dirección especificada en el operando, y continuar ahí la misma. 
- Salto condicional: permite pasar de un segmento de código a otro sin que estos 
sean consecutivos, y sin activar etapas intermedias. 
 
 
 
Instrucción de comparación. 
La instrucción de comparación se usa para evaluar dos números, de los cuales, uno 
puede estar almacenadoen memoria. 
 
Arquitectura del microprocesador. 
 
Existen dos tipos de arquitectura, que obedecen a tipos de tecnologías diferentes. 
Las mismas se describen a continuación. 
 
Arquitectura RISC 
Es un procesador tradicional, dotado de complejas operaciones especializadas. 
Utiliza un sistema de direcciones en RAM, conservando en la memoria los operandos y 
el resultado lo que facilita a los compiladores conservar llenos los 'pipelines' para 
utilizarlos concurrentemente y reducir la ejecución de nuevas operaciones. 
En esta tecnología, el conjunto de instrucciones se pueden ejecutar en la misma 
cantidad de tiempo usando un control cerrado, sus formatos de instrucción son simples 
y uniformes, utiliza menos ciclos de reloj, conserva sus operaciones en la memoria, así 
como el resultado, donde cada instrucción puede ser ejecutada en un solo ciclo de la 
CPU; la longitud de las instrucciones es fija, y las instrucciones de carga y 
almacenamiento acceden a la memoria por los datos; tiene pocos modos de 
direccionamiento. 
 
Arquitectura CISC 
Reduce la potencia y complejidad de las instrucciones, aumentando su velocidad de 
proceso como compensación. Esta arquitectura fue creada para que los programas 
fueran más sencillos. Debido a la masificación de los PC, permitió que el mercado fuera 
luego copado de software creado para procesadores CISC. Reduce la dificultad de crear 
compiladores, permite reducir el costo total del sistema, reduce los costos de creación 
de software, y mejora la compactación de código. Tiene menos acceso a la memoria, 
ya que cada instrucción es interpretada.

Continuar navegando

Materiales relacionados

9 pag.
arq-teo06

SIN SIGLA

User badge image

David Ff

35 pag.
Cap10-2009-ARM7-apunte

UBAM

User badge image

Contenidos Muy Locos