ELO311 Estructuras de Computadores Digitales. Ensamblador MIPS
|
|
- Vicenta Peña Reyes
- hace 6 años
- Vistas:
Transcripción
1 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 & Design", (segunda y tercera edición), Morgan Kaufmann, CA material del curso anterior ELO311 del Prof. Leopoldo Silva material del curso CSE331 de Mary Jane Irving de Penn State
2 Repaso: Ciclo de Ejecución El camino de datos (datapath) ejecuta las instrucciones bajo dirección de control Processor Control Datapath contents Reg #4 ADD contents Reg #2 results put in Reg #2 Memory Devices Input Output La memoria almacena instrucciones y datos
3 Repaso: Organización del Procesador Control tiene que tener la Habilidad de leer instrucciones de memoria Lógica para controlar la secuenciación de instrucciones Lógica para generar señales que controlen la manera en que la información fluye entre componentes del camino de datos Lógica para controlar las operaciones de las FUs del camino de datos Camino de datos tiene que tener los Componentes unidades funcionales (e.g., sumador) y almacenamiento (e.g., set de registros) necesario para ejecutar instrucciones Componentes interconectados para que las instrucciones se puedan ejecutar Capacidad de leer y almacenar datos en la memoria Exec Leer Decode
4 For a given level of function, however, that system is best in which one can specify things with the most simplicity and straightforwardness. Simplicity and straightforwardness proceed from conceptual integrity. Ease of use, then, dictates unity of design, conceptual integrity. The Mythical Man-Month, Brooks, pg 44
5 MIPS = RISC (Reduced Instruction Set Computer) Filosofía RISC Instrucciones de largo fijo Sets de instrucciones de lectura-escritura (load-store) Modos de direccionamiento limitado Operaciones limitadas MIPS, Sun SPARC, HP PA-RISC, IBM PowerPC, Intel (Compaq) Alpha, Conjuntos de instrucciones se miden por la manera en la cual los compiladores las usan no como los programadores los usan
6 Organización General de MIPS src1 addr src2 addr dst addr write data Processor Register File registers ($zero - $ra) bits src1 data src2 data read/write addr Memory words Exec br offset PC Add 4 Fetch PC = PC+4 Decode Add ALU read data write data byte address (big Endian) bits word address (binary)
7 Procesador Monociclo Esquema General por unidad Unidad de Control AluSrc MemWr npc_sel WE PC RegDst RegWr ExtOp AluCtr MemRd MemtoReg COp+ Funct Equal rs 5 busa Unidad de Instrucción rt rd busw Inm Unidad Registros busb Unidad de Operaciones AluOut AddrD Mem oria Din Datos Dout 0 1 Reloj
8 Instrucciónes Aritméticas MIPS Comandos de asembler MIPS add $t0, $s1, $s2 sub $t0, $s1, $s2 Cada instrucción aritmética hace solo una operación Cada instrucción aritmética tiene exactamente tres operandos destination source1 op source2 Los operandos se contienen en el set de registros del camino de datos o register file ($t0,$s1,$s2) Orden de los operandos es fijo (destino primero)
9 Instrucciónes Aritméticas MIPS Comandos de asembler MIPS add $t0, $s1, $s2 sub $t0, $s1, $s2 Cada instrucción aritmética hace solo una operacion Cada instrucción aritmética tiene exactamente tres operandos destination source1 op source2 Los operandos se contienen en el set de registros del camino de datos o register file ($t0,$s1,$s2) Orden de los operandos es fijo (destino primero)
10 Comandos Más Complejos Asumiendo que la variable b es almacenado en el registro $s1, c es almacenado en $s2, y d es almacenado en $s3 y el resultado debe guardarse en $s0, cual es el equivalente en asembler de? h = (b - c) + d
11 Comandos Más Complejos Asumiendo que la variable b es almacenado en el registro $s1, c es almacenado en $s2, y d es almacenado en $s3 y el resultado debe guardarse en $s0, cual es el equivalente en asembler de? h = (b - c) + d sub $t0, $s1, $s2 add $s0, $t0, $s3
12 Conjunto de Registros MIPS Operandos de instrucciones aritméticos deben ser del conjunto de registros (register file) de ubicaciones especiales contenidas en el camino de datos (datapath) Tiene registros de bits Registros son Con dos puertos de lectura y Un puerto de escritura Mas rápidos que memoria principal (e.g. DRAM) Mas fácil de usar para un compilador e.g., (A*B) (C*D) (E*F) puede hacer multiplicaciones en cualquier orden (vs stack) Puede tener variables src1 addr src2 addr dst addr write data Register File Densidad del código es mayor (registros usan menos bits que memoria) locations bits src1 data src2 data Direcciones de registros se indican usando $
13 Nombres de registros 0 $zero constant 0 (Hdware) 1 $at reserved for assembler 2 $v0 expression evaluation & 3 $v1 function results 4 $a0 arguments 5 $a1 6 $a2 7 $a3 8 $t0 temporary: caller saves... (callee can clobber) 15 $t7 16 $s0 callee saves... (caller can clobber) 23 $s7 24 $t8 temporary (cont d) 25 $t9 26 $k0 reserved for OS kernel 27 $k1 28 $gp pointer to global area 29 $sp stack pointer 30 $fp frame pointer 31 $ra return address (Hdware)
14 Registros vs. Memoria Operandos de instrucciones aritméticas deben ser registros, solo hay registro disponibles Processor Devices Control Memory Input Datapath Output Compiladores asocian variables con registros Que pasa con programas con muchas variables?
15 Registros vs. Memoria Operandos de instrucciones aritméticas deben ser registros, solo hay registro disponibles Processor Devices Control Memory Input Datapath Output Compiladores asocian variables con registros Que pasa con programas con muchas variables?
16 Accediendo a la Memoria MIPS tiene dos instrucciones básicas de transferencia de datos para acceder a la memoria lw $t0, 4($s3) #load word from memory sw $t0, 8($s3) #store word to memory (assume $s3 tiene ) La instrucción de transferencia de datos debe especificar De donde leer (load) o escribir (write) en memoria memory address Desde donde en los registros leer o cargar La dirección de memoria se forma al sumar la dirección constante de la instrucción y los contenidos del segundo registro
17 Accediendo a la Memoria MIPS tiene dos instrucciones básicas de transferencia de datos para acceder a la memoria 28 lw $t0, 4($s3) #load word from memory sw $t0, 8($s3) #store word to memory (assume $s3 tiene ) La instrucción de transferencia de datos debe especificar De donde leer (load) o escribir (write) en memoria memory address Desde donde en los registros leer o cargar La dirección de memoria se forma al sumar la dirección constante de la instrucción y los contenidos del segundo registro
18 Memoria Asumiendo que la variable h esta asociada con el registro $s2, y la dirección base de arreglo A esta en $s3, cual es el equivalente en asembler de? A[12] = h + A[8]
19 Memoria Asumiendo que la variable h esta asociada con el registro $s2, y la dirección base de arreglo A esta en $s3, cual es el equivalente en asembler de? A[12] = h + A[8] lw $t0, ($s3) # Temp $t0 gets A[8] add $t0, $s2,$t0 # Temp $t0 gets h+a[8] sw $t0, 48($s3) # Store h+a[8] into A[12]
20 Interconexión del Procesador y Memoria La memoria se ve como un arreglo de ubicaciones de almacenamiento con direcciones Una dirección de memoria es un índice para el arreglo read addr/ write addr Processor read data Memory numero posible de ubicaciones? write data bits
21 Interconexión del Procesador y Memoria La memoria se ve como un arreglo de ubicaciones de almacenamiento con direcciones Una dirección de memoria es un índice para el arreglo read addr/ write addr Processor read data Memory? words ubicaciones write data bits
22 Tipos de datos MIPS Bit: 0, 1 Bit String: secuencia de bits de un largo particular 4 bits is a nibble 8 bits is a byte 16 bits is a half-word bits (4 bytes) is a word 64 bits is a double-word Caracter: ASCII 7 bit code Decimal: dígitos 0-9 codificados como 0000b a 1001b dos dígitos decimales por cada byte de 8 bits Integers: complemento 2's Floating Point
23 Direcciones de Bytes Dado que bytes de 8-bits son tan útiles, la mayoría de las arquitecturas direccionan bytes individuales de la memoria Entonces, la dirección de memoria de una palabra tiene que ser un múltiple de 4 (restricción de alineamiento) Procesadores MIPS generalmente pueden ser configurados como Big o Little Endian. Big Endian: byte de la izquierda es dirección de word IBM 360/370, Motorola 68k, Sparc, HP PA Little Endian: byte de la derecha es dirección de word Intel 80x86, DEC Vax, DEC Alpha (Windows NT)
24 Direcionamiento: Endianess y Alineamiento Big Endian: byte de la izquierda es dirección de word Little Endian: byte de la derecha es dirección de word little endian msb lsb big endian Aligned Not Aligned
25 Direcionamiento: Endianess y Alineamiento Big Endian: byte de la izquierda es dirección de word Little Endian: byte de la derecha es dirección de word little endian byte 0 msb lsb big endian byte 0 Aligned Not Aligned
26 Direccionamiento de Memoria en MIPS La dirección de memoria se forma sumando la parte constante de la instrucción y el contenido del segundo registro (base) (Asumir Little Endian) $s3 holds 8 Memory Data Word Address lw $t0, 4($s3) #que? se carga en $t0 sw $t0, 8($s3) #$t0 se almacena adonde?
27 Direccionamiento de Memoria en MIPS La dirección de memoria se forma sumando la parte constante de la instrucción y el contenido del segundo registro (base) $s3 holds Memory Data 0 Word Address lw $t0, 4($s3) #que? se carga en $t sw $t0, 8($s3) #$t0 se almacena adonde? en ubicación 16
28 Compilando con Loads and Stores Si la variable b se almacena en $s2 y la dirección base de un arreglo A esta en $s3, cual es el código assembler MIPS para el siguiente código en C? A[8] = A[2] - b... A[3] A[2] A[1] A[0]... $s3+12 $s3+8 $s3+4 $s3
29 Compilando con Loads and Stores Si la variable b se almacena en $s2 y la dirección base de un arreglo A esta en $s3, cual es el código assembler MIPS para el siguiente código en C? A[8] = A[2] - b... A[3] A[2] A[1] A[0]... $s3+12 $s3+8 $s3+4 $s3 lw $t0, 8($s3) sub $t0, $t0, $s2 sw $t0, ($s3)
30 Compilando con un índice de un arreglo Asumiendo que A es un arreglo de 50 elementos para los cuales su base esta en $s4, y que las variables b, c, i están en $s1, $s2, y $s3 respectivamente. Cual es el código MIPS para la siguiente línea en C? c = A[i] - b add $t1, $s3, $s3 #array index i is in $s3 add $t1, $t1, $t1 #temp reg $t1 holds 4*i
31 Compilando con un índice de un arreglo Asumiendo que A es un arreglo de 50 elementos para los cuales su base esta en $s4, y que las variables b, c, i están en $s1, $s2, y $s3, respectivamente, cual es el código MIPS para la siguiente línea en C? c = A[i] - b add $t1, $s3, $s3 #array index i is in $s3 add $t1, $t1, $t1 #temp reg $t1 holds 4*i add $t1, $t1, $s4 #addr of A[i] lw $t0, 0($t1) sub $s2, $t0, $s1
32 Instrucciones MIPS hasta ahora Category Instr Op Code Example Meaning Arithmetic add 0 and add $s1, $s2, $s3 $s1 = $s2 + $s3 (R format) subtract 0 and 34 sub $s1, $s2, $s3 $s1 = $s2 - $s3 Data load word 35 lw $s1, 100($s2) $s1 = Memory($s2+100) transfer store word 43 sw $s1, 100($s2) Memory($s2+100) = $s1 (I format)
33 Repaso: Organización MIPS Instrucciones aritméticas hacia/desde register file Instrucciones load/store hacia/desde memoria Processor Memory src1 addr 5 src2 addr 5 dst addr 5 write data Register File registers ($zero - $ra) bits src1 data src2 data read/write addr read data write data ALU byte address (little Endian) bits words word address (binary)
34 Nombres de registros 0 $zero constant 0 (Hdware) 1 $at reserved for assembler 2 $v0 expression evaluation & 3 $v1 function results 4 $a0 arguments 5 $a1 6 $a2 7 $a3 8 $t0 temporary: caller saves... (callee can clobber) 15 $t7 16 $s0 callee saves... (caller can clobber) 23 $s7 24 $t8 temporary (cont d) 25 $t9 26 $k0 reserved for OS kernel 27 $k1 28 $gp pointer to global area 29 $sp stack pointer 30 $fp frame pointer 31 $ra return address (Hdware)
35 Representación Binaria Sin Signo (Unsigned) Hex Binary Decimal 0x x valor del bit 0x x x posición bit 0x x x x x xFFFFFFFC 0xFFFFFFFD xFFFFFFFE 0xFFFFFFFF
36 Representación Binaria con Signo (Signed) 1011 y suma un complementa los bits 2 sc binary decimal -2 3 = (2 3-1) = =
37 Instrucción Aritmética en Machine Language Instrucciones como registros y words de datos son de bits de largo Ejemplo: add $t0, $s1, $s2 Registros tienen números Formato de instrucción aritmética: $t0=$8, $s1=$17, op rs rt rd shamt funct Para que son los nombres de los campos?
38 Instrucción Aritmética en Machine Language Instrucciones como registros y words de datos son de bits de largo Ejemplo: add $t0, $s1, $s2 Registros tienen números Formato de instrucción aritmética: $t0=$8, $s1=$17, op rs rt rd shamt funct Cuales son los nombres de los campos?
39 Nombres de los campos en MIPS op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits = bits op rs rt rd shamt funct
40 Nombres de los campos en MIPS op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits = bits op rs rt rd shamt funct Opcode indicando la operación (instrucción) Dirección del primer registro (source) operando Dirección del segundo registro (source) operando Dirección del registro destino Cantidad de rotación (para instrucción de rotación) Código de función que selecciona variante de la operación especificada en opcode
41 Lenguaje de Maquina Instruccion Load Considere las instrucciones para load-word y store-word Introduce un nuevo tipo de formato de instrucción I-type para transferencia de datos formato previo era R-type para registros Ejemplo: lw $t0, 24($s2) op rs rt 16 bit number
42 Lenguaje de Maquina Instruccion Load Considere las instrucciones para load-word y store-word Introduce un nuevo tipo de formato de instrucción I-type para transferencia de datos formato previo era R-type para registros Ejemplo: lw $t0, 24($s2) op rs rt 16 bit number
43 Dirección de Memoria Ejemplo: lw $t0, 24($s2) $s2 = Memory 0xf f f f f f f f 0x $s2 0x El offset puede ser positivo o negativo data 0x c 0x x x word address (hex)
44 Ubicación de Dirección de Memoria Ejemplo: lw $t0, 24($s2) Memory 0xf f f f f f f f $s2 = = 0x120040ac 0x x120040ac $s2 0x El offset puede ser positivo o negativo data 0x c 0x x x word address (hex)
45 Lenguaje de Maquina Instruccion Store Ejemplo: sw $t0, 24($s2) op rs rt 16 bit number Una dirección de 16-bits significa que acceso esta limitado a ubicaciones de memoria dentro de una región de ±2 13 o 8,192 words (±2 15 o,768 bytes) en el rango de direcciones del registro base $s2
46 Lenguaje de Maquina Instruccion Store Ejemplo: sw $t0, 24($s2) op rs rt 16 bit number Una dirección de 16-bits significa que acceso esta limitado a ubicaciones de memoria dentro de una región de ±2 13 o 8,192 words (±2 15 o,768 bytes) en el rango de direcciones del registro base $s2
47 Código Assembler Recuerde el programa que se hizo anteriormente A[8] = A[2] - b lw $t0, 8($s3) #load A[2] into $t0 sub $t0, $t0, $s2 #subtract b from A[2] sw $t0, ($s3) #store result in A[8] Cual seria el código maquina para estas instrucciones?
48 Código Assembler Recuerde el programa que se hizo anteriormente A[8] = A[2] - b lw $t0, 8($s3) #load A[2] into $t0 sub $t0, $t0, $s2 #subtract b from A[2] sw $t0, ($s3) #store result in A[8] El código MIPS es el siguiente: lw sub sw
49 Repaso: Tipos de datos MIPS Bit: 0, 1 Bit String: secuencia de bits de un largo particular 4 bits is a nibble 8 bits is a byte 16 bits is a half-word bits (4 bytes) is a word 64 bits is a double-word Caracter: ASCII 7 bit code Decimal: dígitos 0-9 codificados como 0000b a 1001b dos dígitos decimales por cada byte de 8 bits Integers: complemento 2's Floating Point
50 ASCII La mayoría de las computadoras usan bytes de 8 bits para representar caracteres con ASCII (American Std Code for Info Interchange) ASCII Char Null EOT ACK bksp tab LF FF ASCII Char space! # $ % & ( ) * +, ASCII Char : ; < ASCII A B C D E F G H I J K L ASCII Char ` a b c d e f g h i j k l ASCII Char p q r s t u v w x y z { / 63? 79 O 111 o 127 DEL Por eso necesitamos instrucciones para mover bytes
51 Leyendo y Guardando (Load/Store) Bytes MIPS provee instrucciones para mover bytes lb sb $t0, 1($s3) #load byte from memory $t0, 6($s3) #store byte to memory op rs rt 16 bit number Que 8 bits se leen y guardan? load byte pone el byte de memoria en los 8 bits mas a la derecha del registro destino que pasa con los otros bits del registro? store byte toma el bite de los 8 bits mas a la derecha del registro y los escribe a un byte en la memoria
52 Ejemplo: Leyendo y Guardando Bytes Dado el siguiente código cuales son los valores de memoria y los registros después de ejecutarlo? add $s3, $zero, $zero lb $t0, 1($s3) sb $t0, 6($s3) Memory F F F F F F F F A 0 Data Que queda en $t0 si la maquina es big Endian? Y si la maquina fuera little Endian? 0 Word Address (Decimal) mem(4) = 0xFFFF90FF $t0 = 0x mem(4) = 0xFF12FFFF $t0 = 0x
53 Repaso: Instrucciones MIPS hasta ahora Category Instr Op Code Example Meaning Arithmetic add 0 and add $s1, $s2, $s3 $s1 = $s2 + $s3 (R format) subtract 0 and 34 sub $s1, $s2, $s3 $s1 = $s2 - $s3 Data load word 35 lw $s1, 100($s2) $s1 = Memory($s2+100) transfer store word 43 sw $s1, 100($s2) Memory($s2+100) = $s1 (I format) load byte lb $s1, 101($s2) $s1 = Memory($s2+101) store byte 40 sb $s1, 101($s2) Memory($s2+101) = $s1
54 Repaso: MIPS R3000 ISA Categorías Leer/Guardar (Load/Store) Aritméticas (Computational) Jump and Branch Punto Flotante (Floating Point) coprocessador Memory Management Special Registers R0 - R31 PC HI LO 3 Formatos: todos de bits 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits OP rs rt rd shamt funct OP rs rt 16 bit number OP 26 bit jump target R format I format
ELO311 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 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 detallesELO311 Estructuras de Computadores Digitales. Procesador Monociclo
ELO3 Estructuras de Computadores Digitales Procesador Monociclo Tomás Arredondo Vidal Este material está basado en: material de apoyo del texto de David Patterson, John Hennessy, "Computer Organization
Más detallesDiseñ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 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 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 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 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 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 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 detallesARQUITECTURA DEL REPERTORIO DE INSTRUCCIONES
ARQUITECTURA DEL REPERTORIO DE INSTRUCCIONES Arquitectura del Repertorio de instrucciones Arquitectura del repertorio de instrucciones Repertorio de instrucciones Organización del almacenamiento Formato
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 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 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 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 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 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 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 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 detallesMIPS: Modelo de programación. (I Parte)
MIPS: Modelo de programación (I Parte) MIPS: Microprocessor without Interlocked Pipeline Stages Trabajaremos como MIPS Son similares a las desarrolladas en los años 80 Cerca de 100 millones de procesadores
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 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 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 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 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 detallesConvenciones. 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 detallesUNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO311 Estructuras de Computadores
12. Diseño de un Procesador. (Monociclo) 12.1 Especificación de instrucciones. El primer paso es la especificación de la arquitectura del repertorio de instrucciones y de las instrucciones que podrá ejecutar
Más detallesEl 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 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 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 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 detallesTema 5. Segmentación: conceptos básicos
Tema 5. Segmentación: conceptos básicos Organización de Computadores LUIS ENRIQUE MORENO LORENTE RAÚL PÉRULA MARTÍNEZ ALBERTO BRUNETE GONZALEZ DOMINGO MIGUEL GUINEA GARCIA ALEGRE CESAR AUGUSTO ARISMENDI
Más detallesArquitectura t de Computadores Clase 10: Diseño del microprocesador monociclo pt.2
Arquitectura t de Computadores Clase 10: Diseño del microprocesador monociclo pt.2 Departamento de Ingeniería de Sistemas Universidad id d de Antioquia i 2011 2 Unidad de control principal Mediante el
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 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 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 detallesSegmentación del Path de Datos
Maestría en Electrónica Arquitectura de Computadoras Unidad 5 Segmentación del Path de Datos M. C. Felipe Santiago Espinosa Abril/2018 Introduction CPU performance factors Instruction count Determined
Más detallesOrganización del Computador. Microprogramación
Organización del Computador Microprogramación Consideraciones Una única ALU, una única Memoria, un único Banco de Registros. Problemas con el uso de los recursos?? Dos tipos de problemas: Una instrucción
Más detallesPr. Dr. Xavier Bonnaire
Pr. Dr. Xavier Bonnaire Slide 1 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María Temario Introducción Estructura Básica de un Computador Lenguaje de Máquina Básico Instrucciones para
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 detallesUNIDAD I CONCEPTOS GENERALES. Conceptos Generales Microprocesadores Otoño 2011
1 UNIDAD I CONCEPTOS GENERALES Fall 2011 Conceptos Generales Microprocesadores Otoño 2011 Contenido 2 Introducción Arquitectura generalizada de una computadora Componentes de una computadora Conjunto de
Más detallesEl 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 detallesProcesador Segmentado
Organización del Computador I Verano Procesador Segmentado Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2014 Profesora Borensztejn Segmentación Descompone una determinada operación
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 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 detallesArquitectura 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 detallesDiseño Procesador Multiciclo
Diseño Procesador Multiciclo En el modelo del procesador monociclo el reloj se ajusta a la ruta combinacional más crítica, por ejemplo la que se genera con la instrucción lw. Los recursos son utilizados
Más detallesProcesador 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 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 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 detallesELO311 Estructuras de Computadores Digitales. Ambiente de Ejecución de Funciones
ELO311 Estructuras de Computadores Digitales Ambiente de Ejecución de Funciones Tomás Arredondo Vidal Este material está basado en: material de apoyo del texto de David Patterson, John Hennessy, "Computer
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 multiciclo Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa. Introducción. 2. Construcción
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 detallesARQUITECTURA 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 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 detallesELO311 Estructuras de Computadores Digitales. Estructuras de Datos
ELO311 Estructuras de Computadores Digitales Estructuras de Datos Tomás Arredondo Vidal Este material está basado en: material de apoyo del texto de David Patterson, John Hennessy, "Computer Organization
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 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 detallesMemoria, Datos y Direccionamiento
Memoria, Datos y Direccionamiento Lección 2 Ing. Jorge Castro-Godínez MT7003 Microprocesadores y Microcontroladores Área de Ingeniería Mecatrónica Instituto Tecnológico de Costa Rica I Semestre 2014 Jorge
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 detallesMicroarquitectura: DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE 2008 3. MICROARQUITECTURA: FLUJO DE DATOS Y CONTROL DEL MICROPROCESADOR
Microarquitectura: implementación multiciclo DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE 2008 3. MICROARQUITECTURA: FLUJO DE DATOS Y CONTROL DEL MICROPROCESADOR 3.1 Esquema básico de un microprocesador
Más detallesArquitectura de Computadores
Arquitectura de Computadores Ricardo.Sanz@upm.es Curso 2004-2005 Arquitectura de Computadores Arquitectura de computadores es la disciplina que estudia la organización y funcionamiento de los computadores
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 detallesOrganización del Computador. Máquina de von Neumann Jerarquía de Niveles
Organización del Computador Máquina de von Neumann Jerarquía de Niveles El modelo de Von Neumann Antes: programar era conectar cables (ENIAC) Hacer programas era mas una cuestión de ingeniería electrónica
Más detallesArquitectura de Computadoras Trabajo Práctico N 8 Pipeline de Instrucciones 1 Primer Cuatrimestre de 2016
Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Arquitectura de Computadoras Trabajo Práctico N 8 Pipeline de Instrucciones 1 Primer Cuatrimestre de 2016 1. La
Más detallesTema 5 Diseño del Set de Instrucciones (ISA) Arquitectura de Computadoras
Tema 5 Diseño del Set de Instrucciones (ISA) Arquitectura de Computadoras http://www.herrera.unt.edu.ar/arqcom dcohen@herrera.unt.edu.ar Temario 1. Evolución histórica. 2. Repaso de conceptos importantes.
Más detallesBibliografía recomendada: Estructura y Diseño de Computadores: Volumen 1 Modelo Modelo Vo Vo n Neumann
ibliografía recomendada: Estructura y Diseño de Computadores: Volumen D Patterson y J Hennessy, ed Reverté, Capítulo 5: El procesador: camino de datos y control Interfaz con usuario Modelo Von Neumann
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 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 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 detallesEl Diseño de un Lenguaje Máquina
Arquitectura de Ordenadores Juego de Instrucciones del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática El Diseño de un Lenguaje
Más detallesFundamentos 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 detallesDiseñ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 detallesOrganización y Arquitectura
Diego Garverbetsky 1, Marcelo Risk 1, Diego Fernández Slezak 1, Juan Pablo Galeotti 1, Fernando Schapachnik 1 1 Departamento de Computación, FCEyN, Universidad de Buenos Aires, Buenos Aires, Argentina
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 detallesPrá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 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 detallesUNIDAD 3 ARQUITECTURA DEL Z80. Microprocesadores Otoño 2011
1 UNIDAD 3 ARQUITECTURA DEL Z80 Microprocesadores Otoño 2011 Contenido 2 Arquitectura interna del Z-80 Interface Ciclos de máquina y temporización del bus de comunicación. Conjunto de Instrucciones Arquitectura
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 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 detallesPrá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 detallesELO311 Estructuras de Computadores Digitales. Pipeline (Segmentación)
ELO311 Estructuras de Computadores Digitales Pipeline (Segmentación) Tomás Arredondo Vidal Este material está basado en: material de apoyo del texto de David Patterson, John Hennessy, "Computer Organization
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 detallesIntroducción al simulador
Departamento de Automática 1 / 17 Índice Proyecciones de dispositivos de entrada/salida Registros Instrucciones 2 / 17 Arquitectura del simulador Sitio web https://parraman.github.io/asm-simulator/ Proyecto
Más detallesMODOS DIRECCIONAMIENTO CPU08. Curso de Microcontroladores Familia HC908 Flash de Motorola Parte II. ING. DANIEL DI LELLA DDFAE For Motorola Products
MODOS DE DIRECCIONAMIENTO 08 MODOS DE DIRECCIONAMIENTO Inherente Inmediato Directo Extendido Indexado Relativo a A continuación veremos cada uno de estos modos de direccionamiento en la familia HC908,
Más detallesDiseñ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 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 detallesArquitectura 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 detallesArquitecturas vectoriales, SIMD y extensiones multimedia
Arquitecturas vectoriales, SIMD y extensiones multimedia William Stallings, Organización y Arquitectura de Computadores, 5ta. ed., Capítulo 16: Procesamiento Paralelo. Andrew S. Tanenbaum, Organización
Más detallesEstructura 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 detallesContenidos del Curso. Arquitectura de Computadores. Organización de un Sistema computacional
Arquitectura de Computadores Cecilia Hernández Contenidos del Curso Introducción Arquitectura de conjunto de instrucciones y programación assembly Arquitectura y organización de procesadores Sistemas de
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 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 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 detalles