Pr. Dr. Xavier Bonnaire
|
|
- Laura Vega Naranjo
- hace 5 años
- Vistas:
Transcripción
1 Pr. Dr. Xavier Bonnaire Slide 1 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
2 Temario Introducción Estructura Básica de un Computador Lenguaje de Máquina Básico Instrucciones para decisiones Procedimientos Direccionamiento Assemblers y Linkers Slide 2 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
3 Introducción Para programar un computador digital Se debe usar su propio lenguaje de programación Es decir el lenguaje de programación del procesador El lenguaje de programacion del procesador La palabras del lenguaje se denominan instrucciones El vocabulario se llama el conjunto de instrucciones Varios lenguajes Casi todo los procesadores tienen un conjunto de instrucciones diferente Algunos son compatibles (Intel P4 y AMD Athlon, etc...) Cada uno tiene instrucciones especiales Slide 3 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
4 Estructura Básica de un Computador Un computador digital se compone de 3 grandes bloques El Procesador El Sistema de Memoria El Sistema de Entrada / Salida El Procesador es el elemento principal Se implementa con un Chip VLSI Está formado por La Unidad de Control El Camino de Datos Slide 4 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
5 Estructura de un Computador Compilador Unidad de Control Entrada MEMORIA Camino de Datos Salida Procesador Slide 5 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
6 Estructura de un Computador Unidad de Control Camino de Datos Entrada MEMORIA Salida PCI BUS Procesado r Tarjeta Video Disco Duro Slide 6 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
7 Estructura de un Computador PCI Slot AGP Slot Procesador Socket Chipset Clock CMOS Li-Ion Bat. RAM Slolts Hard Disk IDE Conectors Power Conector Slide 7 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
8 Procesador Conector Slide 8 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
9 Lenguaje de Máquina Básico Consideraremos la máquina MIPS para nuestro estudio El procesador MIPS tiene 32 bits Procesadores R3000 y R4000 Se desarrolló con tecnología RISC Su diseño es lo suficientemente general como para entender el lenguaje de máquina de cualquier procesador. Los procesadores tipo Pentium 4, AMD Athlon XP, etc.. pueden tener un conjunto de instrucciones muchos más grande que el MIPS Slide 9 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
10 Lenguaje Assembly y de Máquina Lenguage Assembly Una forma de representar las instrucciones y operandos del lenguaje del procesador Forma que puede entender el ser humano Lenguaje de Máquina La representacion del lenguaje del procesador al nivel binario Una serie de bytes que representan las instrucciones y operandos El Assembler El programa que permite pasar de la forma Assembly a la forma lenguaje de máquina Slide 10 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
11 Lenguaje de Alto Nivel - Procesador Compilador Lenguaje de Alto Nivel (C, Java,...) No depende del Procesador Assembler Lenguaje Assembly Lenguaje Máquina Linker Lenguaje Máquina Ejecutable Slide 11 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
12 Aritmética (Assembly) Todo computador debe ser capaz de realizar operaciones aritméticas. Sumas y restas en MIPS se realizan de la siguiente manera: add a,b,c#a b + c sub a,b,c #a b - c Oper 1 destino Oper 2 Oper 2 Regla 1 de diseño: Simplicidad regularidad desempeño Slide 12 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
13 Ejemplos Código en C: a=b+c; d=a-e; Código en C: f=(g+h)-(i+j) Lenguaje de Máquina: add a,b,c sub d,a,e..? Slide 13 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
14 Operadores y Registros A diferencia de los lenguajes de alto nivel Los operandos de las instrucciones aritméticas no pueden ser variable. Son memorias muy rápidas llamadas registros. Un registro de la máquina MIPS tiene 32 bits. Un grupo de 32 bits, se denomina palabra (Word) Una colección de 32 registros rápidos se denomina Archivo de Registros Por qué el archivo de registros tiene sólo 32 registros? Lo pequeño es rápido (regla 2 de diseño) Slide 14 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
15 Operadores y Registros La identificación de los registros se puede hacer usando números (del 0 al 31) Usaremos $s0, $s1,..., $sn Para designar registros que corresponden a variables de programas. Usaremos $t0, $t1,..., $tn Para designar registros que corresponden a variables temporales. Slide 15 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
16 Ejemplos f=(g+h)-(i+j) add $t0,$s1,$s2 g+h # $t0 add $t1,$s3,$s4 i+j f g+h i+j sub $s0,$t0,$t1 $t0-$t1 # $t1 # f Slide 16 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
17 Tratamiento de Arreglos Los lenguajes de programación Además de manejar variables simple. Son capaces de manipular estructuras más complejas. Estructuras de datos como los arreglos, son mantenidos en memoria principal. Para llevar una palabra de memoria a un registro se utiliza la instrucción Load Word lw Reg1, Const(Reg2) Ex: lw $s1, 100($s2) $s1 = Memory[$s ] Slide 17 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
18 Ejemplo Compilar a mano, la siguiente expresión en C: g=h+a[8]; Constante Segundo registro Resultado lw $t0,8($s3) #$t0 A[8] add $s1,$s2,$t0 #g h+a[8] Resultado Final h La dirección de memoria se obtiene sumando una constante con el contenido del segundo registro Slide 18 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
19 Offset y Registro Base lw $t8,8($s3) Offset Registro Base La constante en una instrucción de transferencia se denomina offet y registro que se le suma para formar la dirección, se denomina registr Slide 19 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
20 Restricción de Alineamiento La memoria principal está organizada en Bytes. Los procesadores están organizados en registros de 32 bits (palabras) Esto significa que las direcciones son direcciones de Bytes 32 Bits = 4 Bytes La forma de ubicar Bytes en palabras da origen a dos organizaciones distintas Big Endian (MIPS, Sparc, PowerPC,...) Little Endian (Intel Familly, AMD,...) Slide 20 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
21 Big Endian y Little Endian 32 Bits Byte 3 Byte 2 Byte 1 Byte 0 Most Significant Byte Least Significant Byte Memoria Big Endian Memoria Little Endian Bytes Bytes Bytes Bytes Direcciónes de palabras Slide 21 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
22 Ejemplo - Arreglo con variable índice g=h+a[i] Asumir que A tiene 100 elementos. La base está en el registro $s3 y además el compilador asocia las variables: g $s1 h $s2 i $s4 Se pide el código assembly correspondiente a la sentencia C anterior Slide 22 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
23 Ejemplo - Solución g=h+a[i] Antes de cargar A[i] en un registro temporal Se necesita su dirección. Antes de sumar i a la base del arreglo para generar su dirección, es necesario multiplicar el índice i por 4, debido a la forma de direccionar bytes. La multiplicación por dos se puede generar: i+i=2i, 2i+2i=4i, etc.. Slide 23 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
24 Ejemplo - Solución add $t1,$s4,$s4 #$t1 2*i add $t1,$t1,$t1 #$t1 4*i Para obtener la dirección de A[i], necesitamos sumar $t1 con la base de A que está en $s3 add $t1,$t1,$s3 # $t1 dirección A[i] con esta dirección se puede cargar A[i] en un registro temporal lw $t0, 0($t1) # $t0 A[i] Finalmente el resultado queda en g: add $s1,$s2,$t0 # g h+ A[i] Slide 24 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
25 Assembly a Máquina La instrucción que se representa en assembly por add $t0,$s1,$s2 en una instrucción de máquina (notación decimal) queda: Formato tipo R 6b 5b 5b 5b 5b 6b OP rs rt rd shamt funct add $s1 $s2 $t0 32 add Slide 25 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
26 Campos del Formato op: código de operación rs: Primer operando fuente rt: Segundo operando fuente rd: Registro destino shamt: Shift amount (se usa en instrucciones de desplazamiento) funct: selecciona una variación específica del código de operación (Código de operación expandido) Slide 26 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
27 Formato Tipo I (Inmediato) Consideremos la instrucción assembly: lw $t0, 32($s3) # $t0 A[8] Formato tipo I 6b 5b 5b 16b OP rs rt dirección lw $s3 $t0 Slide 27 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
28 Formato Tipo I (Inmediato) Consideremos la instrucción assembly: sw $t0, 32($s3) # A[8] $t0 Formato tipo I 6b 5b 5b 16b OP rs rt dirección sw $s3 $t0 Slide 28 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
29 Resumen de Formatos Es un buen principio de diseño tomar compromisos: Bits R I regularidad de formatos y tamaño del código de operación (número de instrucciones) 6 op op 5 rs rs 5 rt rt 5 rd 5 6 shamt funct Dirección Slide 29 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
30 Pseudo Instrucciones Muchas instrucciones Assembly no existen en el Lenguaje de Máquina, pero pueden ser generadas con otras instrucciones. Un ejemplo es la instrucción move que permite copiar un registro en otro. Esta instrucción no existe en la máquina MIPS Ejemplo move $s1,$s2 #$s1 $s2 El Assembler MIPS genera: add $s1,$0,$s2 #$s1 $s2+ 0 Slide 30 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
31 Instrucciones para decisiones La máquina MIPS presenta dos instrucciones para la toma de decisiones: Beq (Branch Equal) beq reg1, reg2, L1 If (reg1 == reg2) goto L1 Bne (Branch Not Equal) bne reg1, reg2, L1 If (reg1!= reg2) goto L1 Slide 31 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
32 Ejemplo 1 Generar el lenguaje de máquina para el codigo C: if(i==j) goto L1; f=g+h; L1: f=f-i; Asumir que las 5 variables: f,g,h,i,j; corresponden a los 5 registros: $s0,...,$s5 Slide 32 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
33 Solución beq $s3,$s4,l1 add $s0,$s1,$s2 L1: sub $s0,$s0,$s3 # if(i==j) goto L1 # f=g+h # f=f-i L1 representa la dirección de la instrucción de Slide 33 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
34 Ejemplo 2 Usando las mismas variables y registros del ejemplo anterior, generar código de máquina para if(i==j) f=g+h; else f=g-h; Slide 34 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
35 Solución Este ejercicio introduce otro tipo de salto llamado salto incondicional. La instrucción MIPS se denomina jump y se abrevia j J dirección bne $s3,$s4,else #if(i!=j)goto Else add $s0,$s1,$s2 #f=g+h j Exit #goto Exit Else: sub $s0, $s1, $s2 #f=g-h Exit: Slide 35 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
36 Saltos Incondicionales j Exit #goto Exit jr $t1 #goto $t1 J es del tipo J 6b 26b dirección OP Jr es del tipo R 6b 5b 5b 5b 5b 6b OP rs rt rd shamt funct 0 rs Slide 36 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
37 Compilación de Loops Compilar el código C: while (A[i]==k) i=i+j; Asumiremos que i,j k corresponden a los registros $s3, $s4, y $s5. Además la base del arreglo A está guardada en $s6. El primer paso es cargar A[i] en un registro temporal: Slide 37 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
38 Compilación de Loops Loop: add $t1,$s3,$s3 add $t1,$t1,$t1 add $t1,$t1,$s6 #$t1=2*i #$t1=4*i #$t1 es la dirección de A[i] lw $t0,0($t1) #$t0=a[i] bne $t0,$s5,exit # ir a Exit si A[i]!= k add $s3,$s3,$s4 #i=i+j j Loop Exit: Slide 38 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
39 Comparaciones La máquina MIPS tiene dos instrucciones de comparación: slt $s1,$s2,$s3 #set on less than #if $s2<$s3 $s1 1 else $s1 0 Slide 39 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
40 Comparaciones Saltar Menor Que: se puede construir: slt $s1,$s2,$s3 bne $s1,$0, Menos #va a Menos si #$s1 0, o sea si $s2 < $s3 Existe la pseudo instrucción blt (branch less than), pero el compilador genera las dos instrucciones anteriores si encuentra blt Slide 40 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
41 Ejemplo 3 El Switch Compilar el código C: switch(k) case 0: case 1: case 2: case 3: } { f=i+j; f=g+h; f=g-h; f=i-h; break; break; break; break; //k=0 //k=1 //k=2 //k=3 asumiremos que las 6 variables desde f a k, corresponden a los registros $s0 a $s5. El registro $t2 contiene el valor 4 Slide 41 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
42 Switch Valores de Registros f $s0 g $s1 h $s2 i $s3 j $s4 Slide 42 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María k
43 Solución slt bne slt beq Usaremos la variable k para indexar una tabla de salto. El salto se hace vía el valor cargado. Lo primero es verificar rangos para k $t3,$s5,$0 $t3,$0,exit $t3,$s5,$t2 $t3,$0,exit # # # # k <0? si k<0, goto Exit k<4? si k >=4 goto Exit Slide 43 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
44 Solución Hay que multiplicar por 4 el valor de k para convertirlo en dirección de byte add $t1,$s5,$s5 add $t1,$t1,$t1 # $t1=2*k # $t1=4*k Las direcciones de los códigos correspondientes a los distintos valores de k, se mantienen en una tabla de salto Slide 44 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
45 Solución Asumiremos una secuencia de 4 palabras de memoria, comenzando de la dirección almacenada en $t4. Obtenemos así la dirección de L0, L1,L2 y L3 Tabla de Saltos L0 L1 L2 L3 Slide 45 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
46 Solución Obtención de la dirección de L0, L1,L2 y L3 add $t1,$t1,$t4 #$t1=dirección de Tabla Salto [k] lw $t0,0($t1) #$t0=tabla Salto[k] Slide 46 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
47 Solución Los primeros tres casos de switch son los parecidos: jr $t0 #salto basado en registro $t0 L0: add $s0,$s3,$s4 j Exit L1: add $s0,$s1,$s2 j Exit L2: sub $s0,$s1,$s2 j Exit Slide 47 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
48 Solución Finalmente: L3: sub $s0,$s3,$s4 Exit: Slide 48 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
49 Procedimientos Los procedimientos o subrutinas son las herramientas más poderosas para estructurar programas. En la ejecución de un procedimiento un programa sigue los siguientes pasos: Poner parámetros en un lugar accesible Transferir el control al procedimiento Realizar la tarea Poner el resultado en lugar accesible Volver el control al punto original Slide 49 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
50 Procedimientos El software MIPS asigna los siguientes registros a Procedimientos: $a0-$a3: Argumentos para el paso de parámetros $v0-$v1: Registros para el retorno de valores $ra: Dirección de retorno para volver al punto original La máquina MIPS incluye la instrucción jal (Jump And Link) jal DirecciónProcedimiento Slide 50 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
51 Jal Jump And Link La instrucción jal DirecciónProcedimiento Tiene como efecto saltar a la dirección indicada, pero simultáneamente salva la dirección de retorno en $ra La dirección almacenada en $ra se denomina dirección de retorno. Esto es necesario ya que el mismo procedimiento puede ser invocado en diferentes partes del programa Slide 51 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
52 El Program Counter - PC Es necesario disponer de un registro que permita almacenar la dirección de la instrucción que está siendo ejecutada. Por razones históricas este registro se denomina PC: Program Counter. Debería llamarse IAR (Instruction Address Registre). La instrucción jal salva PC+4 en el registro $ra para establecer la dirección de retorno Slide 52 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
53 El Program Counter - PC Addr 0 PC PC+4 Memoria Instr Instrucción en ejecución Slide 53 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
54 Retorno de procedimiento La instrucción que permite volver al punto inicial es: jr $ra Procedimiento Prog. Principal Dir1 PC instruc1 jal Dir1 PC+4 jr $ra Slide 54 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
55 Procedimientos Anidados Lo normal en el desarrollo de un programa es que un procedimiento pueda llamar a otro, y que también se pueda llamar a si mismo en forma directa o indirecta (Recursividad) A... Jal B B instb... jal C;... jr $ra C inst1... jr $ra Slide 55 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
56 El Stack Es necesario el uso de un stack para permitir flexiblemente usar procedimientos anidados y recursividad Addr 0 Registro sp (Stack Pointer) Addr n Slide 56 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
57 El Stack Agregar Datos (PUSH) Addr 0 Addr 0 sp sp $s0 sp = sp - 4 Addr n Add Inmediate Addr n addi $sp, $sp,-4 sw $s0, 0($sp) Slide 57 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
58 Código usando Stack B A... jal B; addi $sp,$sp,-4 sw $ra,0($sp) jal C; lw $ra,0($sp) addi $sp,$sp,4... jr $ra C jr $ra Slide 58 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
59 Direccionamiento Dónde ir a buscar un operando? A qué dirección transferir el control del programa? La Máquina MIPS presenta todos los modos de direccionamiento de las máquinas reales Los mecanismos de direccionamiento que estudiaremos son: Tipo Registro Operandos Inmediatos Direccionamientos Absolutos Direccionamientos relativos al PC Direccionamiento Registro Base Slide 59 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
60 Tipo Registro Lo más fácil es que el operando se encuentre en un registro. Este es el caso de las instrucciones tipo R. Ejemplo: add,$s1,$s2,$s3 Formato tipo R 6b 5b 5b 5b 5b 6b OP rs rt rd shamt funct add $s1 $s2 $s0 32 add Slide 60 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
61 Operandos Inmediatos Estadísticas de programas muestran que el 50% de los operandos son constantes, y estas constantes son números relativamente pequeños. Una forma es almacenar las constantes en la memoria principal y recuperar mediante una instrucción lw Ejemplo en C: a=a+5; Slide 61 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
62 Operandos Inmediatos Supongamos que el número 5 lo guardamos en la dirección DIREC, y que la variable a la almacenamos en el registro $s1 Entonces a=a+5 se genera: lw $t1,direc($0) add $s1,$s1,$t1 Existe una mejor solución? Slide 62 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
63 Instrucciones Inmediatas: addi Una alternativa al código anterior es: addi $s1,$s1,5 Formato tipo I 6b 5b 5b 16b OP rs rt Operando Inmediato 8 rs rt valor addi Pb: limitación a 16bits para el operando inmediato Slide 63 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
64 Instrucciones Inmediatas: slti,lui Otras instrucciones con operandos inmediatos son: slti $t1,$s1,5 #Set on Less Than Inmediate) if($s1<5)$t1=1 Y lui $s1,255 #Load Upper Inmediate Slide 64 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
65 lui lui $s1,255 #Load Upper Inmediate 6b 5b 5b 16b OP rs rt Operando Inmediato $S0 255 $s bits upper más significativos 16 bits lower menos significativos Slide 65 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
66 Direccionamiento Absoluto j 1000 # goto 1000 Formato tipo J 6b 26b El espacio de direcciones alcanzable es de 64MB El código que se genera no es relocalizable Slide 66 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
67 Direccionamiento Relativo al PC bne $s1,$s2,exit # goto Exit si $s1!=$s2 Formato tipo I 6b 5 5b 5b rs($s1) rt($s2) 16b Exit El espacio de direcciones alcanzable es de 216 Bytes Para aumentar este espacio, se considera que el cam de 16bits son direcciones de palabras de 32bits Slide 67 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
68 Direccionamiento Relativo al PC Memoria PC Limitado por 16 Bits Slide 68 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
69 Direccionamiento Relativo al PC Ejemplo: a: bne $s2,$s3,fin add $t4,$s4,$s6 j a FIN: $s2 8, $s3 21 $t4 19, $s6 20 a: Dirección Slide 69 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
70 Resumen Direccionamientos Tipo Registro OP rs rt rd shamt funct Memoria Tipo Base OP rs registro rt dirección + Slide 70 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
71 Resumen Direccionamientos Inmediat o OP Relativo al PC OP rs rs PC rt rt dirección Memoria + Slide 71 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
72 Resumen Direccionamientos Absoluto OP Memoria Dirección Slide 72 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
73 Assemblers y Linkers El lenguaje assembly es la representación simbólica de la codificación binaria de un programa. El lenguaje assembly tiene directivas que no generan código:.data,.global Los roles que tiene el lenguaje assembly son: Lenguaje intermedio para un compilador Embedded computers Slide 73 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
74 Compilacion y Link Programa Compilador Assembler Lenguaje Assembly Computador Ejecutable Linker Slide 74 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
75 Conviene programar en Assembly? Programar en Assembly tiene varias desventajas: Específico a una máquina (baja portabilidad) La relación entre líneas de código de un lenguaje de alto nivel y Assembly se denomina factor de expansión Estudios demuestran que un escribe el mismo número de código por día programando programando en un lenguaje programador líneas de en Assembly o de alto nivel. Si x es el factor de expansión, la productividad de un Lenguaje de Alto Nivel respecto a Assembly es X Slide 75 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
76 Pero... A veces es necesario programar en Assembly Algunas partes de los Sistemas Operativos Cuando se busca la máxima velocidad posible Clock Interruption Routine Códigos críticos Para unos embedded softwares Aviones Autos Para Devices Drivers Slide 76 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
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 detallesEl 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 detallesINTRUCCIONES: 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 detallesEstructura 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 detallesOrganizació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 detalles3. 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 detallesUNIDAD 2: Instrucciones: el lenguaje de las computadoras.
UNIDAD 2: Instrucciones: el lenguaje de las computadoras. 2.1 Introducción Para comandar una computadora se le debe hablar en su lenguaje. Las palabras del lenguaje de una máquina son llamadas instrucciones,
Más detallesPlataformas 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 detallesOrganizació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 detallesUnidad 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 detallesELO311 Estructuras de Computadores Digitales. Operaciones MIPS para Control de flujo
ELO311 Estructuras de Computadores Digitales Operaciones MIPS para Control de flujo Tomás Arredondo Vidal Este material está basado en: material de apoyo del texto de David Patterson, John Hennessy, "Computer
Más detallesTema 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 detallesEstructuras de Computadores I Tarea 02 02/99
Estructuras de Computadores I Tarea 02 02/99 1. Dada la secuencia de bits: 0011 0100 0101 0101 0100 0011 0100 0010 Qué representa, asumiendo que es: a. Un número entero en complemento dos. b. Fracción
Más detallesArquitectura 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 detallesArquitecturas RISC. Arquitectura de Computadoras y Técnicas Digitales - Mag. Marcelo Tosini Facultad de Ciencias Exactas - UNCPBA
Arquitecturas RISC Características de las arquitecturas RISC Juego de instrucciones reducido (sólo las esenciales) Acceso a memoria limitado a instrucciones de carga/almacenamiento Muchos registros de
Más detallesArquitectura del procesador MIPS R2000
Arquitectura 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
Más detallesEjercicios 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 detallesOrganización Básica de un Computador y Lenguaje de Máquina
Organización Básica de un Computador y 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 Organización Básica
Más detallesEjercicios 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 detallesGeneración de un ejecutable
ASSEMBLER Generación de un ejecutable Programa de alto nivel Programa Compiler Assembler Linker Archivo Ejecutable Programa en lenguaje assembler Archivo Fuente Assembler Archivo Objeto Archivo Fuente
Más detallesModelo de von Neumann
Conceptos básicos Modelo de von Neumann También conocida como arquitectura de Princeton. Propuesta por John von Neumann en 1945. Partes de una computadora digital: Unidad de procesamiento (CPU unidad central
Más detallesFundamentos 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 detallesArquitectura 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 detallesArquitectura 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 detallesOrganizació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 detallesArquitectura de Computadores y laboratorio Clase 15: Arquitectura MIPS Pt.3. Departamento de Ingeniería de Sistemas Universidad de Antioquia 2011 2
Arquitectura de Computadores y laboratorio Clase 15: Arquitectura MIPS Pt.3 Departamento de Ingeniería de Sistemas Universidad de Antioquia 2011 2 Instrucciones de control de flujo Arquitectura de Computadores
Más detallesSistema 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 detallesAbstracción de bifurcaciones y saltos.
Capítulo 5. 1 Abstracción de bifurcaciones y saltos. 5.1. Operaciones lógicas. En el lenguaje C: Una expresión es falsa si su valor es cero; verdadera si es diferente de cero. Si el resultado de una operación
Más detallesArquitectura 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 detallesIntroducció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 detallesFundamentos 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 detallesLa 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 detallesProgramació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 detallesAsignatura de Organización de Computadoras. Alberto Hernández Cerezo. Cristian Tejedor García. Rodrigo Alonso Iglesias. Universidad de Valladolid
Asignatura de Organización de Computadoras ARQUITECTURA MIPS SEGUNDO TRABAJO Alberto Hernández Cerezo Cristian Tejedor García Rodrigo Alonso Iglesias Universidad de Valladolid Segundo de Ingeniería Técnica
Más detallesGrupo de Arquitectura y Tecnología de Computadores (ARCOS)
Grupo de Arquitectura y Tecnología de Computadores (ARCOS) http://arcos.inf.uc3m.es/~ec 2 http://arcos.inf.uc3m.es/~ec 4 http://arcos.inf.uc3m.es/~ec 5 http://arcos.inf.uc3m.es/~ec 6 Código fuente en
Más detallesEjercicios 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 detalles5 Lenguaje de Máquina
5 Lenguaje de Máquina Ya visto el detalle de la organización de la CPU y el nivel de microprogramación, en este punto veremos las consideraciones del nivel de lenguaje de máquina. Este conjunto de instrucciones
Más detallesRepaso Registros internos Z80 1/37
Repaso Registros internos Z80 1/37 Repaso Formato instrucciones Formato con 4 direcciones Acumulador: A A op oper2 PC: Program Counter dirección de la próxima instrucción Instrucciones de operación Código
Más detallesESTRUCTURA 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 detallesINSTRUCCIONES: EL LENGUAJE DEL PROCESADOR
INSTRUCCIONES: EL LENGUAJE DEL PROCESADOR ARQUITECTURA DEL PROCESADOR II La tecnología de las computadoras modernas, requiere que los profesionales de las distintas especialidades en ciencias de la computación,
Más detallesCuando se ejecuta un procedimiento, intrínsecamente se están realizando los siguientes pasos:
2.5 Soporte de procedimientos El manejo de procedimientos o rutinas es uno de los aspectos más importantes de la programación estructurada; por lo que cualquier repertorio de instrucciones debe de incluirlo
Más detallesSecció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 detallesRepaso 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 detallesArquitectura 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 detallesEl repertorio de instrucciones
Capítulo 2 El repertorio de instrucciones 2.1. Introducción El funcionamiento de la CPU está determinado por las instrucciones que ejecuta. Estas instrucciones se denominan instrucciones máquina o instrucciones
Más detallesEl 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 detallesEl procesador. Datapath para las instrucciones de brinco
El procesador Datapath para las instrucciones de brinco Instrucciones de brinco Dos tipos de instrucciones de brincos: 1. Brinco condicional. beq $t0, $t1, Etiqueta ; if t0 == t1 goto Etiqueta 2. Brinco
Más detallesTema 3 (I) Fundamentos de la programación en ensamblador
Tema 3 (I) Fundamentos de la programación en ensamblador Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenidos 1. Fundamentos básicos de la
Más detallesEl 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 detallesOrganización del Computador 1. CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017
Organización del Computador 1 CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017 Estructura de una máquina von Neumann Ciclo de Ejecución 1. 2. 3. 4. 5. 6. UC obtiene la próxima instrucción de
Más detallesUna expresión es falsa si su valor es cero; verdadera si es diferente de cero.
5. Abstracción de bifurcaciones y saltos. 5.1. Operaciones lógicas. En el lenguaje C: Una expresión es falsa si su valor es cero; verdadera si es diferente de cero. Si el resultado de una operación lógica
Más detallesFundamentos 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 detallesIntel Departamento de Arquitectura 1. Facultad de Ingeniería Universidad de la República. Arquitectura de Computadoras, 2016
Intel 8086 Departamento de Arquitectura 1 1 Instituto de Computación Facultad de Ingeniería Universidad de la República Arquitectura de Computadoras, 2016 Temas 1 2 3 Registros Segmentación Stack 4 Set
Más detallesFundamentos 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 detallesUNIVERSIDAD 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 detallesArquitectura de Computadores II Clase #3
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 stack Formatos de datos Control
Más detallesUnidad 3. El procesador I: Diseño del juego de Instrucciones. El lenguaje máquina
Fundamentos de Microprocesadores Unidad 3. El procesador I: Diseño del juego de Instrucciones. El lenguaje máquina Escuela Politécnica Superior UAM Copyright 2007 Elsevier, Digital Design and Computer
Más detalles16/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 detallesGUIA 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 detallesEstructura de Computadores. Capítulo 3b: Programación en
Estructura de Computadores Capítulo 3b: Programación en ensamblador del MIPS. José Daniel Muñoz Frías Universidad Pontificia Comillas. ETSI ICAI. Departamento de Electrónica y Automática Estructura de
Más detallesArquitectura de Computadoras. Simulador WINMIPS64
Arquitectura de Computadoras Simulador WINMIPS64 Procesador MIPS 32 registros de uso general: r0.. r31 (64 bits) excepto r0 siempre igual a 0 32 registros de punto flotante: f0.. f31 (64 bits) 2 30 palabras
Más detallesEjercicios 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 detallesConceptos de Arquitectura de Computadoras Curso 2015
PRACTICA 1 Assembly, Instrucciones, Programas, Subrutinas y Simulador MSX88 Objetivos: que el alumno Domine las instrucciones básicas del lenguaje assembly del MSX88. Utilice los diferentes modos de direccionamiento.
Más detallesTema 6: Descripción del ISA del MIPS
Arquitectura de Computadores Tema 6: Descripción del ISA del MIPS Eduardo Daniel Cohen dcohen@arnet.com.ar http://www.herrera.unt.edu.ar/arqcom Arquitectura de Computadoras UNT D. Cohen 1 2014 Temario
Más detallesLaboratorio 1 y 2: Programación en C, Assembler MIPS, y uso de Simulador MIPS32: PCSpim
Laboratorio 1 y 2: Programación en C, Assembler MIPS, y uso de Simulador MIPS32: PCSpim Objetivos. Estudiar algunos aspectos básicos de la programación en lenguaje C, y ambientes de programación integrados
Más detallesELO311 Estructuras de Computadores Digitales. Ensamblador MIPS
ELO311 Estructuras de Computadores Digitales Ensamblador MIPS Tomás Arredondo Vidal Este material está basado en: material de apoyo del texto de David Patterson, John Hennessy, "Computer Organization &
Más detallesPráctica 3: Programación en ASM Orga 1
Ignacio Eguinoa Organización del Computador I DC - UBA Segundo Cuatrimestre de 2015 Generaciones de lenguajes 1G: Lenguaje de máquina(código binario de operaciones) 2G: Lenguaje Ensamblador(Assembly) (Textual
Más detallesConstruyendo Programas más Complejos
Arquitectura de Ordenadores Construcciones de Alto Nivel en Ensamblador Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Construyendo Programas más
Más detallesArquitectura 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 detallesArquitectura 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 detallesISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones
ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones Instruction Set Architecture (ISA) Arquitectura del conjunto de instrucciones software Conjunto de instrucciones hardware Universidad
Más detallesOrganización del Computador I Verano. MIPS (1 de 2) Basado en el capítulo 2 del libro de Patterson y Hennessy
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 2 del libro de Patterson y Hennessy Verano 2014 Profesora Borensztejn Lenguajes para la máquina Las computadoras son circuitos electrónicos,
Más detallesFUNDAMENTOS DE MICROPROCESADORES SOLUCIONES A LOS PROBLEMAS DE LA UNIDAD-3.- EL PROCESADOR I: EL LENGUAJE MAQUINA
3.1. Un programa escrito para MIPS invoca a la subrutina func, a la que transfiere tres argumentos a, b y c. La subrutina tiene dos variables locales m y n. Mostrar la posición del puntero de pila y los
Más detallesFunciones. Diseño de funciones. Uso de instrucción jal y retorno de subrutina.
MIPS Funciones 1 Funciones Diseño de funciones. Uso de instrucción jal y retorno de subrutina. Se suelen denominar funciones, procedimientos, subrutinas, subprogramas a las estructuras que emplean los
Más detallesTema 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 Contenido } Fundamentos básicos de la
Más detallesESTRUCTURA 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. Examen Final 2º cuatrimestre Nombre: SOLUCIÓN Madrid, 20 de junio de 2008. NOTAS: Duración: 90 minutos. Se puede hacer a lápiz. No se permiten
Más detallesPr. Dr. Xavier Bonnaire
Pr. Dr. Xavier Bonnaire Slide 1 Temario Introducción Registros Multiplexores Codificadores y Decodificadores Archivos de Registros Unidad Aritmética Memorias Slide 2 Introducción Componentes Digital Estructurados
Más detallesEjercicio 1. Considere el siguiente fragmento en ensamblador:
UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES Para la realización del presente examen se dispondrá de 1:30 horas. NO se podrán
Más detallesCS2: Unidad de datos (UD)
S2: Unidad de datos (UD) ambios respecto al S1: Ancho datos: 12 bits Ancho direcciones: bits Rotación del registro A con carry LS, DS, IS TP, TIR, TSP W4, W, R 4 SP[] MAR[] IR 7-0 IR[12] IR 11- P[] DB
Más detallesIntroducción a la arquitectura de computadores
Introducción a la arquitectura de computadores Departamento de Arquitectura de Computadores Arquitectura de computadores Se refiere a los atributos visibles por el programador que trabaja en lenguaje máquina
Más detallesUnidad Nº II Capacidad de la unidad central. de procesamiento. Instituto Universitario Politécnico. Santiago Mariño
Instituto Universitario Politécnico Santiago Mariño Unidad Nº II Capacidad de la unidad central de procesamiento Organización de instrucción de máquina Cada instrucción requiere la información que necesita
Más detallesBus de direcciones. Bus de datos
1) INTRODUCCIÓN A LA MÁQUINA SENCILLA La máquina sencilla (MS) es un computador concebido para fines exclusivamente didácticos. MS sólo dispone de dos bloques: Unidad Central de Proceso y memoria principal.
Más detallesOrganización de Computadoras. Clase 7
Organización de Computadoras Clase 7 Temas de Clase Formatos de instrucción Modos de direccionamiento Notas de Clase 7 2 Elementos de una instrucción de máquina Código de operación especifica la operación
Más detallesProgramando sobre MIPS64
Programando sobre MIPS64 Escribir un programa en cualquier lenguaje involucra estructurar el código de forma que éste sea modular, extensible, simplede mantener y reutilizable. En assembly, eso involucra
Más detallesEstructura de Computadores: Tema 1. Introducción. Índice. Arquitectura del i8086
Estructura de Computadores: Tema 1 El procesador Introducción Estudiaremos la arquitectura del procesador i8086 (CPU, registros,...), su gestion de la memoria y su conjunto de instrucciones. Programaremos
Más detallesTema 2: Lenguaje máquina. La interfaz entre el hardware y el software
Tema 2: Lenguaje máquina La interfaz entre el hardware y el software 1 Índice Introducción. Formatos de Instrucción. Modos de Direccionamiento. Ortogonalidad y Regularidad. Frecuencia de Utilización de
Más detallesESTRUCTURA 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 detallesARQUITECTURA VON NEUMANN
ARQUITECTURA VO EUMA Computador bus de datos bus de direcciones bus de control Usuario y aplicaciones Lenguajes de alto nivel Sistema operativo Unidad Central de Proceso Memoria principal Unidad de Entrada
Más detallesEstructura de Computadores
Estructura de Computadores Perpectiva Histórica Pasado y Presente Avances Tecnológicos Primer computador Electrónico University of Pennsylvania ENIAC (Electronic Numerical Integrator and Calculator, 18.000
Más detallesTEMA 1: Concepto de ordenador
TEMA 1: Concepto de ordenador 1.1 Introducción Los ordenadores necesitan para su funcionamiento programas. Sin un programa un ordenador es completamente inútil. Para escribir estos programas necesitamos
Más detallesExamen de teoría (5 puntos)
Bien: Mal: No contestadas: Examen de teoría (5 puntos) El examen constará de dos partes: 1ª parte: Test, con una puntuación de 5 puntos y 40 minutos de tiempo 2ª parte: Ejercicios prácticos, con una puntuación
Más detallesCreación del ambiente de trabajo.
Capítulo 2. 1 Creación del ambiente de trabajo. Una vez instalado el compilador cruzado lcc, éste queda en C:\Program Files\lcc\4.1 Conviene crear una subcarpeta para colocar los ejemplos. Sea ésta ej.
Más detallesLos números naturales y enteros en el 80X86 y en LAN
Los números naturales y enteros en el 80X86 y en LAN 1. Los números naturales en el 80X86/TASM Representación Sistema de representación En el 80X86 (y en la mayoría de los procesadores), los números naturales
Más detallesLa 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 detallesMIPS. Universidad de Sonora 2
MIPS MIPS (Microprocessor without Interlocked Pipeline Stages) es una familia de microprocesadores RISC desarrollada por MIPS Technologies desde 1981 y por Imagination Technologies desde 2012. Principio
Más detallesFormato 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