Informática


Arquitectura de computadores


ARQUITECTURA

Tendencias actuales: Las tendencias actuales tienden a aumentar la velocidad de los computadores en cuanto al Hardward, por dos caminos:

A)Computadores con conjunto reducido de instrucciones(RISC): en estadísticas se ha comprobado que hay un conjunto de instrucciones que se utiliza muy poco y esto produce un retardo en las instrucciones más usadas.

B) Proceso paralelo: trata de procesar a la vez varias unidades de proceso. La forma más frecuente es la segmentación, que consiste en procesar a la vez varias instrucciones aunque estén cada una en distinta frase.

Otras formas de procesa en paralelo requieren múltiples procesadores. En este caso, es necesario dividir el programa en partes para resolver cada parte en un procesador.

Modelo de Von Newmann: Este es el modelo de la estructura de los computadores actuales. Los elementos esenciales son memoria y un procesador. La memoria es el lugar de almacenamiento donde se guardan instrucciones y datos de los programas que se están ejecutando en un momento dado; esto significa que en un momento dado una palabra puede ser un dato o una instrucción.

El procesador es un intérprete de un juego de instrucciones, sus funciones son:

A) Extraer la instrucción de memoria y decodificarla.

B) Ejecutar la instrucción.

C) Localizar la siguiente instrucción para volver al primer paso.

Este proceso continuará constantemente y de esta forma el ordenador podrá ejecutar cualquier tipo de programa por grande que fuese su complejidad. Evidentemente el procesador debería llevar algún tipo de memoria interna con el fin de contener la información sobre los sucesivos estados por los que tiene que pasar para ejecutar cada una de las instrucciones (también contendrá información sobre la siguiente instrucción a ejecutar).

En la práctica esa memoria interna se materializa en los registros de la CPU, y así pues la mayoría de los computadores actuales siguen los mismos patrones que Von Newmann aunque se ha progresado mucho más en todos los aspectos.

Unidades funcionales: En líneas generales los computadores actuales tienen los mismos bloques que los diseñados por Newmann; a esos bloques ahora les llamamos ”BLOQUES FUNCIONALES” y se esquematizan en la siguiente figura:

Arquitectura de computadores

A continuación se presenta con más detalle la estructura interna de cada una de las unidades funcionales:

Arquitectura de computadores

Los registros más importantes son:

*El contador de programa (PC): contiene la dirección de la siguiente instrucción a ejecutar.

*El registro de instrucciones (IR): en este registro se almacena la instrucción que se está ejecutando en cada momento.

*Los registros para el uso del programador: que hemos situado en la ALU y que puede tener diferentes estructuras según cual sea la organización interna del procesador.

*El registro de dirección de memoria (MAR): Contiene la dirección de memoria donde se va a leer o escribir.

*El Buffer de memoria (MB): también llamado MDR. Contiene la información leída en una operación de lectura; o la información ha escribir en una operación de escritura.

Ejecución de las instrucciones: Un programa consta de una secuencia ordenada de instrucciones, el proceso de ejecución de cada una de esas instrucciones pasa por los siguientes ciclos o fases:

A)Fase de búsqueda: consiste en la lectura de la instrucción y la búsqueda de sus operandos; si los tiene.

B) Fase de ejecución: consiste en la ejecución de la instrucción.

BUSQUEDA: consta de 5 puntos:

  • Extraer de memoria la instrucción y llevarla al IR, para hacerlo se carga el PC en el MAR y el resultado obtenida se pasa al MB, acto seguido el MB se pasa al IR para que se decodifique dicha instrucción

  • se incrementa el contenido del PC para que contenga la dirección de la siguiente instrucción.

  • Determinar el tipo de instrucción que se ha extraído y el número de sus operandos.

  • Si la instrucción tiene operandos deberá determinarse su localización.

  • Leer los operandos si los hay.

  • EJECUCIÓN:

  • Ejecutar la instrucción.

  • Almacenar los resultados en el lugar apropiado.

  • Volver al paso de búsqueda.

  • Clasificación de los ordenadores:

    • Un Micro-computador es un computador de uso personal.

    • Un Mini-computador es un computador para el uso de un departamento con pocas personas. (RED)

    • Un Maxi-computador es un computador para toda una empresa.

    Desde hace años existe una nueva escala en esta clasificación que son las estaciones de trabajo, estas estaciones son de uso personal pero con una gran potencia de cálculo y otros recursos como HD de gran tamaño, monitores gráficos de gran resolución.

    Esta escala se situaría entre los Mini y los Micro-computadores.

    Concepto de arquitectura de un ordenador: El término Arquitectura de un ordenador cubre todos los aspectos de su organización. Entre estos aspectos, se incluyen las longitudes de palabra, de instrucción, número de direcciones de cada instrucción, conjunto de instrucciones, modos de direccionamiento. Otras cuestiones se refieren a cómo está organizada la memoria y cómo se conectan los dispositivos de E/S.

    Formatos de instrucción: La representación de la instrucción en las computadoras se denomina” Formato de instrucción”.

    Sabemos que los programas están formados por instrucciones y la parte esencial de estas es el código de operación que señala la instrucción a ejecutar; el resto se refiere a los operandos.

    Muchas instrucciones contienen además los datos que usan o especifican donde está dicho dato.

    Todo lo relativo a la especificación de dónde está el dato se llama “Direccionamiento”, de los cuales existen muchos.

    Criterio en el diseño de los Formatos de Instrucción: Cuando un grupo de diseñadores de una computadora han de elegir un formato de instrucción, son múltiples los factores a tener en cuenta:

    a)Las instrucciones cortas son mejores que las instrucciones largas; porque ocupan menos en memoria. Este requisito es importante ya que la memoria no es gratuita y cuanta más memoria usemos para almacenar instrucciones menos datos podremos almacenar simultáneamente en memoria central, con lo que se utilizará más la memoria secundaria y así se relentizará su ejecución.

    b)La velocidad de transferencia o caudal de una memoria. Si el caudal de una memoria es de “t”bits/sg y la longitud de media de la instrucción es de “r”bits, entonces la memoria puede entregar un máximo de t/r instrucciones /sg.

    c)Diseño del formato de instrucción que consiste en dejar suficiente sitio (bits) en la instrucción para poder expresar todas las operaciones deseadas.

    d) La longitud de la palabra de instrucción sea múltiplo entero de la longitud de la palabra de memoria. Si la longitud de la palabra de la memoria es de “K”bits la palabra de instrucción debería tener una longitud de K, 2K, 3K.....

    e)Elegir el número de campos de dirección (operandos) que va ha tener la instrucción, así como el nº de bits que se necesitan para cada operando. Existen formatos de instrucción con 1, 2, 3 o 4 direcciones.

    Códigos de operación con extensión: este método se suele utilizar en arquitecturas con longitud de instrucción fijas. Por ejemplo:

    *Sea una màquina cuyas instrucciones tienen 16bits de longitud y las direcciones de 4bits tal y como se representa en la fig:

    Arquitectura de computadores

    Este formato es razonable para un tipo de máquina que tenga 16 registros (direcionar 1 registro de entre un total de 16 hace necesario 4bits). Con este formato podemos tener 16 operaciones distintas con tres direcciones. Ahora bien si los diseñadores necesitan:

    *15 instrucciones de 3 direcciones

    *14 instrucciones de 2 direcciones.

    *31 instrucciones de 1 direcciones.

    *16 instrucciones sin direcciones.

    0000 1º 2º 3º

    15 1110 1º 2º 3º

    1111 0000 1º 2º

    14 1111 1101 1º 2º

    1111 1110 0000 1º

    31 1111 1110 1111 1º

    1111 1111 0000 1º

    1111 1111 1110 1º

    16 1111 1111 1111 0000

    1111 1111 1111 1111

    Modos de direcionado en órdenes reales: el PDP11 tiene 8 modos de direccionado aunque en la realidad veremos que tiene alguno más.

    Directo por registro: Rn. El operando se encuentra en el registro especificado.

    Directo por registro: (Rn). La dirección del operando se encuentra en el registro

    especificado.

    Autoincremental: (Rn)+ . La dirección del operando se encuentra en el registro Rn y dicho registro se incrementa después del acceso en un valor igual al tamaño del operando medido en bytes. Los incrementos pueden ser dos:

    *I ncremento=1, si el operación se realiza sobre un byte.

    *Incremento=2, si la operación se realiza sobre 1 palabra.

    Autodecremental: -(Rn). El registro Rn se decrementa en la longitud del

    operando:

    * En 1 si el tamaño del operando es 1byte.

    * En 2 si el tamaño del operando es 2byte.

    El contenido del registro después del decremento es la dirección del operando.

    Indexado: X(Rn). La dirección del operando se obtiene sumando el desplazamiento X al contenido del Rn.

    El desplazamiento se codifica en la palabra siguiente a la instrucción.

    Modos de direccionado sobre el PC:

    Inmediato: # Constante. Este modo es el autoincremental sobre el PC debido a que el operando inmediato se localiza en la palabra siguiente a la instrucción.

    Relativo: Dirección. Este genera un código independiente de la posición. Se trata del direccionamiento indexado sobre el PC.

    VAX

    16 registros de uso general de 0 a 15.

    R15=PC

    R14=SP

    Cada registro es de 32 bits. Código de operación fijo=8 bits. Longitud de instrucción variable.

    Modos de direccionados del VAX:

    Directo por registro: Rn. El operando se encuentra en el registro especificado.

    Indirecto por registro: (Rn). La dirección del operando se encuentra en el registro especificado.

    Autodecremental: -(Rn). el registro Rn se decrementa en la longitud del operando medido en bytes.

    Las longitudes posibles de los operandos van de 1 byte a 16 bytes. El contenido del registro después de la operación es la dirección del operando.

    Autoincremental: (Rn)+. La dirección del operando se encuentra en el registro Rn y este se incrementa después del acceso en el tamaño del operando medido en bytes.

    Autoincremental indirecto: @(Rn)+. El registro se incrementa en 4 cualquiera que sea el tamaño del operando. Ya que el tamaño de una dirección de memoria es de 32bits.

    A, C y e por desplazamiento: X(Rn). La direccción del operando se obtiene sumando el desplazamiento X al contenido del registro.

    La suma se realiza extendiendo el signo del desplazamiento de 32 bits si su tamaño es menor.

    El desplazamiento se codifica tras la instrucción. Dependiendo del tamaño del desplazamiento la codificación es distinto, si el desplazamiento es de 1byte implica el modo A, si el desplazamiento es de 1palabra implica modo C, si es una doble palabra implica el modo E.

    Este modo es similar al indexado en el PDP11.

    Modos B, D y F indirecto por desplazamiento: @ X(Rn). Sumando el desplazamiento al contenido del registro optenemos la localización de la dirección del operando.

    El desplazamiento también se codifica después de la instrucción y depende de su tamaño su codificación es diferente. B si es 1byte, D si es una palabra y F si es doble palabra.

    Modo del 0-3 Literal o inmediato: # Constante. Corresponde a los valores de codificación de direccionamientocuyos dos primeros bits son 0.

    Dos de los bits de codificación de modo se invaden para el operando literal que ocupa 6 bits.

    Indexado: b[Rn]. Para obtener la dirección efectiva del operando se suma el contenido de Rn multiplicado por el tamaño del operando en bytes con la dirección del operando base(b).

    Se puede expresar en diferentes modos del 6 al F, es decir, que el operando reside en memoria.

    Modos de direccionado sobre el PC:

    Inmediato: # Constante. Este modo es el autoincremental sobre el PC ya que el operando inmediato se localiza en la palabra siguiente a la inatrucción.

    Relativo: Dirección. Genera código independiente de la posición. Se trata de direccionamiento por desplazamiento sobre el PC. (x(R15)).

    Arquitectura de computadores

    Arquitectura de computadores




    Descargar
    Enviado por:El remitente no desea revelar su nombre
    Idioma: castellano
    País: España

    Te va a interesar