ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

La arquitectura de computadoras

alex3mTesina4 de Diciembre de 2012

8.874 Palabras (36 Páginas)478 Visitas

Página 1 de 36

Trabajo de investigación.

Explicar el funcionamiento de cada componente de un sistema mínimo y un ejemplo de en VHDL de cada uno de ellos.

Introducción.

Arquitectura de computadoras

La arquitectura de computadoras es el diseño conceptual y la estructura operacional fundamental de un sistema de computadora. Es decir, es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para varias partes de una computadora, con especial interés en la forma en que la unidad central de proceso (CPU) trabaja internamente y accede a las direcciones de memoria. También suele definirse como la forma de seleccionar e interconectar componentes de hardware para crear computadoras según los requerimientos de funcionalidad, rendimiento y costo. El ordenador recibe y envía la información a través de los periféricos por medio de los canales. El CPU es el encargado de procesar la información que le llega al ordenador. El intercambio de información se tiene que hacer con los periféricos y el CPU. Todas aquellas unidades de un sistema exceptuando la UCP se denomina periférico, por lo que el ordenador tiene dos partes bien diferenciadas, que son: el CPU (encargado de ejecutar programas y que está compuesta por la memoria principal, la ALU y la UC) y los periféricos (que pueden ser de entrada, salida, entrada-salida y comunicaciones).La implantación de instrucciones es similar al uso de una serie de desmontaje en una fábrica de manufacturación. En las cadenas de montaje, el producto pasa a través de muchas etapas de producción antes de tener el producto desarmado. Cada etapa o segmento de la cadena está especializada en un área específica de la línea de producción y lleva a cabo siempre la misma actividad. Las arquitecturas y los conjuntos de instrucciones se pueden clasificar considerando los siguientes aspectos:

Almacenamiento de operativos en el CPU: dónde se ubican los operadores aparte de la sustractora informativa (SI)

•Número de operandos explícitos por instrucción: cuántos operandos se expresan en forma explícita en una instrucción típica. Normalmente son 0, 1, 2y 3.

•Posición del operando: ¿Puede cualquier operando estar en memoria?, o deben estar algunos o todos en los registros internos del CPU. Cómo se especifica la dirección de memoria (modos de direccionamiento disponibles).

•Operaciones: Qué operaciones están disponibles en el conjunto de instrucciones.

•Tipo y tamaño de operandos y cómo se especifican.

Unidad Aritmético Lógica (ALU)

La ALU (Aritmethic Logic Unit) es el bloque funcional del microprocesador encargado de realizar todas aquellas operaciones matemáticas. Las operaciones que realiza son las siguientes: suma, resta, multiplicación, división y aquellas que trabajan con dígitos binarios (10 que se conoce como operaciones lógicas: ANO, NOR, NOT, NANO, OR, X-OR, etc.). En suma, saber cómo funciona un microprocesador, implica conocer cómo se van ejecutando cada una de las instrucciones del programa que se almacena en memoria. Los pasos globales que se siguen a la hora de consumar una instrucción son: Esta unidad se encarga de realizar las operaciones elementales de tipo aritmético (sumas, restas, productos, divisiones) y de tipo lógico (comparaciones).A través de un bus interno se comunica con la unidad de control la cual le envíalos datos y le indica la operación a realizar.

Búsqueda de la instrucción Decodificación de la instrucción Búsqueda de operandos Ejecución de la instrucción Almacenamiento del resultado

La ALU está formada a su vez por los siguientes elementos:

Circuito operacional

Contiene los circuitos necesarios para la realización de las operaciones con los datos procedentes de los registros de entrada (REN). Este circuito tiene unas entradas de órdenes para seleccionar la clase de operación que debe realizar encada momento (suma, resta, etc.).

Registros de entrada (REN)

En ellos se almacenan los datos u operandos que intervienen en una instrucción antes de la realización de la operación por parte del circuito operacional. También se emplean para el almacenamiento de resultados intermedios o finales de las operaciones respectivas.

Registro acumulador

Almacena los resultados de las operaciones llevadas a cabo por el circuito operacional. Está conectado con los registros de entrada para realimentación en el caso de operaciones encadenadas. Asimismo tiene una conexión directa al bus de datos para el envío de los resultados a la memoria central o a la unidad de control.

Registro de estado (flags)

Se trata de unos registros de memoria en los que se deja constancia algunas condiciones que se dieron en la última operación realizada y que habrán de ser tenidas en cuenta en operaciones posteriores. Por ejemplo, en el caso de hacer una resta, tiene que quedar constancia si el resultado fue cero, positivo o negativo. Se conoce como set de instrucciones al conjunto de instrucciones que es capaz de entender y ejecutar un microprocesador. En función del tipo de microprocesador, concretamente si es más avanzado o no, podrá entender y ejecutar más o menos instrucciones. Las instrucciones se clasifican según su función en:

Instrucciones de transferencia de datos

Estas instrucciones mueven datos (que se consideran elementos de entrada/salida) desde la memoria hacia los registros internos del microprocesador, y viceversa. También se usan para pasar datos de un registro a otro del microprocesador. Existen algunas instrucciones que permiten mover no sólo un dato, sino un conjunto de hasta 64 Kbyte con una sola instrucción.

Instrucciones de cálculo

Arquitectura básica de un sistema mínimo de computadora Micro controladores 13

Son instrucciones destinadas a ejecutar ciertas operaciones aritméticas, como por ejemplo sumar, restar, multiplicar o dividir, o ciertas operaciones lógicas, como por ejemplo ANO, OR, así como desplazamiento y rotación de bits.

Instrucciones de transferencia del control del programa

Permiten romper la secuencia lineal del programa y saltar a otro punto del mismo. Pueden equivaler a la instrucción GOTO que traen muchos lenguajes de programación.

Instrucciones de control

Son instrucciones especiales o de control que actúan sobre el propio microprocesador. Permiten acceder a diversas funciones, como por ejemplo activar o desactivar las interrupciones, pasar órdenes al coprocesador matemático, detener la actividad del microprocesador hasta que se produzca una interrupción, etc.

Ejemplo.

El objetivo es crear un dispositivo capaz de realizar cualquier operación dependiendo del valor de una señal de entrada, además se dispondrá de dos entradas de datos.

• Entradas:

o a: Entrada de datos 1.

o b: Entrada de datos 2.

o proceso: Entrada de la operación.

• Salidas:

o c: Salida de datos.

• LIBRARY ieee;

• USE IEEE.STD_LOGIC_1164.all;

• USE IEEE.NUMERIC_STD.all

• ENTITY alu IS

• PORT(op1 : IN std_logic_vector(7 DOWNTO 0);--entrada 1

• op2 : IN std_logic_vector(7 DOWNTO 0);--entrada 2

• proceso : IN std_logic_vector(3 DOWNTO 0);--que hara la alu

• res : OUT std_logic_vector(15 DOWNTO 0));

• END alu;

• ARCHITECTURE synth OF alu IS

• SIGNAL a,b:UNSIGNED(op1'range);

• SIGNAL c:UNSIGNED(res'range);

• BEGIN

• PROCESS (a, b, proceso)

• BEGIN

• CASE proceso IS

• WHEN "0000" => c <= RESIZE((a + b),c'length);

• WHEN "0001" => c <= RESIZE((a - b),c'length);

• WHEN "0010" =>

• ........

• WHEN OTHERS => null;

• END CASE;

• END PROCESS;

• a <= UNSIGNED(op1);

• b <= UNSIGNED(op2);

• res <= std_logic_vector(c);

• END synth;

Unidad de Control y tiempo.

Es el centro nervioso del ordenador, ya que desde ella se controlan y gobiernan todas las operaciones. Cómo funciones básicas tiene:

•Tomar las instrucciones de memoria

•Decodificar o interpretar las instrucciones

•Ejecutar las instrucciones (tratar las situaciones de tipo interno (inherentes a la propia CPU) y de tipo externo (inherentes a los periféricos)Para realizar su función, la unidad de control consta de los siguientes elementos:

Contiene permanentemente la dirección de memoria de la siguiente instrucción a ejecutar. Al iniciar la ejecución de un programa toma la dirección de su primera instrucción. Incrementa su valor en uno, de forma automática, cada vez que se concluye una instrucción, salvo si la instrucción que se está ejecutando es de salto o de ruptura de secuencia, en cuyo caso el contador de programa tomará la dirección de la instrucción que se tenga que ejecutar a continuación; esta dirección está en la propia instrucción en curso.

Registro de instrucción

...

Descargar como (para miembros actualizados) txt (46 Kb)
Leer 35 páginas más »
Disponible sólo en Clubensayos.com