sábado, 8 de octubre de 2016

TRANSFERENCIA DE REGISTROS Y MICRO-OPERACIONES


  1. MICRO-OPERACIONES BÁSICAS DE UN MICROPROCESADOR

CARGA EN PARALELO: Quizás la micro-operació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 como ya hemos visto anteriormente. 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:


Dos registros con contenido diferente

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.



Transferencia en paralelo de información 

ARITMÉTICAS



Las micro-operaciones básicas son sumar, restar y complementar. Todas las demás operaciones aritméticas puede obtenerse de una variación o secuencia de estas micro-operaciones. La operación de multiplicación, en la mayoría de las computadoras, se ejecuta con una secuencia de micro-operaciones de suma y desplazamiento. La división se ejecuta con una secuencia de micro-operaciones de resta y desplazamiento. En la siguiente tabla se muestran las operaciones aritméticas consideradas básicas con su respectiva simbología.




Micro-operaciones aritmeticas



Nota: El apostrofe delante de un registro indica que es el complemento de dicho registro o bien que esta negado su contenido.



LÓGICAS 

Las micro-operaciones lógicas especifican operaciones binarias para una cadena de bits almacenados en los registros. Estas operaciones consideran cada bit en los registros separadamente y lo tratan como una variable binaria. Esto quiere decir que las operaciones lógicas se realizan a nivel de bit. Por ejemplo, su mi registro A contiene 1011 y mi registro B 0010 y realiza la operación A and B, el resultado se logra de realizar las operaciones 1 and 0 (bits menos significativos) 1 and 1, 0 and 0 y 1 and 0 cuyo resultado es 0010. Las micro-operaciones lógicas básicas son:
A’, negación o complemento del registro A
A٧ B, OR lógica ente A y B.
A٨B, AND lógica entre A y B
AӨB, XOR lógica entre A y B

2. MICROINSTRUCCION: Se define como el conjunto de micro órdenes que se ejecutan simultáneamente y están contenidas en una palabra de la memoria de control
Un micro-programa es una secuencia de datos binarios o micro-instrucciones que representan señales eléctricas internas de la unidad de control de un microprocesador.

Unas pocas de estas micro-instrucciones implementan una instrucción completa del microprocesador. Por ejemplo, la instrucción "sumar dos registros" típica de cualquier microprocesador, se implementa mediante la activación y desactivación de un conjunto reducido de señales eléctricas en el banco de registros y la unidad aritmético-lógica. En concreto, el micro-programa de esta instrucción significaría:

1. Activar las señales de selección de registro como primer operando de la ALU.
2. Activar las señales de selección de registro como segundo operando de la ALU. 
3. Activar las señales de selección de operador para que corresponda a la suma en la ALU. 4. Esperar unos ciclos de reloj hasta que la operación esté completada. 
5.Activar la señal de escritura en el registro acumulador.

3. Cuál es la función de los registros del procesador ante el desarrollo de micro-operaciones?

Un sistema de cómputo exige de la CPU la realización de varias funciones, captar instrucciones, interpretar instrucciones, captar datos, procesar datos y escribir datos, para que microprocesador  pueda realizar las tareas en un sistema de cómputo, es necesario que la CPU almacene alguna información de forma temporal. Esta información debe contener en un almacenamiento temporal la instrucción a ejecutar, los datos sobre los que debe operar, la dirección de la instrucción o dato a cargar en la ALU, las direcciones de salto o llamado, de forma que pueda saber dónde ir a buscar la siguiente instrucción. os anteriores hacen necesario que la CPU requiera de una memoria interna, es as+ como en la CPU, existe un conjunto de registros funcionando como un nivel de memoria que está por encima de la memoria principal y la cache, estos registros se conocen como la matriz de registros y pueden ser de dos tipos:

a). Registros visibles para el usuario: Permiten al programador de lenguaje máquina o ensamblador, minimizar las referencias a memoria principal optimizando el uso de estos registros, estos registros se pueden referenciar mediante lenguaje máquina, están disponibles para todos los programas (de sistemas y aplicación).

b). Registros de control y de estado: Utilizados por la Unidad de Control para controlar las operaciones del procesador, y por los programas o rutinas con privilegios del Sistema Operativo para controlar la ejecución del programa.

4. Diferencias entre un lenguaje ensamblador y un lenguaje de programación
El lenguaje de máquina o código máquina es el sistema de códigos directamente interpretable por un circuito micro-programable, como el microprocesador de una computadora o el micro-controlador de un autómata. Este lenguaje está compuesto por un conjunto de instrucciones que determinan acciones al ser tomadas por la máquina. 

El ensamblador es un lenguaje de programación de bajo nivel para los computadores, microprocesadores, micro-controladores y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios 1 y 0 y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. 

Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas.


martes, 4 de octubre de 2016

ARQUITECTURA DEL MICROPROCESADOR

1.
  
FUNCIONAMIENTO BUSES DEL PROCESADOR


BUS DE DIRECCIONES
Este es un bus unidireccional debido a que la información fluye es una sola dirección, de la CPU a la memoria ó a los elementos de entrada y salida. La CPU sola puede colocar niveles lógicos en las n líneas de dirección, con la cual se genera 2n posibles direcciones diferentes. Cada una de estas direcciones corresponde a una localidad de la memoria ó 
dispositivo de E / S.

BUS DE DATOS
Este es un bus bidireccional, pues los datos pueden fluir hacia o desde la CPU. Los m terminales de la CPU, de D0 - Dm-1, pueden ser entradas o salidas, según la operación que se esté realizando (lectura o escritura ) . En todos los casos, las palabras de datos transmitidas tiene m bits de longitud debido a que la CPU maneja palabras de datos de m bits; del número de bits del bus de datos, depende la clasificación del microprocesador.

BUS DE CONTROL
Este conjunto de señales se usa para sincronizar las actividades y transacciones con los periféricos del sistema. Algunas de estas señales, como R / W , son señales que la CPU envía para indicar que tipo de operación se espera en ese momento. Los periféricos también pueden remitir señales de control a la CPU, como son INT, RESET, BUS RQ.

Las señales más importantes en el bus de control son las señales de cronómetro, que generan los intervalos de tiempo durante los cuales se realizan las operaciones. Este tipo de señales depende directamente del tipo del microprocesador.

2.

BLOQUES DEL PROCESADOR

CARACTERISTICAS

FUNCIONES

Unidad Aritmético Lógica (ALU)
Se compone de:
Un circuito operacional, registro de entrada, registro acumulador y registro de estado.
Lleva a cabo las operaciones aritméticas y lógicas.


Unidad de Control
Dirige y coordina la mayoría de las operaciones en la computadora.
Buscar las instrucciones en la memoria principal, las decodifica y las ejecuta.

Memoria
- Volatilidad de la información
- Accesibilidad secuencial o  aleatoria a información
- Capacidad de memoria
Almacena datos y programas.



Dispositivos de Entrada y Salida
- Entrada: Son aquellos que sirven para introducir datos a la computadora para su proceso.
- Salida: Son aquellos que reciben información de la computadora.
Alimentan la memoria con datos e instrucciones y entregan los resultados de computo almacenados en memoria


Buses
Se caracteriza por la cantidad de información que se transmite en forma simultánea.
Proporcionan un medio para transportar los datos e instrucciones entre los registros.



3. FUNCION DE LA ALU EN EL MICROPROCESADOR
Los microprocesadores modernos tienen dentro de ellos un ALU muy complejo y poderoso. De hecho, un microprocesador moderno puede tener múltiples núcleos, cada núcleo con múltiples unidades de ejecución, cada una de ellas con múltiples ALU.
La Unidad Aritmético-Lógica (ALU) lleva a cabo las funciones de procesamiento de datos.


4. DIFERENCIAS ENTRE UNA ALU Y UNA FPU
La Unidad Aritmético-Lógica (ALU) es la encargada de hacer operaciones aritméticas como (suma, resta, multiplicación) y la (FPU) Unidad de Punto Flotante es la encargada de realizar operaciones sobre los números decimales por tanto estas unidades suelen  ser más complejas.


5. DIAGRAMA DE BLOQUES