1 / 14

Arquitectura de Computadores I

Arquitectura de Computadores I. Ejemplo: El conjunto de instrucciones en el MIPS. Ejemplo: El conjunto de instrucciones en el MIPS. Introducción. Instrucciones aritméticas. Operandos: Registros y localidades de memoria.

fell
Download Presentation

Arquitectura de Computadores I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Arquitectura de Computadores I Ejemplo: El conjunto de instrucciones en el MIPS

  2. Ejemplo: El conjunto de instrucciones en el MIPS • Introducción. • Instrucciones aritméticas. • Operandos: Registros y localidades de memoria. • Lenguaje de máquina: Representación de las instrucciones en el computador. • Instrucciones de decisión.

  3. Introducción

  4. Introducción • Instrucciones – conjunto de instrucciones. • Los diferentes conjuntos de instrucciones se parecen entre si. • La simplicidad en el diseño es uno de los objetivos de un desarrollador cuando escoge el conjunto de instrucciones. • Estudio del conjunto de instrucciones del MIPS. Usado por NEC, Nintendo, Silicon Graphics & Sony, entre otros.

  5. Operaciones aritméticas “Deben existir instrucciones para realizar operaciones aritméticas fundamentales”. Principio de diseño 1: La simplicidad favorece la regularidad.

  6. Operaciones aritméticas Ejemplo: A continuación se muestran 2 segmentos de código escritos en C para un programa particular. Asumiendo que las variables a, b, c, ... i, j existen dentro de sus respectivos entornos, ¿ cual sería el código MIPS que el compilador generaría para cada segmento ?

  7. Operandos para las instrucciones. • Las variables en un lenguaje de alto nivel tienen su contraparte en el mundo del lenguaje de máquina. Se trata de los registros. • Un registro es una localidad especial ubicada en la unidad de procesamiento. • El tamaño de los registros en MIPS es de 32 bits. Así mismo, MIPS posee un total de 32 registros. • El compilador se encarga de hacer desbordamiento de variables para compensar la cantidad de registros. “ Principio de diseño 2: Generalmente los diseños pequeños son más veloces. ”

  8. Operandos para las instrucciones. • La convención usada en MIPS es nombrar los registros con dos caracteres, precedidos por el carácter $. Ej: $s0, $s1, $t0, $t1. * • Las operaciones aritméticas ocurren solo entre registros de MIPS, por lo tanto deben existir instrucciones para transferir datos entre los registros y la memoria del sistema. Las dos instrucciones que usa MIPS para tales transferencias es lw y sw. ** • Por el tamaño de las palabrasen MIPS, se deben considerar dos conceptos: La restricción de alineamiento y el formato Big Endian para el almacenamiento de los bytes individuales en memoria.

  9. Operandos para las instrucciones. Ejemplo: Compile el siguiente par de segmentos de código y genere el código equivalente para MIPS. Use la notación $s0, $s1, ... para representar las variables en el programa y $t0, $t1 .... para representar los elementos de tipo temporal. Asuma que la dirección base del arreglo A está almacenada en el registro $s3.

  10. Dirección Instrucción Formato op rs rt rd shamt function add R 0 reg reg reg 0 32 sub R 0 reg reg reg 0 34 lw I 35 reg reg Address sw I 43 reg Reg Address Representación binaria de las instrucciones.

  11. Representación binaria de las instrucciones Ejemplo: Compile y ensamble la siguiente línea de código escrita en C para MIPS. Asuma que el registro $s0 almacena la dirección base del arreglo A, mientras que la variable h corresponde al registro $s2. // Código en C: A[300] += h;

  12. Instrucciones para la toma de decisiones. • Existen tres instrucciones en MIPS para controlar las estructuras de decisión y las repetitivas: beq, bne y slt. • El formato para bne y beq es el siguiente: • bne reg,reg,etiqueta • beq reg,reg,etiqueta • El formato para slt es: slt reg,reg,reg

  13. Instrucciones para la toma de decisiones. Ejemplo: Usando las instrucciones de decisión vistas, compile los siguientes bloques de código escrito en C. Asuma que el registro base del arreglo A es $s0. Las variables f, g, h, i y j corresponden a los registros $s1, $s2, $s3, $s4 y $s5, respectivamente.

  14. Instrucciones para la toma de decisiones.

More Related