lunes, 12 de octubre de 2015

Registros del computador

Registros del computador
En arquitectura de ordenadores, un registro es una memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas. Los registros están en la cumbre de la jerarquía de memoria, y son la manera más rápida que tiene el sistema de almacenar datos. Los registros se miden generalmente por el número de bits que almacenan; por ejemplo, un "registro de 8 bits" o un "registro de 32 bits". Los registros generalmente se implementan en un banco de registros, pero antiguamente se usaban biestables individuales, memoria SRAM o formas aún más primitivas.

El término es usado generalmente para referirse al grupo de registros que pueden ser directamente indexados como operandos de una instrucción, como está definido en el conjunto. Sin embargo, los microprocesadores tienen además muchos otros registros que son usados con un propósito específico, como el contador de programa. Por ejemplo, en la arquitectura IA32, el conjunto de instrucciones define 8 registros de 32 bits.

Tipos de registros

Los registros de datos son usados para guardar números enteros. En algunas computadoras antiguas, existía un único registro donde se guardaba toda la información, llamado acumulador. Los registros de memoria son usados para guardar exclusivamente direcciones de memoria. Eran muy usados en la arquitectura Harvard, ya que muchas veces las direcciones tenían un tamaño de palabra distinto que los datos.

Los registros de propósito general (en inglés GPRs o General Purpose Registers) pueden guardar tanto datos como direcciones. Son fundamentales en la arquitectura de von Neumann. La mayor parte de las computadoras modernas usa GPR. Los registros de coma flotante son usados para guardar datos en formato de coma flotante. Los registros constantes tienen valores creados por hardware de sólo lectura. Por ejemplo, en MIPS el registro cero siempre vale 0. Los registros de propósito específico guardan información específica del estado del sistema, como el puntero de pila o el registro de estado. También existen registros banderas y de base.

miércoles, 2 de septiembre de 2015

Taxonomía De Flunn


La taxonomía de Flynn es una clasificación de arquitecturas de computadores propuesta por Michael J. Flynn en 1972. Es la clasificación más extendida del paralelismo: Distingue entre instrucciones y datos, estos pueden ser simples o múltiples-

El definió cuatro clasificaciones que se basan en el número de instrucciones concurrentes (control) y en los flujos de datos disponibles en la arquitectura:

Una instrucción, un dato (SISD): Computador secuencial que no explota el paralelismo en las instrucciones ni en flujos de datos.  Uno de los Ejemplos de arquitecturas SISD son las máquinas con uni-procesador omonoprocesador tradicionales como el PC o los antiguos mainframe.

Características del modelo SISD: La CPU procesa únicamente una instrucción por cada ciclo de reloj. Únicamente un dato es procesado en cada ciclo de reloj, es el modelo más antiguo de computadora y el más extendido.

Múltiples instrucciones, un dato (MISD): Poco común debido al hecho de que la efectividad de los múltiples flujos de instrucciones suele precisar de múltiples flujos de datos. Sin embargo, este tipo se usa en situaciones de paralelismo redundante, como por ejemplo en navegación aérea, donde se necesitan varios sistemas de respaldo en caso de que uno falle. También se han propuesto algunas arquitecturas teóricas que hacen uso de MISD, pero ninguna llegó a producirse en masa. Algunos autores consideran que las arquitecturas vectoriales supersegmentadas o vectorial escalar forman parte de este modelo ya que en un momento dado se pueden estar manipulando un dato (el vector) por varias instrucciones, no obstante no existe consenso al respecto.

Características del modelo SIMD: Todas las unidades ejecutan la misma instrucción, cada unidad procesa un dato distinto, Todas las unidades operan simultáneamente.

Una instrucción, múltiples datos (SIMD): Un computador que explota varios flujos de datos dentro de un único flujo de instrucciones para realizar operaciones que pueden ser paralizadas de manera natural. Por ejemplo, un procesador vectorial.

Características del modelo MISD: Cada unidad ejecuta una instrucción distinta, cada unidad procesa el mismo dato Aplicación muy limitada en la vida real.

Múltiples instrucciones, múltiples datos (MIMD): Varios procesadores autónomos que ejecutan simultáneamente instrucciones diferentes sobre datos diferentes. Los sistemas distribuidos suelen clasificarse como arquitecturas MIMD; bien sea explotando un único espacio compartido de memoria, o uno distribuido.

Características del modelo MIMD: Cada unidad ejecuta una instrucción distinta, cada unidad procesa un dato distinto. Todas las unidades operan simultáneamente.