INTRODUCCIÓN SET DE INSTRUCCIONES

Tamaño: px
Comenzar la demostración a partir de la página:

Download "INTRODUCCIÓN SET DE INSTRUCCIONES"

Transcripción

1 Índice INTRODCCIÓN.- Objetivos: La aparición de los procesadores RISC: Que significa RISC La base de un sistema RISC: n set de instrucciones simple Características RISC Dentro de una máquina RISC: Pipelining A tener en cuenta en sistemas con pipeline implementado Velocidad de la memoria Latencia de las instrucciones Dependencias ejora de la velocidad en máquinas con pipeline Procesadores Superpipeline Procesadores Superescalares... 9 SET DE INSTRCCIONES.- Aspectos Que Deben Concretarse En El Set De Instrucciones Formato De Las Instrucciones Instrucciones Tipo R Intrucciones Tipo I Intrucciones Tipo J Tipos De Instrucciones Intrucciones Aritméticas Instrucciones Lógicas Intrucciones De Comparación Y Salto Pseudoinstrucciones Instrucciones De Toma De Decisiones Instrucciones De Bifurcar Registro... 8

2 Índice Instrucción Bifurca Y Enlaza Instrucciones De Transferencia De Datos Instrucción De anipulación De Constantes Otras Operaciones odos De Direccionamiento... 2 RTA DE DATOS.- Visión General Operaciones que soporta la Arquitectura Ruta de datos Fases en la ejecución de una instrucción Elementos de la ruta de datos Descomposición de la ejecución de la instrucción en ciclos de reloj Búsqueda de la instrucción Decodificación de la instrucción y búsqueda de registros Ejecución, cálculo de la dirección de memoria o terminación del salto Acceso a memoria o terminación de la instrucción de tipo R Fase de postescritura Algunos diagramas explicativos Esquema general Carga de la instrucción Primera parte Segunda parte Decodificación de instrucción y carga de los registros: Primera parte Segunda parte Completado del salto Ejecución de instrucción aritmético-lógica Primera parte Segunda parte

3 Índice NIDAD DE CONTROL.- Introducción icroprogramación: Simplificar El Diseño Del Control Definición Del Formato De icroinstrucción Creación Del icroprograma BIBLIOGRAFÍA Bibliografía

4 Introducción.- Objetivos: En este capítulo se va a proceder a describir las principales características de la arquitectura de los procesadores RISC, que en algunas aplicaciones vienen a sustituir a los antiguos procesadores CISC, como por ejemplo en la nueva generación de sistemas acintosh que Apple está desarrollando. Al final de este capítulo deberemos de ser capaces de: Describir las diferencias más significativas entre el set de instrucciones de un procesador CISC y un procesador RISC Comprender el pipelining y su implementación en un diseño RISC Definir stalling y la planificación de instrucciones Comparar las principales ventajas y desventajas de ambas arquitecturas. 2. La aparición de los procesadores RISC: 2.. Que significa RISC A mediados de la década de los 7, el avance en el desarrollo de la tecnología de los semiconductores se tradujo en una disminución de la diferencia en velocidad entre la memoria principal y los propios procesadores. A medida que la velocidad de la memoria se incrementa, y los lenguajes de alto nivel toman cada vez un mayor protagonismo frente a los ensambladores, las razones para utilizar procesadores CISC se ven claramente disminuidas, por lo que los diseñadores de sistemas computacionales se orientan hacia la optimización del rendimiento del sistema mediante la construcción de un hardware más rápido La base de un sistema RISC: n set de instrucciones simple na de las claves básica para la consecución de la arquitectura RISC es que una secuencia de instrucciones simples producen los mismos resultados que una 4

5 Introducción instrucciones de instrucciones complejas, pero esta secuencia puede ser implementada con un diseño hardware más sencillo y rápido Características RISC Set de instrucciones simple En un procesador RISC, el juego de instrucciones consta de instrucciones básicas y simples, de las cuales se pueden ejecutar operaciones complejas. Igualdad de longitud de instrucciones Cada instrucción tiene la misma longitud, por lo que su carga se realizará en una única transferencia. Instrucciones de un ciclo máquina La mayoría de las instrucciones se completan en un ciclo máquina, lo que permite al procesador manejar varias instrucciones al mismo tiempo. Este pipelining es una de las claves para obtener una mayor velocidad de ejecución en estas máquinas. 5

6 Introducción 3. Dentro de una máquina RISC: 3.. Pipelining no de los principales objetivos de los diseñadores de máquinas RISC es crear el chip más rápido posible, para lo cual utilizan un conjunto de técnicas entre las que se encuentra el pipelining El pipelining es una técnica de diseño, mediante la cual el hardware del computador procesa más de una instrucción al mismo tiempo, logrando así, que el computador no tenga que esperar a que finalice la ejecución de una instrucción para comenzar la ejecución de la siguiente. En una máquina CISC las etapas básicas en el ciclo de trabajo eran: - Carga - Decodificación - Ejecución - Almacenamiento de resultados Estas mismas etapas se utilizan en una máquina RISC, pero estas son ejecutadas en paralelo. Tan pronto como se completa una etapa, pasa su resultado a la siguiente fase, y comienza a trabajar en la siguiente instrucción. Por lo tanto, el rendimiento de un sistema pipeline depende del tiempo que tarde la ejecución de cada fase del pipeline, y no del tiempo de todas las fases. En un pipeline de una máquina RISC, cada instrucción utiliza ciclo de reloj para cada fase, por lo que el procesador puede cargar una nueva instrucción por cada ciclo de reloj. El pipeline no mejora la latencia de las instrucciones ( cada instrucción sigue necesitando el mismo tiempo para completarse), pero si que mejora el tiempo total de ejecución. Como ocurre también en las máquinas CISC, la ejecución ideal no siempre se consigue. Puede ocurrir que las instrucciones dentro del pipeline necesiten más de un ciclo para completar una fase. Cuando esto sucede, el procesador tiene que realizar una espera y no aceptar una nueva instrucción hasta que la instrucción que ha provocado este retraso haya pasado a la fase siguiente. 6

7 Introducción 3.2. A tener en cuenta en sistemas con pipeline implementado n procesador que utiliza un pipeline de instrucciones puede verse obstaculizado por diversos motivos, como puede ser los retrasos en la lectura de datos desde la memoria, un diseño del set de instrucciones poco eficiente, o dependencias entre instrucciones. Para solucionar estos y otros obstáculos los diseñadores proponen las siguientes soluciones: Velocidad de la memoria Los problemas que plantean las memorias se solucionan generalmente con la utilización de memorias caché. La caché es una porción de la memoria de mayor velocidad, que se sitúa entre el procesador y la memoria, que generalmente es más lenta. Cuando el procesador quiere operar sobre una posición de memoria principal, la posición se copia sobre la caché. Por lo tanto, referencias posteriores a esa posición, se realizarán sobre la posición en la caché, que devolverá un resultado más rápidamente que la memoria principal. Las memorias caché presentan un problema a los diseñadores y a los programadores: la coherencia. Cuando el procesador escribe un valor hacia la memoria, el valor va hacia la caché y no hacia la memoria principal. Por lo tanto, se necesita un hardware especial, generalmente implementado como parte del propio procesador, para escribir esta información desde la caché a la memoria principal antes de que algún otro proceso intente leer esa posición, o utilice esa parte de la caché para otra aplicación Latencia de las instrucciones n set de instrucciones diseñado de manera poco eficiente puede provocar que el procesador se vea retrasado frecuentemente. La mayoría de estos retrasos provienen de: - instrucciones altamente codificadas: al igual que ocurre en las máquinas CISC, requiriendo verificaciones y cálculos para realizar la decodificación de la instrucción. 7

8 Introducción - instrucciones de longitud variable: necesitan varias referencias a memoria para realizar la carga de la instrucción. - Instrucciones que acceden a la memoria principal: en lugar de utilizar registros que son de carácter mucho más rápido. - Instrucciones que realizan la lectura y posterior escritura sobre el mismo registro. - Dependencias de recursos de acceso exclusivo: como el registro de códigos de condición. Si una instrucción modifica el valor de alguno de los bits de este registro, y la siguiente instrucción utiliza el valor modificado, esta segunda instrucción se verá retrasada hasta que se realice la escritura por parte de la primera instrucción Dependencias no de los principales problemas que tiene que afrontar un programador de sistemas RISC es que el procesador puede verse retrasado por una elección incorrecta de instrucciones. Por el echo de que cada instrucción utiliza un cierto tiempo en almacenar su resultado, y como se están ejecutando instrucciones al mismo tiempo, instrucciones posteriores tendrán que esperar por los resultados de instrucciones precedentes. Para solventar este inconveniente se utiliza la planificación de instrucciones. Otra técnica utilizada para minimizar estas dependencias consiste en evitar los bucles recursivos, en la cual, en vez de ejecutar una secuencia de instrucciones dentro del bucle, el compilador planifica las instrucciones las veces necesarias. Esta técnica elimina el cálculo y verificación de la variable de control del bucle. 8

9 Introducción 3.3. ejora de la velocidad en máquinas con pipeline Se han desarrollado dos técnicas para incrementar la velocidad dentro de los pipelines: Procesadores Superpipeline n sistema superpipeline divide cada fase del pipeline en dos sub-fases, para posteriormente internamente la velocidad del reloj. Cada fase sigue ejecutando un instrucción en cada ciclo de reloj, pero al ser el reloj interno dos veces más rápido, el pipeline carga dos instrucciones por cada pulso del reloj (externo) Procesadores Superescalares Los procesadores superescalares contienen varias unidades de proceso que son capaces de trabajar en paralelo. Esto permite al procesador trabajar con varias instrucciones similares de manera concurrente, enviando cada instrucción a la primera unidad de proceso que se encuentre disponible. 9

10 Set de Instrucciones.- Aspectos Que Deben Concretarse En El Set De Instrucciones Debemos tener presente los siguientes aspectos: Formato de las instrucciones y codificación. Localización de los operandos: memoria, registros,... R R Register file R3 R3 emoria Ld r, [ D2 ]; Ld r, [ D ]; Add r2, r, r; St [ R ], r2; El procesador IPS presenta una arquitectura de load/store, en la que es necesario que los operandos estén en los registros D D2 R

11 Set de Instrucciones En cuanto a los registros IPS dispone de registros de bits cada uno, siendo estos de propósito general. Cuantos operandos explícitos pueden aparecer en una instrucción. Que operandos están en memoria. Hemos de tener en cuenta el modo de direccionamiento de la memoria. En el caso del IPS es extremista superior, es decir, el byte de mayor peso será el correspondiente con la dirección de memoria más baja. Operaciones disponibles en el set de instrucciones. Conocer cual es la siguiente instrucción a ejecutar. 2.- Formato De Las Instrucciones En el microprocesador IPS que estamos analizando los datos deben encontrarse almacenado en los registros para poder operar con ellos. Esto hace que el IPS posea una estructura Load-Store (carga-almacenamiento). Debemos tener en cuenta en las instrucciones:. Todas las instrucciones del microprocesador IPS vienen representadas por una cadena de bits. 2. Se establecen distintos campos para cada tipo de instrucción. 2.- Instrucciones Tipo R Todas las instrucciones de este tipo leen dos registros, realizan una operación en la AL sobre los contenidos de los registros y escriben el resultado. Llamamos a estas instrucciones o instrucciones tipo R o bien instrucciones aritmético-lógicas (ya que realizan operaciones aritméticas o lógicas).

12 Set de Instrucciones El formato para este tipo de instrucciones se corresponde con: op rs rt rd shamt funct 6 bits 5bits 5bits 5bits 5bits 6bits op: operación de la instrucción. Indica el tipo de operación que se trata.. rs: primer registro del operando fuente. rt: segundo registro del operando fuente. rd: registro del operando destino; obtiene el resultado de la operación. shamt: cantidad de desplazamiento funct : función; este campo selecciona la variante de la operación del campo op. Se presenta el problema cuando una instrucción necesita campos mayores que los mostrados anteriormente (por ejemplo en una instrucción de carga deben especificarse dos registros y una dirección, por lo que la dirección se vería reducida a posiciones de memoria). Esto es muy pequeño para que sea una dirección útil para datos. Por consiguiente, tenemos un conflicto entre el deseo que todas las instrucciones tengan la misma longitud y el deseo que las instrucciones tengan un formato sencillo. Será necesario establecer un segundo tipo de formato de instrucciones Intrucciones Tipo I Este tipo de instrucciones son fundamentales puesto que se trata de las instrucciones para la carga-almacenamiento de los datos, y la AL únicamente puede operar con los datos una vez que han sido cargados en los registros. Esto nos lleva a cargar en los registros aquellas posiciones de memoria con las que deseemos operar. El formato para las instrucciones de transferencia de datos se corresponde con el mostrado a continuación. op rs rt dirección 6 bits 5bits 5bits 6bits 2

13 Set de Instrucciones op: tipo de operación. rs: refistro emplearo para formar la dirección de memoria. rt: registro donde se recibe el resultado de la operación Intrucciones Tipo J El direccionamiento más simple se encuentra en la instrucciones de bifurcación de IPS. tilizan el formato final de instrucción IPS, denominado tipo J, que consta de 6 bits para el campo de operación y los restantes bits son para el campo de dirección. El formato de las instrucciones tipo J se corresponde con: op Dirección de salto 6 bits 26bits De forma distinta a la instrucción de bifurcación, la instrucción de salto condicional debe especificar dos operandos, además de la dirección de salto. El formato para este tipo de instrucción de salto condicional viene dado por la siguiente estructura: op rs rt dirección 6 bits 5bits 5bits 6bits 3.- Tipos De Instrucciones 3. Intrucciones Aritméticas. add rd, rs, rt rs rt rd 2 Suma con desbordamiento addu rd, rs, rt rs rt rd 2 Suma sin desbordamiento

14 Set de Instrucciones Pone la suma de los registros rs y rt en el registro rd. addi rt, rs, inm 4 rs rt inm Suma inmediata con desbordamiento addu rt, rs, inm 5 rs rt inm Suma inmediata sin desbordamiento Pone la suma del registro rs y el inmediato de signo extendido en el registro rd. Encontraríamos los mismos casos para la resta (sub). div rs, rt rs rt a División con desbordamiento divu rs,rt rs rt b División sin desbordamiento Divide el registro rs por el registro rt. Deja el cociente en el registro lo y el resto en el registro hi. mult rs, rt rs rt ultiplicación multu rs, rt rs rt ultiplicación sin signo 4

15 Set de Instrucciones multiplica los registros rs y rt. Deja la palabra de orden inferior del producto en el registro lo y la de orden superior en el registro hi Instrucciones Lógicas. and rd, rs, rt rs rt rd Pone la AND lógica de los registros rs y rt en el registro rd. andi rt, rs, inm c rs rt inm Pone la AND lógica del registro rs y del cero-extendido inmediato en el registro rd. Podríamos realizar de igual forma el OR lógico o la operación OR lógica de dos registros o bien entre un registro y un inmediato. neg rdest, rsrc negu rdest, rsrc Valor negado (con desbordamiento) Valor negado (sin desbordamiento) Pone el negativo del registro rsrc en el registro rdest. nor rd, rs, rt rs rt rd Pone la NOR lógica de los registros rs y rt en el registro rd. not rdest, rsrc 5

16 Set de Instrucciones Pone la negación lógica bit a bit del registro rsrc en el registro rdest. rol rdest, rsrc, rscr2 ror rdest, rsrc, rscr2 Desplazamiento cíclico a la izquierda. Desplazamiento cíclico a la derecha. Desplaza circularmente el registro rsrc a la izquierda (derecha) la cantidad indicada por el rsrc2 y pone el resultado en el registro rdest. sll rd, rt, sa sra rd, rt, sa srl rd, rt, sa rs rt rd sa rs rt rd sa rs rt rd sa Desplazamiento lógico a la izquierda Desplazamiento aritmético a la derecha Desplazamiento lógico a la derecha Desplaza a la izquierda el registro rt (derecha) la cantidad indicada por el inmediato sa y pone el resultado en el registro rd. 6

17 Set de Instrucciones Intrucciones De Comparación Y Salto Pseudoinstrucciones. Son instrucciones que como tales no existen, pero el ensamblador se encarga de traducirlas a instrucciones capaces de ser entendidas por el microprocesador. Ejemplo: move $2, $ Transfiere el contenido del registro $ al $ Instrucciones De Toma De Decisiones Sirven para romper el flujo secuencial de las instrucciones. La toma de decisiones se representa normalmente en los lenguajes de programación utilizando la instrucción if, a veces combinada con instrucciones goto y rótulos. IPS incluye dos instrucciones de toma de decisiones análogas a una instrucción if con goto: beq rs, rt, rótulo 6 4 rs rt desplazamiento Saltar sobre igual Esta instrucción significa ir a la sentencia rotulada si el valor de rs es igual al valor de rt. bne rs, rt, rótulo 6 4 rs rt desplazamiento Saltar sobre no igual Significa ir a la sentencia rotulada si el valor de rs no es igual al valor de rt. El test para la igualdad o desigualdad es probablemente el má popular, pero a veces es útil ver si una variable es menor que otra. Estas comparaciones se realizan en IPS con una instrucción que compara dos registros y pone un tercer registro a si el primero es menor que el segundo; en otro caso, lo pone a. la instrucción se denomina inicializar sobre menor que: 7

18 Set de Instrucciones slt rdest, rsrc, rsrc2 Pone el registro rdest a si el valor del registro rsrc es menor que el valor del registro rsrc2;en otro caso, el registro rdest se pone a Instrucciones De Bifurcar Registro. Se trata de una bifurcación incondicional a la dirección especificada en el registro. jr rs 5 rs 8 Bifurca registro Instrucción Bifurca Y Enlaza. jal ProcedureAddress 3 destino Bifurca y enlaza Bifurca incondicionalmente a la instrucción de destino. Guarda la dirección de la siguiente instrucción en el registro rd. La parte de enlaza del nombre significa que se forma un enlace al sitio que llama para permitir que el procedimiento vuelva a la dirección adecuada Instrucciones De Transferencia De Datos. La instrucción de transferencia de datos que desplaza un dato desde memoria hasta un registro se denomina carga. El formato de la instrucción es el nombre de la operación seguido por el registro que se va a cargar, después la dirección de comienzo del array, y finalmente un registro que contiene el índice del elemento del array que se va a cargar. Así la dirección de memoria del elemento del array estará formada por la suma de la parte constante de la instrucción y un registro. 8

19 Set de Instrucciones lw rt, dirección 23 rs rt desplazamiento Cargar plalabra Carga la cantidad de bits en dirección en el registro rt. La instrucción complementaria a ala de cargar se denomina almacenar; esta transfiere datos de un registro a memoria. El formato de una instrucción de almacenamiento es similar al de una carga: el nombre de la operación, seguido por el registro que se va a almacenar, después la dirección de comienzo del array, y finalmente un registro que contiene el índice del elemento del array que se va a almacenar. sw rt, dirección 2b rs rt desplazamiento Almacena palabra Almacena la palabra del registro rt en dirección Instrucción De anipulación De Constantes lui rt, inm 2b rs rt desplazamiento Carga superior inmediata esta instrucción de cargar inmediato superior está desarrollada específicamente para poner los 6 bits superiores de una constante en un registro, permitiendo que la instrucción siguiente especifique los 6 bits inferores de la constante. lui $6, 6 addi $6,$6,234 Carga la media palabra inferior del inmediato en la media palabra superior del registro rt. Los bits inferiores del registro se ponen a cero. 9

20 Set de Instrucciones Otras Operaciones. rfe Vuelta de excepción. Restaura el registro de STATS. syscall c Llamada al sistema El registro $v contiene el número de la llamada al sistema suministrada por SPI. break código d Ruptura Provoca un código de excepción. La excepción está reservada al depurador. nop No operación No hace nada. 2

21 Set de Instrucciones 4.-odos De Direccionamiento Los modos de direccionamiento que podemos encontrar en el microprocesador IPS son:. Direccionamiento de registros, donde el operando es un registro. 2. Direccionamiento base o desplazamiento, donde el operando está en la posición de memoria cuya dirección es la suma de un registro y una dirección de la instrucción. 3. Direccionamiento inmediato, donde el operando es una constante que está en la misma instrucción. 4. Direccionamiento relativo al PC, donde la dirección es la suma del PC y una constante de la instrucción. 2

22 Ruta de datos.- Visión General. La arquitectura IPS consta de registros de proposito general, para utilizar como los operandos de las intrucciones artiméticas, lógicas, etc, cada uno de tamaño de bits. En el microprocesador IPS los operandos de las instrucciones deben partir obligatoriamente de los registros, y su resultado debe almacenarse también en un registro. Hay registros que tienen almacenados valores concretos que no se pueden modificar, como el caso del registro $, que siempre almacena el valor. Otro registro especial es el $, que se reserva para que el ensamblador maneje las pseudoinstrucciones (instrucciones que aunque no están implementadas en el hardware de la máquina el compilador las entiende y desglosa en las correspondientes instrucciones de lenguaje máquina) y grandes constantes. 2.- Operaciones que soporta la Arquitectura. La unidad de proceso soporta las siguientes operaciones: - Aritméticas: tanto en coma fija como en coma flotante. - Lógicas: entre las que tenemos AND, OR, desplazamientos lógicos, etc. - Transferencias de datos: carga y almacenamiento en memoria - Saltos condicionales: saltos sobre igual, menor, etc. - Saltos incondicionales: llamadas a subrutinas,etc. Las operaciones tanto aritméticas como lógicas se deben realizar obligatoriamente en los registros del procesador, por lo que será necesario realizar la carga de los operandos en los registros mediante instrucciones de carga, y almacenar los resultados en memoria mediante operaciones de almacenamiento. Por este echo se denomina a este tipo de arquitecturas como de load-store. 22

23 Ruta de datos 3.- Ruta de datos 3..- Fases en la ejecución de una instrucción Generalmente la ejecución de una instrucción en un microprocesador conlleva las siguientes fases Recogida de la instrucción: El procesador busca en la memoria la instrucción a ejecutar, en nuestro caso la palabra de bits. Se carga en el registro de instrucciones. Decodificación de la instrucción: Se interpreta cada uno de los campos que forman la palabra de la instrucción. El primer campo que se interpreta es el campo op que nos va a insdicar el tipo de instrucción a ejecutar. Obtención de los operandos: Se localizan y obtienen los operandos de la instrucción correspondiente siendo almacenados en los registros. Realizar la operación indicada por la instrucción. Recoger el resultado obtenido que será almacenado en el caso de una operación lógica o aritmética en un registro. Ir a la proxima dirección de memoria y ejecutar de nuevo estas fases. Estas fases vienen secuenciadas mediante ciclos de reloj. En el caso del empleo de un único ciclo para la ejecución de la instrucción con todas las fases anteriormente enumeradas, hemos de tener en cuienta que la duración del ciclo de reloj de ser lo suficientemente elevada para que de tiempo a ejecutar todas las fases. Con una ruta de datos de ciclo múltiple, como es el caso que nos ocupa, se realiza una fase en cada ciclo de reloj, dando la posibilidad de utilizar la técnica del pipeline, aprovechando así los recursos de la arquitectura. 23

24 Ruta de datos Elementos de la ruta de datos Consta de: nidad Aritmético-Lógica Control 3 A n Cero Control Función n Resultado AND OR Overflow ADD B n Acarreo SB SET-ON-LESS- THAN La obtención de la respuesta correcta a la salida de la AL tendrá un cierto retaso debido al retraso en la propagación de las señales (acarreos intermedios), y los retrasos propios de la lógica convencional. Registros. Son flip-flop s de tipo D con un reloj común para todos ellos. Son de tamaño bits. Registro Programm Counter (PC) Registro de Instrucciones (IR) ultiplexores de diferente número de canales Descomposición de la ejecución de la instrucción en ciclos de reloj Búsqueda de la instrucción Durante este primer ciclo de reloj se realizan las siguientes instrucciones. - Generación de la dirección de memoria - Calculo de la siguiente dirección de memoria 24

25 Ruta de datos na vez que el sistema a ejecutado su secuencia de reset o inicialización (puesta en tensión) y ha alcanzado un régimen estable, se lleva a cabo la ejecución de instrucciones. Cuando la dirección de memoria está estable en el bús de direcciones, transcurrido un cierto tiempo, la memoria devolverá una instrucción o un dato en el bus de datos. En el caso de que esta sea una instrucción, deberá ser una instrucción, esta pasa al registro de instrucciones IR, almacenandola en el flanco descendente del reloj. Al mismo tiempo se genera la dirección de la siguiente instrucción a ejecutar. Como la instrucción tiene un formato de bits, el cálculo se realiza sumando 4 a la dirección actual del Programm Couter. Esta dirección calculada se almacena de nuevo en el PC. Debe respetarse un tiempo de hold, para que las lineas correspondientes estén estables antes de comenzar una nueva fase: setup hold Decodificación de la instrucción y búsqueda de registros. En la fase anterior y todavia en esta, nos sabemos de que instrucción se trata. Se leen los registros que serán utilizados en la ejecución de la instrucción, y que vienen indicados en los campos rs y rt de la instrucción. El contenido de los mismos pueden ser necesarios en operaciones posteriores, por lo cual se hace uso del fichero de registros. Con la AL también se calcula la dirección del salto, en el caso de que la instrucción fuese de salto. Si la instrucción no fuera de salto, el resultado se ignoraría. 25

26 Ruta de datos Como no sabemos si la instrucción va a ser o no de salto, y porque necesitamos la AL en pasos posteriores, guardamos la dirección de destino del hipotético salto en el registro Target. La realización anticipadamente de estas acciones previsoriamente, produce un beneficio en la disminución de los ciclos necesarios para ejecutar una instrucción. Despues de este ciclo de reloj, las acciones a tomar dependerán del contenido de la palabra de instrucción Ejecución, cálculo de la dirección de memoria o terminación del salto Este es el primer ciclo durante el cual la operación a realizar en el camino de datos está determinado por el tipo de instrucción que corresponda (R, J, etc.). En todos los casos la AL opera sobre los operandos preparados en la fase anterior, realizando la función correspondiente indicada por sus lineas de control, dependiendo del tipo de instrucción a realizar. Denominamos a la salida de la AL ALoutput para utilizarlo en etapas posteriores. Como las entradas de esta están estables (respetando el tiempo de setup), no es necesario guardar estas en ningún registro a la entrada de la AL (como podria espararse en arquitecturas de bus único o bus doble). Las señales de control que afecten al resultado de la AL deben mantenerse estables hasta el final del ciclo, hasta que los resultados se almacenen en el registro correspondiente o no vuelvan a utilizarse (debido a los retrasos combinacionales, etc. de la AL). Cada uno de los registros fuente vendrá codificado en 5 bits (2 5 =). Es en esta fase cuando se extraen los contenidos de los registros. Según sea la instrucción, se realizarán las siguientes operaciones: Instrucciones de referencia a memoria La AL suma los operandos para formar la dirección de memoria. La primera entrada de la AL será la primera salida del archivo de registros, por otro lado la salida de la extensión de signo se utiliza como la segunda entrada de la AL (la AL se fuerza a sumar estos operandos). Instrucciones Arimético-Lógicas 26

27 Ruta de datos La AL realiza la operación especificada poe el código de operación con los dos registros leídos en la fase anterior. Esto se corresponderá con situar las salidas del archivo de registros a la entrada de la AL. Instrucciones de salto: Salto condicional La AL se utiliza para realizar la comparación entre los dos registros leídos en el ciclo anterior. La señal Zero de salida de la AL se utilizará para determinar si hay o no salto. La AL realizará el test de igualdad restando ambos registros. Es necesario disparar una señal de escritura para actualizar el registro Programm Counter si se activa la señal de Zero Acceso a memoria o terminación de la instrucción de tipo R. Durante este paso, los accesos a memoria de las operaciones de carga y almacenamiento y operaciones de carácter aritmético-lógicas pasan a almacenar el resultado generado. A la salida de la memoria la denominaremos emory-data, y debido a que su salida será estable, durante el siguiente ciclo de reloj será cuando se escriba el resultado en un registro (na vez ejecutada la operación salvamos el resultado en el fichero de registros). Según la operación: Instrucciones de referencia a memoria Si la operación es de carga, devuelve el dato de memoria. Si la instrucción es un almacenamiento, entonces el dato se escribe en memoria. En cualquier caso la dirección utilizada será la calculada en el ciclo anterior. Instrucciones aritmético-lógicas Se debe colocar el resultado obtenido en la operación de la AL en el registro de resultado Result. Como las escrituras se realizan cuando llega el flanco descendente, la escritura del registro rd no debe afectar al dato que actualmente se está leyendo, aunque el registro de destino sea el registro fuente de la instrucción. 27

28 Ruta de datos Fase de postescritura Escribe el dato cargado en memoria en el archivo de registros. 28

29 Ruta de datos 4.- Algunos diagramas explicativos 4..- Esquema general PCWrCond PCWr Zero PCSrc BrWr PC IorD emwr RAdr EORIA WrAdr Din Dout IR IRWr r s r t r t r d RegDst 5 5 Ra Rb RW RegWr FICHERO DE REGISTROS Bus A Bus B 4 ALselA A L Zero Target busw 2 3 <<2 AL control Imm 6 Extend ExtOp emtoreg ALSelB ALOp 29

30 Ruta de datos Carga de la instrucción Primera parte PCWrCond PCWr=? Zero PCSrc BrWr PC IorD emwr=? RAdr EORIA WrAdr Din Dout IR IRWr=? r s r t r t r d RegDst 5 5 Ra Rb RW busw RegWr FICHERO DE REGISTROS Bus A Bus B 4 <<2 ALselA 2 3 A L AL control=? Zero Target "Se accede a la dirección de memoria a la que apunta el PC " Se actualiza el valor del PC Imm 6 Extend ExtOp emtoreg ALSelB ALOp 3

31 Ruta de datos Segunda parte PCWrCond PCWr= Zero PCSrc BrWr PC IorD emwr= RAdr EORIA WrAdr Din Dout IR IRWr= r s r t r t r d RegDst 5 5 Ra Rb RW busw RegWr FICHERO DE REGISTROS Bus A Bus B 4 <<2 ALselA 2 3 A L AL control=add Zero Target " Se carga la instrucción en el IR " Se actualiza el valor del PC Imm 6 Extend ExtOp emtoreg ALSelB ALOp 3

32 Ruta de datos Decodificación de instrucción y carga de los registros: 4.3. Primera parte PCWrCond= PCWr= Zero PCSrc=x BrWr PC IorD=x emwr= RAdr EORIA WrAdr Din Dout IR IRWr= r s r t r t r d RegDst=x 5 5 Ra Rb RW RegWr= FICHERO DE REGISTROS Bus A Bus B 4 ALselA=x A L Zero Target Op Func 6 6 Imm 6 busw Extend <<2 2 3 AL control En el bus A se pone el contenido del registro rs En el bus B se pone el contenido del registro rt ExtOp emtoreg ALSelB=xx ALOp=xx

33 Ruta de datos Segunda parte PCWrCond= PCWr= Zero PCSrc=x BrWr= PC IorD=x emwr= RAdr EORIA WrAdr Din Dout IR IRWr= r s r t r t r d RegDst=x 5 5 Ra Rb RW busw RegWr= FICHERO DE REGISTROS Bus A Bus B 4 <<2 ALselA= 2 3 A L AL control Zero Target En caso de que sea un salto se calcula el desplazamiento relativo, se suma al PC y se guarda en el registro Target Al control para generar Beq, Rtype, Ori, emory Op Func 6 6 Imm 6 ExtOp= Extend emtoreg ALSelB= ALOp=suma 33

34 Ruta de datos Completado del salto PCWrCond= PCWr= Zero PCSrc= BrWr= PC IorD=x emwr= RAdr EORIA WrAdr Din Dout IR IRWr= r s r t r t r d RegDst=x 5 5 Ra Rb RW RegWr= FICHERO DE REGISTROS Bus A Bus B 4 ALselA= A L Zero Target busw 2 <<2 3 AL control Se carga la dirección de salto en el PC según el resultado de la comparación Imm 6 Extend ExtOp emtoreg ALSelB= ALOp=Sub 34

35 Ruta de datos Ejecución de instrucción aritmético-lógica Primera parte PCWrCond= PCWr= Zero PCSrc BrWr= PC IorD emwr= RAdr EORIA WrAdr Din Dout IR IRWr= r s r t r t r d RegDst= 5 5 Ra Rb RW RegWr= FICHERO DE REGISTROS Bus A Bus B 4 ALselA= A L Zero Target busw 2 3 <<2 AL control Imm 6 Extend ExtOp emtoreg ALSelB= ALOp=Rtype 35

36 Ruta de datos Segunda parte PCWrCond= PCWr= Zero PCSrc BrWr= PC IorD emwr= RAdr EORIA WrAdr Din Dout IR IRWr= r s r t r t r d RegDst= 5 5 Ra Rb RW RegWr= FICHERO DE REGISTROS Bus A Bus B 4 ALselA= A L Zero Target busw 2 3 <<2 AL control Imm 6 Extend ExtOp emtoreg ALSelB= ALOp=Rtype 36

37 nidad de Control IPLEENTACIÓN DEL CONTROL.- Introducción Hay diversas técnicas para implementar la unidad de control. La utilidad de estas técnicas depende de la complejidad del control, características tales como número medio de estados siguientes para un estado dado, y la tecnología de implementación. La forma más sencilla de implementar la función de control es con un bloque de lógica que tome como entradas el estado actual y el campo de código de operación del registro de una instrucción y produzca como salidas las señales de control del camino de datos y el valor del estado siguiente. La representación inicial puede ser un diagrama de estados finito o un microprograma. En el último caso, cada microinstrucción representa un estado. En una implementación que utilice un controlador de estados finitos, la función del estado siguiente se calculará con lógica. n método alternativo de implementación calcula la función del estado siguiente utilizando un contador que incrementa el estado actual para determinar el estado siguiente. Cuando el estado siguiente no es el siguiente secuencialmente, se utiliza otra lógica para determinar el estado 2.- icroprogramación: Simplificar El Diseño Del Control Para el control de un sencillo subconjunto IPS, una representación gráfica de la máquina de estados finitos es adecuada, ya que podemos dibujar el diagrama en una página y traducirlo a ecuaciones sin generar muchos errores. No así podemos considerar una implementación del repertorio completo de instrucciones IPS, que contiene unas cien instrucciones, evidentemente la función de control será mucho más compleja. En estos casos, especificar la unidad de control con una representación gráfica será molesto y determinar las ecuaciones con funciones complejas de control, sin cometer ningún error, es algo prácticamente imposible. Podemos utilizar algunas ideas de programación para crear un método de especificación del control que haga más fácil comprenderlo y diseñarlo. Suponer que 37

38 nidad de Control consideramos el conjunto de señales de control que deben ser asertadas en un estado como una instrucción que va a ser ejecutada por el camino de datos. Para evitar confundir las instrucciones IPS con las instrucciones de control de bajo nivel, a estas últimas las denominamos microinstrucciones. Cada microinstrucción define el conjunto de señales de control del camino de datos que deben ser asertadas en un estado dado. Ejecutar una microinstrucción tiene el efecto de asertar las señales de control especificadas por la microinstrucción. Además de definir qué señales de control deben ser asertadas, debemos especificar también el secuenciamiento, es decir, indicar la microinstrucción que debe ejecutarse a continuación. En la máquina de estados finitos el estado siguiente se determina de una de dos formas diferentes. A veces un estado sencillo sigue al estado actual incondicionalmente, en otros casos, la elección del estado siguiente depende de la entrada. Cuando escribimos los programas, también tenemos una situación análoga. A veces, un grupo de instrucciones debe ejecutarse de forma secuencial, y en ocasiones necesitamos saltar. En programación lo implícito es la ejecución secuencial, mientras que saltar debe indicarse explícitamente. Lógica de control Combinacional Salidas de control del camino de datos Salidas Entradas Estado siguiente Entradas del campo de código de operación del registro de instrucción Registro de 38

39 nidad de Control Para describir el control como un programa, también asumiremos que las microinstrucciones escritas secuencialmente se ejecutarán en secuencia, mientras que saltar debe indicarse explícitamente. El mecanismo de secuenciamiento implícito puede implementarse utilizando una estructura como la de la figura, sin embargo, con frecuencia es más eficiente implementar el estado secuencial implícito utilizando un contador. Sumado Registro de estado Dispatch RO OP Name State Rtype jmp beq ori lw sw Dispatch RO2 OP Name State lw sw RO RO2 Código de Diseñar el control como un programa que implementa las instrucciones máquina en función de microinstrucciones más sencillas se denomina microprogramación. La idea clave es representar simbólicamente los valores asertados en las líneas de control, para que el programa sea un representación de microinstrucciones, de la misma forma que el lenguaje ensamblador es una representación de las instrucciones máquinas. Al escoger una sintaxis para un lenguaje ensamblador, habitualmente representamos las instrucciones máquina como una serie de campos (código de operación, registros y campo de desplazamiento o inmediato), de igual forma, representamos una microinstrucción sintácticamente como una secuencia de campos cuyas funciones están relacionadas. 39

40 nidad de Control 3.- Definición Del Formato De icroinstrucción El microprograma es una representación simbólica del control que será traducido por un programa a la lógica de control. De esta forma, podemos escoger el número de campos que tenga una microinstrucción y las señales de control que afectarán a cada campo. El formato de la microinstrucción debe escogerse para que simplifique la representación, haciendo más fácil la redacción y comprensión del microprograma. Por ejemplo, es útil tener un campo que controle la AL y un conjunto de tres campos que determinen las dos fuentes para la operación de la AL así como el destino del resultado de la AL. Además para la legibilidad también nos gustaría que el formato de microprograma hiciese difícil o imposible escribir microinstrucciones inconsistentes. na microinstrucción es inconsistente si requiere que una señal de control dad sea inicializada por dos valores diferentes. Para evitar un formato que permita microinstrucciones inconsistentes podemos hacer que cada campo de la microinstrucción sea responsable de especificar un conjunto de señales de control sin solapamiento en el tiempo. Las señales que nunca son asertadas simultáneamente pueden compartir el mismo campo. A continuación se muestra cómo puede descomponerse una microinstrucción en ocho campos y define la función general de cada campo. Los siete primeros campos de la microinstrucción controlan el camino de datos, mientras que el campo de secuenciamiento especifica cómo seleccionar la siguiente microinstrucción. Nombre campo Control AL SRC SRC2 Destino AL emoria Registro memoria Control PCWrite Secuenciamiento Función de campo Especifica la operación que va a realizar la AL durante este reloj Especifica la fuente para el primer operando de la AL Especifica la fuente para el segundo operando de la AL Especifica un registro para escribir el resultado de la AL Especifica lectura o escritura y la fuente de la dirección Especifica el registro destino (para una lectura en memoria) o la fuente de los valores (para una escritura en memoria). Especifica la escritura del PC. Especifica cómo escoger la siguiente instrucción que se va a ejecutar 4

41 nidad de Control Las microinstrucciones se colocan habitualmente en una RO o una PLA, así podemos asignar direcciones a las microinstrucciones. Las direcciones habitualmente se dan secuencialmente. Existen tres métodos diferentes para seleccionar la siguiente microinstrucción que se va a ejecutar:.- Incrementar la dirección de la microinstrucción actual para obtener la dirección de la microinstrucción siguiente. Esto se indica en el microprograma colocando seq en el campo secuenciamiento. Como la ejecución secuencial de las instrucciones se encuentra con frecuencia, muchos sistemas de microprogramación hacen esto implícitamente y sencillamente dejan en blanco la entrada. 2.- Saltar a la microinstrucción donde comienza la ejecución de la siguiente instrucción en IPS. Rotularemos esta microinstrucción inicial (correspondiente al estado ) como Fetch (Búsqueda) y colocaremos el indicador Fetch en el campo de secuenciamiento para indicar esta acción. 3.- Seleccionar la siguiente microinstrucción según la entada de la unidad de control. Seleccionar la siguiente microinstrucción basándose en alguna entrada se denomina distribución (dispatch). Las operaciones de distribución habitualmente se implementan creando una tabla que contiene las direcciones de las microinstrucciones destino. Esta tabla está indexada por la entrada de la unidad de control y puede ser implementada en una RO o en una PLA. Con frecuencia hay múltiples tablas de distribución; para esta implementación necesitamos dos tablas de distribución, una para distribuir a partir del estado y otra para distribuir a partir del estado 2. indicamos que la microinstrucción siguiente debería escogerse por una operación de distribución colocando dispatch i, donde i es el número de la tabla de distribución en el campo secuenciamiento. En la siguiente figura se da una descripción de los valores permitidos para cada campo de la microinstrucción y el efecto de los valores de los diferentes campos. Nombre de campo Valores de campo Función del campo con valores específicos 4

42 nidad de Control Control AL SCR SCR2 Destino AL emoria Registro memoria Control PCWrite Secuenciamiento Add Func code Subt PC Rs Hace que sume la AL tiliza el código de función de la instrucción para determinar el control de la AL Hace que reste la AL tiliza el PC como primera entrada a la AL El registro rs es la primera entrada a la AL 4 tiliza 4 para la segunda entada a la AL Extend Extshft Rt Target Rd Read PC Read AL Write AL IR Write rt Read rt AL Target-cond Jump address Seq Fetch Dispatch i tiliza la salida de la unidad de extensión de signo como segunda entrada a la AL tiliza la salida del desplazamiento en 2 unidades como segunda entrada a la AL El registro rt es la segunda entrada a la AL La salida de la AL se escribe en el registro destino La salida de la AL se escribe en el registro rd Lee en memoria utilizando el PC como dirección Lee en memoria utilizando la salida de la AL como dirección Escribe en memoria utilizando la salida de la AL como dirección El dato leído en memoria se escribe en el registro de instrucción. El dato leído en memoria se escribe en el registro rc El dato leído en memoria se escribe en el registro rt Escribe la salida de la AL en el PC Si la salida Zero de la AL está activa, escribe el PC con el contenido del registro destino Escribe el PC con la dirección de bifurcación de la instrucción Elige secuencialmente la siguiente microinstrucción Va a la primera microinstrucción para comenzar una nueva instrucción. Distribuye utilizando la RO especificada por i 4.- Creación Del icroprograma Ahora crearemos es microprograma para la unidad de control. Rotularemos las instrucciones del microprograma con rótulos simbólicos, que se pueden utilizar para especificar el contenido de las tablas de distribución. Al escribir el microprograma, hay dos situaciones en las cuales puede ser deseable dejar en blanco un campo de la microinstrucción. Cuando un campo que controla una unidad funcional o que hace que se escriba un estado está en blanco. Ninguna señal de control debe ser asertada. Cuando 42

43 nidad de Control un campo solamente especifica el control de un multiplexor que de termina la entrada a una unidad funcional, dejarlo en blanco significa que no nos importa la entrada de la unidad funcional (la salida del multiplexor). La forma más fácil de comprender el microprograma es descomponerlo en partes que traten cada componente de la ejecución de la instrucción. El primer componente de cada ejecución de instrucción es buscar las instrucciones, a continuación decodificarlas y calcular por lo tanto el PC secuencial como el PC de destino de salto. Estas dos acciones corresponden directamente a los dos primeros pasos de ejecución de cualquier instrucción. Las dos microinstrucciones necesarias para estos dos primeros pasos se muestran a continuación: Rótulo Control AL SRC SRC2 Destino AL memoria Registro memoria Control PCWrite Secuencia Fetch Add PC 4 Read PC IR AL Seq Add PC Extshft Target Dispatch Para comprender qué hace cada microinstrucción, es más fácil observar el efecto de un grupo de campos. En la primera microinstrucción, los campos asertados y sus efectos son: Campos Control AL,SCR,SCR2 emoria y registro memoria Control PCWrite Secuenciamiento Efecto Calcula PC+4 Busca instrucción en IR Hace que la salida de la AL se escriba en el PC Va a la siguiente microinstrucción Para la segunda microinstrucción, los registros se leerán utilizando los campos del Registro de instrucción. Las demás operaciones controladas por la microinstrucción son: Campos Control AL,SCR,SCR2 Secuenciamiento Efecto Almacena PC+extensión de signo en Destino tiliza la tabla de distribución para escoger la dirección de la siguiente microinstrucción. Podemos considerar la operación de distribución como una sentencia case que utiliza el código de operación y la tabla de distribución para seleccionar una de cuatro secuencias de microinstrucciones (referencia a memoria, instrucciones tipo R, saltos y bifurcaciones). El microprograma para las instrucciones de referencia a memoria tiene 43

44 nidad de Control cuatro microinstrucciones, como mostramos más abajo. La primera instrucción hace el cálculo de la dirección de memoria. Es necesaria una secuencia de dos instrucciones para completar una carga (lectura de memoria seguida por escritura en registro), mientras que el almacenamiento requiere solamente una microinstrucción después del cálculo de la dirección de memoria: Rótulo Control AL SRC SRC2 Destino AL emoria Registro memoria Control PCWrite Secuencia LWSW Add rs Extend Dispatch2 LW2 Add rs Extend ReadAL Seq Add rs Extend ReadAL Write rt Fetch SW2 Add rs Extend ReadAL Read rt Fetch Examinamos los campos de la primera microinstrucción en esta secuencia: Campos Control AL,SCR,SCR2 Secuenciamiento Efecto Calcula la dirección de memoria: registro(rs)+signo extendido tiliza la tabla de distribución 2 para bifurcar o a LW2 o a SW2 La primera microinstrucción de la secuencia especifica que lw está rotulada en LW2. esta microinstrucción tiene el siguiente efecto: Campos Control AL,SCR,SCR2 emoria Secuenciamiento Efecto La salida de la Alu es todavía una dirección de memoria Lee en memoria utilizando la salida de la AL como dirección Va a la siguiente microinstrucción La siguiente microinstrucción completa la ejecución con una microinstrucción que tiene los efectos siguientes: Campos Control AL,SCR,SCR2 emoria y registro memoria Secuenciamiento Efecto La salida de la Alu es todavía una dirección de memoria Lee en memoria utilizando la salida de la AL como dirección y escribe el resultado en el registro designado por rt Va a la microinstrucción rotulada por Fetch Observar que como los campos de las dos microinstrucciones que completan una instrucción de cargar una palabra no son contradictorios, podemos combinar estas dos microinstrucciones en una sola microinstrucción de la forma 44

45 nidad de Control Rótulo Control AL SRC SRC2 Destino AL emoria Registro memoria Control PCWrite Secuencia LW2 Add rs Extend ReadAL Write rt Fetch Este proceso es realizado con frecuencia por un optimizador de microcódigo para reducir el número de microinstrucciones. Sin embargo, si realizamos este cambio, probablemente se incrementaría la duración del ciclo de reloj, ya que tanto el acceso a memoria como la escritura de registros se deberían realizar en una sola microinstrucción, y cada microinstrucción corresponde a un solo ciclo de reloj. Por tanto, cuando intentamos optimizar el microcódigo, a mano o con un programa, debemos saber qué conjuntos de acciones de distribución pueden realizarse en el ciclo de reloj que estamos diseñando. La microinstrucción de almacenamiento, rotulada SW2, opera de forma análoga a la microinstrucción de carga rotulada por LW2: Campos Control AL,SCR,SCR2 emoria y registro memoria Secuenciamiento Efecto La salida de la Alu es todavía una dirección de memoria Escribe en memoria utilizando la salida de la AL como dirección y el registro designado por rt como valor a escribir Va a la microinstrucción rotulada por Fetch La secuencia del microprograma para las instrucciones tipo R está formadas por dos microinstrucciones: la primera realiza la operación de la AL, mientras que la segunda escribe el resultado en el archivo de registros: Rótulo Control AL SRC SRC2 Destino AL emoria Registro memoria Control PCWrite Secuencia Rformat Funccode rs rt Seq Funccode rs rt rd Fetch Igual que en el ejemplo de instrucción de carga anterior, podríamos combinar estas dos microinstrucciones en una sola microinstrucción. Sin embargo, esto significaría que la AL y la postescritura en el registro se realizarían en el mismo ciclo de reloj, 45

Fundamentos de los Computadores Grado en Ingeniería Informática (hasta final del diseño monociclo)

Fundamentos de los Computadores Grado en Ingeniería Informática (hasta final del diseño monociclo) 8. Diseño del Procesador Fundamentos de los Computadores Grado en Ingeniería Informática (hasta final del diseño monociclo) Objetivos Plantear y modificar una ruta de datos para un repertorio de instrucciones

Más detalles

El procesador: camino de datos y. IEC UTM Moisés E. Ramírez G. control

El procesador: camino de datos y. IEC UTM Moisés E. Ramírez G. control El procesador: camino de datos y IEC UTM Moisés E. Ramírez G. control 1 Introducción Se diseñará una implementación que incluya las instrucciones más importantes. Instrucciones de acceso a memoria: lw,

Más detalles

Convenciones. Introducción. Unidades principales en la implementación. El procesador: camino de datos y control. Tipos de elementos:

Convenciones. Introducción. Unidades principales en la implementación. El procesador: camino de datos y control. Tipos de elementos: Unidades principales en la implementación Data El procesador: camino de datos y control IEC UTM Moisés E. Ramírez G. 1 Register # PC Address Instruction Instruction Registers Register # ALU memory Register

Más detalles

Fundamentos de los Computadores Grado en Ingeniería Informática (desde diseño multiciclo en adelante)

Fundamentos de los Computadores Grado en Ingeniería Informática (desde diseño multiciclo en adelante) 8. Diseño del Procesador Fundamentos de los Computadores Grado en Ingeniería Informática (desde diseño multiciclo en adelante) Estructura del tema etodología de sincronización Diseño de un procesador IPS

Más detalles

4.5 Microprogramación para simplificar el diseño del control

4.5 Microprogramación para simplificar el diseño del control 4.5 Microprogramación para simplificar el diseño del control Para el control de la implementación multiciclos del subconjunto MIPS considerado, una máquina de estados como la mostrada en la figura 4.28

Más detalles

Elementos constituyentes de la ejecución de un programa

Elementos constituyentes de la ejecución de un programa Micro-Operaciones En la ejecución de un programa en una computadora, se ejecutan instrucciones, que pueden subdividirse en ciclos: Búsqueda/Ejecución Cada ciclo se compone a su vez de una serie de operaciones

Más detalles

5. Procesador: camino de datos y control

5. Procesador: camino de datos y control Fundamentos de Computadores Ingeniería de Telecomunicación Departamento de Automática Escuela Politécnica Superior Curso académico 2009 2010 Contenidos 1 Control de operaciones elementales 2 3 4 5 Objetivos

Más detalles

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicio 1. Dada la siguiente expresión de un lenguaje de alto nivel int a = 6; int b = 7; int c = 3; int d; d = (a+b) * (a+b); Indique

Más detalles

Diseño del procesador MIPS R2000

Diseño del procesador MIPS R2000 Diseño del procesador MIPS R2000 Aula Virtual IS09 Sergio Barrachina Mir Área de Arquitectura y Tecnología de Computadores Dpt. de Ingeniería y Ciencia de los Computadores Universidad Jaume I Índice 1.

Más detalles

El procesador. Datapath y control

El procesador. Datapath y control El procesador Datapath y control Introducción En esta parte del curso contiene: Las principales técnicas usadas en el diseño de un procesador. La construcción del datapath y del control. Estudiaremos la

Más detalles

Tema 1: PROCESADORES SEGMENTADOS

Tema 1: PROCESADORES SEGMENTADOS Tema 1: PROCESADORES SEGMENTADOS 1.1. Procesadores RISC frente a procesadores CISC. 1.2. Clasificación de las arquitecturas paralelas. 1.3. Evaluación y mejora del rendimiento de un computador. 1.4. Características

Más detalles

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Camino de datos y control: implementación uniciclo Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa. Introducción. 2. Construcción

Más detalles

16/04/2012. Introducción. Construyendo el Datapath. Esquema de implementación Simple. Unidad de Control. Arquitectura de Computadoras Primavera 2012

16/04/2012. Introducción. Construyendo el Datapath. Esquema de implementación Simple. Unidad de Control. Arquitectura de Computadoras Primavera 2012 /4/22 Introducción rquitectura de Computadoras Primavera 22 Construyendo el path Esquema de implementación Simple Unidad de Control 2 Los elementos básicos de un sistema de computo son: Nos centraremos

Más detalles

Plataformas de soporte computacional: arquitecturas avanzadas,

Plataformas de soporte computacional: arquitecturas avanzadas, Plataformas de soporte computacional: arquitecturas avanzadas, sesión Diego R. Llanos, Belén Palop Departamento de Informática Universidad de Valladolid {diego,b.palop}@infor.uva.es Índice. Arquitectura

Más detalles

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL DEL PROCESADOR

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL DEL PROCESADOR MICROINSTRUCCIONES FUNCIONAMIENTO DE LA UNIDAD DE CONTROL DEL PROCESADOR La memoria de las maquinas IAS consiste en 1000 posiciones de almacenamiento, llamadas palabras, de 40 digitos binarios (bits) cada

Más detalles

Sección de procesamiento: El camino de datos

Sección de procesamiento: El camino de datos Sección de procesamiento: El camino de datos Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain. Estructura del curso 1. Evolución

Más detalles

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria 1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo

Más detalles

ARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN

ARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN ARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN De Diego Varona, Rubén Romay López, Oscar Manuel Vega Martínez, Jorge INTRODUCCIÓN La representación de la instrucción en la computadora se denomina formato.

Más detalles

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicio 1. Escriba un programa en ensamblador del MIPS 32 para calcular la suma de los 100 primeros números naturales. El programa

Más detalles

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES 1º I.T.I.G. I.T.I.S.

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES 1º I.T.I.G. I.T.I.S. Nombre: SOLUCIÓN Madrid, 24 de abril de 2008. NOTAS: Duración: 60 minutos. Se puede hacer a lápiz. No se permiten apuntes ni calculadora. No se permite desgrapar las hojas. 1. (2 puntos) Indique cuáles

Más detalles

La Unidad de Control y el Camino de Datos

La Unidad de Control y el Camino de Datos Prof. Rodrigo Araya E. raraya@inf.utfsm.cl Universidad Técnica Federico Santa María Departamento de Informática Valparaíso, 1 er Semestre 2006 1 2 3 Contenido Veremos el diseño completo de un subconjunto

Más detalles

Arquitectura del MIPS: Introducción

Arquitectura del MIPS: Introducción Arquitectura del MIPS: Introducción Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain. Estructura del curso 1. Evolución y caracterización

Más detalles

Introducción al lenguaje ensamblador DLX: instrucciones de enteros.

Introducción al lenguaje ensamblador DLX: instrucciones de enteros. PRÁCTICA 0.a Introducción al lenguaje ensamblador DLX: instrucciones de enteros. OBJETIVO El objetivo de esta práctica es la familiarización con el lenguaje ensamblador DLX, analizando la ejecución de

Más detalles

Organización del Computador I Verano. Control Multiciclo. Basado en el capítulo 5 del libro de Patterson y Hennessy

Organización del Computador I Verano. Control Multiciclo. Basado en el capítulo 5 del libro de Patterson y Hennessy Organización del Computador I Verano Control Multiciclo Basado en el capítulo 5 del libro de Patterson y Hennessy Verano 2014 Profesora Borensztejn Resumen Step name Instruction fetch Instruction decode/register

Más detalles

El repertorio de instrucciones

El repertorio de instrucciones El repertorio de instrucciones Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain. Estructura del curso 1. Evolución y caracterización

Más detalles

Ejercicios del tema 4. El procesador

Ejercicios del tema 4. El procesador Ejercicios del tema 4. El procesador Estructura del procesador elemental WepSIM Address Bus Data Bus Control Bus C0 Ta Internal Bus RA RB RC LC MAR T9 Memory MRdy BE ADDR DATA R W A31-A0 BE3-BE0 D31-D0

Más detalles

Arquitectura de Computadoras. Clase 4 Segmentación de Instrucciones

Arquitectura de Computadoras. Clase 4 Segmentación de Instrucciones Arquitectura de Computadoras Clase 4 Segmentación de Instrucciones Segmentación de cauce: Conceptos básicos La segmentación de cauce (pipelining) es una forma particularmente efectiva de organizar el hardware

Más detalles

Arquitectura de Computadores II Clase #4

Arquitectura de Computadores II Clase #4 Clase #4 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Contenido Unidad de control Control cableado Control microprogramado MIC-1 La Unidad de Control La instrucción

Más detalles

Arquitectura de Computadores II Clase #4

Arquitectura de Computadores II Clase #4 Clase #4 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Contenido Unidad de control Control cableado Control microprogramado MIC-1 1 La Unidad de Control La instrucción

Más detalles

Arquitectura de Computadores II Clase #3

Arquitectura de Computadores II Clase #3 Arquitectura de Computadores II Clase #3 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Registros Repertorio de instrucciones Modos de direccionamiento El

Más detalles

GUIA 24: REPERTORIO DE INSTRUCCIONES

GUIA 24: REPERTORIO DE INSTRUCCIONES Prof Sandro Costantini GUIA 24: INSTRUCCIONES Las instrucciones maquinas son las acciones elementales que puede ejecutar un computador Una acción compleja deberá codificarse como una secuencia de instrucciones

Más detalles

TEMA 4 ESTRUCTURA VON-NEUMANN DEL COMPUTADOR DIGITAL

TEMA 4 ESTRUCTURA VON-NEUMANN DEL COMPUTADOR DIGITAL TEMA 4 ESTRUCTURA VON-NEUMANN DEL COMPUTADOR DIGITAL 1. ESTRUCTURA GENERAL DE UN COMPUTADOR VON-NEUMANN. Unidad de memoria (UM) Unidad Aritmético Lógica (UAL) Unidad de control (UC) Buses. Unidades de

Más detalles

Organización de Computadoras. Principios de Conjuntos de Intrucciones

Organización de Computadoras. Principios de Conjuntos de Intrucciones Organización de Computadoras Principios de Conjuntos de Intrucciones Clasifición de las ISA Secuencia de Código para C = A + B Stack Acumulador Registro (Reg-Mem) Registro (load-store) Push A Load A Load

Más detalles

Funcionamiento de las computadoras

Funcionamiento de las computadoras Funcionamiento de las computadoras Introducción a las ciencias de la computación Antonio López Jaimes UNIVERSIDAD AUTÓNOMA METROPOLITANA UNIDAD IZTAPALAPA Plan de la presentación El modelo de von Neuman

Más detalles

Tema 2. Diseño del repertorio de instrucciones

Tema 2. Diseño del repertorio de instrucciones Enunciados de problemas Tema 2. Diseño del repertorio de instrucciones Arquitectura de Computadores Curso 2009-2010 Tema 2: Hoja: 2 / 10 Tema 2: Hoja: 3 / 10 Base teórica Al diseñar un computador, uno

Más detalles

4.1 Ejecución de instrucciones en el nivel de Microprogramación

4.1 Ejecución de instrucciones en el nivel de Microprogramación 4. Microprogramación (Nivel 1) La ejecución de una instrucción de máquina (nivel 2) requiere de varias etapas internas dentro de la CPU para ser ejecutadas. Así cada instrucción de nivel 2, dependiendo

Más detalles

Tema 4. La Unidad de Control

Tema 4. La Unidad de Control Enunciados de problemas Tema 4. Arquitectura de Computadores Curso 2009-2010 Tema 4: Hoja: 2 / 22 Tema 4: Hoja: 3 / 22 Base teórica es el órgano de gobierno del computador. Es el elemento encargado de

Más detalles

Estructura y Tecnología de Computadores II (Gestión y Sistemas)

Estructura y Tecnología de Computadores II (Gestión y Sistemas) Temario Estructura y Tecnología de Computadores II (Gestión y Sistemas) Contenido del temario El temario propuesto en la asignatura coíncide con los siguientes apartados del texto base teórico Estructura

Más detalles

Fundamentos de los Computadores Grado en Ingeniería Informática

Fundamentos de los Computadores Grado en Ingeniería Informática 7. Camino de datos y unidad de control o Fundamentos de los Computadores Grado en Ingeniería Informática Introducción La versatilidad es una característica deseable de los sistemas digitales Un sistema

Más detalles

instrucción(ir) y CP se incrementa en 1.

instrucción(ir) y CP se incrementa en 1. El registro contador de programa(cp) guarda la dirección de la próxima instrucción. La dirección se guarda en el registro de instrucción(ir) y CP se incrementa en 1. Si no hay bus directo de acceso a memoria

Más detalles

El procesador. Diseño del control

El procesador. Diseño del control El procesador Diseño del control Datapath MIPS simple Universidad de Sonora Arquitectura de Computadoras 2 MIPS simple El datapath anterior cubre instrucciones: Aritméticas-lógicas: add, sub, and, or y

Más detalles

Organización del Computador I Verano. MIPS (2 de 2) Basado en el capítulo 2 del libro de Patterson y Hennessy

Organización del Computador I Verano. MIPS (2 de 2) Basado en el capítulo 2 del libro de Patterson y Hennessy Organización del Computador I Verano MIPS (2 de 2) Basado en el capítulo 2 del libro de Patterson y Hennessy Verano 2014 Profesora Borensztejn Arquitectura MIPS (R2000) Registros Formato de Instrucción

Más detalles

Fundamentos y Arquitectura de Computadores (ITTSE UV)

Fundamentos y Arquitectura de Computadores (ITTSE UV) REGISTROS DEL MIPS32 Nombre Código del Uso común registro $zero 0 El contenido de este registro siempre es nulo $v0 - $v1 2 3 Valores de retorno para las llamadas al sistema $a0 - $a3 4 7 Argumentos para

Más detalles

Formato de instrucciones

Formato de instrucciones Formato de instrucciones Material Elaborado por el Profesor Ricardo González A partir de Materiales de las Profesoras Angela Di Serio María Blanca Ibañez Elementos de una instrucción de máquina add rd

Más detalles

Arquitectura del CPU. Organización del Computador 1 Verano 2016

Arquitectura del CPU. Organización del Computador 1 Verano 2016 Arquitectura del CPU Organización del Computador 1 Verano 2016 Agenda De dónde venimos? Introducción: esquema de una computadora Representación de la información Circuitos Combinatorios Circuitos Secuenciales

Más detalles

UNIDAD DE CONTROL MICROPROGRAMADA.

UNIDAD DE CONTROL MICROPROGRAMADA. UNIDAD DE CONTROL MICROPROGRAMADA. Como se ha visto en el capítulo anterior, la UC puede ser diseñada a partir de técnicas de síntesis de sistemas secuenciales y la utilización de una ROM para guardar

Más detalles

Fundamentos y Arquitectura de Computadores (ITTSE UV)

Fundamentos y Arquitectura de Computadores (ITTSE UV) Fundamentos y Arquitectura de Computadores (ITTSE UV) F. Micó REGISTROS DEL MIPS R2000/R3000 Nombre Código del Uso registro $zero 0 Valor constante 0 $v0 - $v1 2 3 Valores de retorno para las llamadas

Más detalles

Diseño Procesador Monociclo

Diseño Procesador Monociclo Diseño Procesador Monociclo Especificación de la arquitectura del repertorio de instrucciones y de las instrucciones que podrá ejecutar el procesador. Modelo Carga-Almacenamiento. Se implementará el procesador

Más detalles

Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS

Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS GAC: Grupo de Arquitectura de Computadores Dpt. Electrónica e Sistemas. Universidade da Coruña. Bibliografía Computer Organization

Más detalles

Microprocesador. Introducción. Instituto Sagrado Corazón de Jesús

Microprocesador. Introducción. Instituto Sagrado Corazón de Jesús Microprocesador Introducción El microprocesador es la parte de la computadora diseñada para llevar acabo o ejecutar los programas. Este viene siendo el cerebro de la computadora, el motor, el corazón de

Más detalles

Unidad 3. Facultad de Ciencias Departamento de Electrónica

Unidad 3. Facultad de Ciencias Departamento de Electrónica Universidad Autónoma de San Luis Potosí Facultad de Ciencias Departamento de Electrónica Unidad 3 Instrucciones: Lenguaje de la Computadora Dra. Ruth M. Aguilar Ponce Primavera Unidad 3 Operaciones del

Más detalles

Tema 3 (III) Fundamentos de la programación en ensamblador

Tema 3 (III) Fundamentos de la programación en ensamblador Tema 3 (III) Fundamentos de la programación en ensamblador Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenidos } Fundamentos básicos de la

Más detalles

Arquitectura de Computadores. Tema 8. Diseño de un CPU de multiciclo

Arquitectura de Computadores. Tema 8. Diseño de un CPU de multiciclo Arquitectura de Computadores Tema 8 Diseño de un CPU de multiciclo Eduardo Daniel Cohen dcohen@arnet.com.ar http://www.herrera.unt.edu.ar/arqcom Diseño RISC D. Cohen UNT Arq. de Computadoras - 24 op 6

Más detalles

TEMA VI DISEÑO DEL PROCESADOR

TEMA VI DISEÑO DEL PROCESADOR TEMA VI DISEÑO DEL PROCESADOR Diseño del procesador 6.1 Repertorio de instrucciones 6.1.1 Procesadores de tres direcciones 6.1.2 Procesadores de dos direcciones 6.1.3 Procesadores de una dirección (procesadores

Más detalles

DISEÑO DEL PROCESADOR

DISEÑO DEL PROCESADOR DISEÑO DEL PROCESADOR Partes de un sistema digital Unidad de procesamiento: Se almacenan y transforman los datos Unidad de control: Genera las secuencias se señales de control de acuerdo al algoritmo de

Más detalles

Diseño de la ruta de datos multiciclo. Procesador Multiciclo. Diseño de la ruta de datos multiciclo. Diseño de la ruta de datos multiciclo

Diseño de la ruta de datos multiciclo. Procesador Multiciclo. Diseño de la ruta de datos multiciclo. Diseño de la ruta de datos multiciclo lw sw mem. instrución banco reg. mu LU mem. dato mu Camino crítico mem. instrución banco reg. mu LU mem. dato setup beq mem. instrución banco reg. mu LU mu setup R mem. instrución banco reg. mu LU mu setup

Más detalles

Estructura y Tecnología de Computadores. Módulo G. Estructura del procesador. Tema 16. Diseño de la ruta de datos y la unidad de control

Estructura y Tecnología de Computadores. Módulo G. Estructura del procesador. Tema 16. Diseño de la ruta de datos y la unidad de control Estructura y Tecnología de Computadores Módulo G Estructura del procesador Tema 6 Diseño de la ruta de datos y la unidad de control José Manuel Mendías Cuadros Dpto Arquitectura de Computadores y Automática

Más detalles

Unidad 5 Unidad central de proceso

Unidad 5 Unidad central de proceso Unidad 5 Unidad central de proceso Objetivo El objetivo de esta unidad es que el alumno logre: entender el funcionamiento básico de la Unidad Central de Proceso (UCP), definir las componentes básicas de

Más detalles

LECCIÓN 14: DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACION

LECCIÓN 14: DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACION ESTRUCTURA DE COMPUTADORES Pag. 14.1 LECCIÓN 14: DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACION 1. Introducción Vamos a aplicar las ideas de microprogramación al caso de un minicomputador similar al

Más detalles

COMPUTADORES SEGMENTADOS (DLX)

COMPUTADORES SEGMENTADOS (DLX) DEPARTAMENTO DE AUTOMÁTICA ARQUITECTURA Y TECNOLOGÍA DE COMPUTADORES Laboratorio de Arquitectura e Ingeniería de Computadores PRÁCTICA I COMPUTADORES SEGMENTADOS (DLX) OBJETIVO El objetivo de la práctica

Más detalles

EC - Bibliografía EC -

EC - Bibliografía EC - . Introducción 2. IPS 3. Segmentación 4. Riesgos estructurales 5. Riesgos de datos 6. Riesgos de control 7. Riesgos de control con riesgos LDE 8. Resumen Bibliografía Hennessy Patterson Apendice A, 4ª

Más detalles

Tema 4 (II) El procesador

Tema 4 (II) El procesador Tema 4 (II) El procesador Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenidos 1. Técnicas de control 1. Lógica cableada 2. Lógica almacenada

Más detalles

Arquitectura de Computadoras para Ingeniería

Arquitectura de Computadoras para Ingeniería rquitectura de Computadoras para Ingeniería (Cód. 7526) Cuatrimestre 26 Dra. Dana K. Urribarri DCIC - UNS Dana K. Urribarri C 26 Modelos de arquitecturas Dana K. Urribarri C 26 2 Modelo von Neumann El

Más detalles

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES Ejercicio 1 Los siguientes números se encuentran representados en complemento a dos utilizando 6 bits. Indique su correspondiente valor decimal: a) 010011 b) 100111 Ejercicio 3 Dada la siguiente expresión

Más detalles

INTRUCCIONES: LENGUAJE MAQUINA

INTRUCCIONES: LENGUAJE MAQUINA INTRUCCIONES: LENGUAJE MAQUINA 1.- INTRODUCCION Conceptos importantes Instrucción: Orden al hardware del Computador Repertorio de Instrucciones Lenguaje Máquina (ML) Lenguaje Ensamblador (AL) Lenguaje

Más detalles

Un. VIII. Generación de Código Objeto

Un. VIII. Generación de Código Objeto Un. VIII. Generación de Código Objeto 8.1 Lenguaje Máquina Es el que proporciona poca o ninguna abstracción del microprocesador de un ordenador. El lenguaje máquina solo es entendible por las computadoras.

Más detalles

Programación en ensamblador Ejercicios propuestos

Programación en ensamblador Ejercicios propuestos Programación en ensamblador Ejercicios propuestos Ejercicio 1. Dada la siguiente expresión de un lenguaje de alto nivel int a = 6; int b = 7; int c = 3; int d; d = (a+b) * (a+b); Indique un fragmento de

Más detalles

Práctica 7 - Microarquitectura del CPU

Práctica 7 - Microarquitectura del CPU Práctica 7 - Microarquitectura del CPU Organización del Computador 1 Primer cuatrimestre de 2012 Ejercicio 1 El siguiente esquema muestra algunos de los componentes de la microarquitectura de un modelo

Más detalles

Arquitectura de Computadoras I Ingeniería de Sistemas Curso 2017

Arquitectura de Computadoras I Ingeniería de Sistemas Curso 2017 Arquitectura de Computadoras I Ingeniería de Sistemas Curso 217 Práctica de Laboratorio: Microprocesador MIPS Segmentado El objetivo de esta práctica es implementar el microprocesador MIPS (visto en clase

Más detalles

Repaso concepto de programa

Repaso concepto de programa Repaso concepto de programa ANTES se tenían sistemas cableados Datos Secuencia de funciones aritmético/lógicas Resultados Programación en hardware: cuando cambiamos las tareas, debemos cambiar el hardware

Más detalles

El nivel ISA (II)! Conjunto de Instrucciones

El nivel ISA (II)! Conjunto de Instrucciones El nivel ISA (II) Conjunto de Instrucciones EC-2721 Arquitectura del Computador I Que es un Conjunto de Instrucciones? Colección completa de instrucciones comprendida por un procesador Lenguaje de máquina

Más detalles

Memoria y Buses. Organización de Computadoras Universidad Nacional de Quilmes

Memoria y Buses. Organización de Computadoras Universidad Nacional de Quilmes Memoria y Buses Organización de Computadoras Universidad Nacional de Quilmes Índice 1. Memoria Principal e instrucciones 1 1.1. Operaciones sobre la memoria.................... 3 1.2. Interconexión.............................

Más detalles

Ejercicios del tema 4. El procesador

Ejercicios del tema 4. El procesador jercicios del tema 4. l procesador jercicio 1. Considere un procesador de 32 bits con una frecuencia de reloj de 500 MHz con la estructura del mostrado en el jercicio 3. La memoria se direcciona por bytes

Más detalles

LABORATORIO DE COMPUTADORAS

LABORATORIO DE COMPUTADORAS U.N.J.U. F.I. INGENIERÍA INFORMÁTICA LABORATORIO DE COMPUTADORAS ARQUITECTURA BÁSICA DE LAS COMPUTADORAS TEMA: ARQUITECTURA Y MICROPROGRAMACIÓN Conceptos Básicos Computadora Digital: implica que la información

Más detalles

El Conjunto de Instrucciones de la Arquitectura Lagarto I

El Conjunto de Instrucciones de la Arquitectura Lagarto I Sistema de numeración maya (base 20), se considera el primer sistema numérico que uso el cero. El Conjunto de Instrucciones de la Arquitectura Lagarto I i Resumen El conjunto de instrucciones de la arquitectura

Más detalles

Sistemas Operativos. MODULO I. ANTECEDENTES 1.2 introducción a los ordenadores

Sistemas Operativos. MODULO I. ANTECEDENTES 1.2 introducción a los ordenadores Sistemas Operativos MODULO I. ANTECEDENTES 1.2 introducción a los ordenadores Sistema Operativo Un S.O. explota los recursos hardware de uno o mas procesadores para proporcionar un conjunto de servicios

Más detalles

Práctica 4 - Microarquitectura del CPU

Práctica 4 - Microarquitectura del CPU Práctica 4 - Microarquitectura del CPU Organización del Computador 1 Verano 2011 Ejercicio 1 El siguiente esquema muestra algunos de los componentes de la microarquitectura de un modelo del procesador

Más detalles

Tema 1: PROCESADORES SEGMENTADOS

Tema 1: PROCESADORES SEGMENTADOS Tema 1: PROCESADORES SEGMENTADOS Tema 1: PROCESADORES SEGMENTADOS 1.1. Procesadores RISC frente a procesadores CISC. 1.2. Clasificación de las arquitecturas paralelas. 1.3. Evaluación y mejora del rendimiento

Más detalles

Arquitectura de Computadoras

Arquitectura de Computadoras 4-1 Arquitectura de Computadoras Tema 4: Arquitectura del Set de Instrucciones Eduardo Daniel Cohen dcohen@arnet.com.ar http://www.herrera.unt.edu.ar/arqcom 4-2 Arquitectura del Set de Instrucciones Indice

Más detalles

Estructura de Computadores

Estructura de Computadores Estructura de Computadores Tema 4. El procesador Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido Elementos de un

Más detalles

Prefijo Símbolo Valor Sistema de unidades kibi kilo mebi mega gibi giga tebi tera 2^10 10^3 2^20 10^6 2^30 10^9 2^40 10^12

Prefijo Símbolo Valor Sistema de unidades kibi kilo mebi mega gibi giga tebi tera 2^10 10^3 2^20 10^6 2^30 10^9 2^40 10^12 Unidades y funciones matemáticas usadas en el texto Las unidades básicas de almacenamiento u organización de la información son el bit (símbolo b) Y el byte (símbolo B). Un bit es un dígito binario, es

Más detalles

Procesador MIPS - Registros

Procesador MIPS - Registros MIPS Microprocessor without Interlocked Pipeline Stages Surgió a comienzos de los 80 en Stanford. Sintetiza las principales ideas de RISC. Arquitectura eficiente y simple. 1 Procesador MIPS - Registros

Más detalles

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina

Más detalles

3. Instrucciones: lenguaje de la máquina

3. Instrucciones: lenguaje de la máquina 3. Instrucciones: lenguaje de la máquina Fundamentos de Computadores Ingeniería de Telecomunicación Raúl Durán Díaz Departamento de Automática Escuela Politécnica Superior Curso académico 2009 2010 Raúl

Más detalles

La Unidad Aritmética

La Unidad Aritmética Prof. Rodrigo Araya E. raraya@inf.utfsm.cl Universidad Técnica Federico Santa María Departamento de Informática Valparaíso, 1 er Semestre 2006 1 2 3 4 5 En este capítulo profundizaremos la aritmética computacional

Más detalles

Contenidos: Definiciones:

Contenidos: Definiciones: Contenidos: Definiciones. Esquema de un ordenador. Codificación de la información. Parámetros básicos de un ordenador. Programas e instrucciones. Proceso de ejecución de una instrucción. Tipos de instrucciones.

Más detalles

Fundamentos de los Computadores Grado en Ingeniería Informática

Fundamentos de los Computadores Grado en Ingeniería Informática Repaso Arquitectura MIPS Fundamentos de los Computadores Grado en Ingeniería Informática Arquitectura MIPS Registros Instrucciones Organización de memoria Formato de las instrucciones Modos de direccionamiento

Más detalles

Arquitectura de Computadores Problemas (hoja 2). Curso

Arquitectura de Computadores Problemas (hoja 2). Curso Arquitectura de Computadores Problemas (hoja 2). Curso 2012-13 1. Sea la siguiente secuencia de código de instrucciones en punto flotante para un computador similar al DLX que aplica gestión dinámica de

Más detalles

Unidad IV: Programación de microcontroladores

Unidad IV: Programación de microcontroladores Unidad IV: Programación de microcontroladores El microcontrolador ejecuta el programa cargado en la memoria Flash. Esto se denomina el código ejecutable y está compuesto por una serie de ceros y unos,

Más detalles

Pipelining. Introducción

Pipelining. Introducción Pipelining Introducción Definición Técnica de implementación. Consiste en ejecutar traslapadas varias instrucciones al mismo tiempo. Universidad de Sonora Arquitectura de Computadoras 2 Ejemplo Pasos para

Más detalles

Organización procesador MIPS

Organización procesador MIPS Organización procesador MIPS Organización MIPS Memoria CPU Registros FPU Registros Alu Mul Div Hi Lo U. Aritmética Traps Manejo de Memoria Organización MIPS Unidad Aritmética y Lógica (ALU). Unidad Aritmética

Más detalles

Arquitectura de computadores I

Arquitectura de computadores I Arquitectura de computadores I Perspectiva de alto nivel de los computadores Septiembre de 2017 Contenido Componentes del computador Funcionamiento del computador Estructuras de interconexión Interconexión

Más detalles

Tema 4: Diseño de un microprocesador

Tema 4: Diseño de un microprocesador Tema : Diseño de un microprocesador Febrero de Tema : Diseño de un microprocesador Febrero de / 7 Índice Introducción Visión general de la implementación El camino de datos Control del camino de datos

Más detalles

Arquitectura de Computadores. Resumen para Certamen 2 Por Franco Zuccar

Arquitectura de Computadores. Resumen para Certamen 2 Por Franco Zuccar Arquitectura de Computadores Resumen para Certamen 2 Por Franco Zuccar Componentes básicos Compuertas logicas (AND, OR, NOT, XOR, NAND y NOR) Flip-Flop s (SR, JK, D y T) Los circuitos combinacionales se

Más detalles

Diseño de la ruta de datos y la unidad de control

Diseño de la ruta de datos y la unidad de control Diseño de la ruta de datos y la unidad de control contenidos. Introducción 2. Diseño de la ruta de datos (monociclo) 3. Diseño del controlador (monociclo) 4. Diseño de la ruta de datos (multiciclo) 5.

Más detalles

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 2 UNIDAD DE CONTROL JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 2 UNIDAD DE CONTROL JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ ARQUITECTURAS DE COMPUTADORES 2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 2 UNIDAD DE CONTROL JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 2. La Unidad Central de Proceso 1 La Unidad

Más detalles