Bibliografía recomendada: Estructura y Diseño de Computadores: Volumen 1 Modelo Modelo Vo Vo n Neumann

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

Download "Bibliografía recomendada: Estructura y Diseño de Computadores: Volumen 1 Modelo Modelo Vo Vo n Neumann"

Transcripción

1 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

2 La CPU es un sistema digital cuya funcionalidad podríamos describir con la siguiente secuencia: Leer de memoria la siguiente instrucción Decodificar la instrucción Obtener los operandos de la instrucción Ejecutar la instrucción (realizar la operación) 5 lmacenar el resultado Volver a Para poder diseñar la CPU necesitamos tomar algunas decisiones: Qué repertorio de instrucciones queremos que pueda ejecutar el procesador Qué tipos de datos puede manipular el procesador Con qué tamaño de palabra va a trabajar el procesador TODOS los datos que manipula un programa se almacenan en la memoria o se va a disponer de un banco de registros La memoria Tiene más capacidad de almacenaje cceso a los datos lento El banco de registros Tiene menos capacidad de almacenaje cceso a los datos muy rápido Cuantos ciclos de reloj necesitan las instrucciones Multiciclo: cada instrucción se ejecuta en varios ciclos de reloj Tiempo de ciclo frecuencia de reloj

3 Sobre el Repertorio de instrucciones RISC o CISC? RISC: Reduced Instruction Set Computer CISC: Complex Instruction Set Computer ncho de la instrucción: Número fijo o variable de bits que podemos utilizar para codificar la instrucción Tipos de instrucciones Número de instrucciones de cada tipo Cómo se va a especificar en la instrucción dónde están los datos y cómo acceder a ellos Modos de direccionamiento 5 Sobre el Repertorio de instrucciones: Tipo de instrucciones Un computador debe ser capaz de: Realizar las operaciones matemáticas elementales Instrucciones aritmético lógicas Obtener los datos que utiliza la instrucción y almacenar los resultados de las operaciones Instrucciones de acceso a memoria Modificar el flujo secuencial del programa Instrucciones de salto Otras dependiendo de las características particulares del procesador Recordad que un computador es un sistema digital luego sólo puede hacer operaciones con datos y leer o escribir datos en memoria o registros 6

4 Sobre el Repertorio de instrucciones: Formato de las instrucciones Un computador NO entiende los lenguajes de programación de alto nivel Sólo entiende ceros y unos (código máquina) La instrucción es una cadena de y que contiene toda la información que necesita la CPU para poder ejecutarla Las instrucciones tienen que contener la siguiente información: Tipo de instrucción OODE (Código de Operación) Dónde se encuentra el valor de cada operando Modos de direccionamiento (MDs) Lenguaje máquina OODE operandos fuente, destino, Cuántos operandos explícitos tiene cada instrucción? ( fuente/destino y fuente) ( fuente y un destino) Más de??? 7 Sobre el Repertorio de instrucciones: Modos de direccionamiento Es la forma de especificar dentro de la instrucción: Dónde están las datos Registros En la propia instrucción Cómo acceder a ellos Cada familia de procesadores ofrece distintas posibilidades: Inmediato bsoluto Directo de Registro Indirecto de Registro Indirecto de Registro con desplazamiento 8

5 Como hemos visto, hay muchas decisiones que tomar para poder diseñar la CPU de un procesador Todas estas decisiones son las que definen la arquitectura de un procesador Definición de rquitectura del procesador Es el conjuntos de atributos de un computador que son visibles a: El programador en lenguaje máquina El sistema operativo El compilador Engloba los siguientes elementos: Conjunto de instrucciones máquina Tipos básicos de datos soportados por las instrucciones máquina Modos de direccionamiento Conjunto de registros visibles al programador Registros de datos, direcciones, estado, contador de programa () Mecanismos de E/S 9 Se denomina familia al conjunto de computadores / procesadores con la misma arquitectura pero distinta implementación Las familias de computadores hacen posible que: Existan máquinas de la misma familia con distinta Tecnología Velocidad Prestaciones Precio Las máquinas de una misma familia sean compatibles entre sí La compatibilidad suele ser hacia arriba (upward compatibility) Todos los miembros de una misma familia pueden ejecutar los mismos programas

6 68 CISC Intel (X86) CISC MIPS RISC Con esta arquitectura vamos a aprender el diseño de un procesador RM RISC Con esta arquitectura vamos a aprender a programar en lenguaje ensamblador La hemos visto en el Tema 8 Las practicas se realizan con el RM Procesador MIPS

7 MIPS = MicroprocessorwithoutInterlockedPipeline Stages Creado en 98 por Hennessy Producido por Silicon Graphics (SGI) Utilizado por: TiVo Windows CE Cisco routers Nintendo 6 Sony PlayStation, PlayStation, PlayStation Portable R (985) Procesador con operaciones multiciclo de multiplicación y división, dentro de un coprocesador matemático Los resultados de estas operaciones eran conseguidos a través de instrucciones particulares unque los registros eran de bits podían utilizarse como de 6 para doble precisión R (988) ñade una cache de K (más tarde 6K) ñade una MMU para gestionar la memoria virtual Entre otros, fue utilizado en la Play Station, además en los primeros portátiles que utilizaban Windows CE Fue el primer procesador MIPS que tuvo éxito en el mercado Se vendieron millón de estos procesadores

8 R (99) Consigue un alto ciclo de reloj umenta el conjunto de instrucciones a un procesador de 6 bits ñade la unidad de punto flotante (FPU) dentro del chip Reducen las caches a 8K Tiene una super segmentación Nintendo6 y los primeros routers de Cisco (6x y 7x) utilizan una CPU basada en este diseño R8 (99) Fue el primer procesador super escalar que podía trabajar a la vez con dos s y dos memorias Su unidad FPU era perfecta para cálculos científicos Duró en el mercado sólo un año R (995): Tenía caches de K y su mayor innovación fue la utilización de la ejecución fuera de orden R (6) cores no ha llegado a producirse Loongson/Godson (actualidad): Versiones multicore (6 cores) 5 ntes de empezar a diseñar la CPU del MIPS necesitamos conocer su arquitectura: Vamos a trabajar con una versión simplificada del MIPS Repertorio de instrucciones Tamaño de las instrucciones bits ( bytes) Todas las instrucciones tienen el mismo tamaño Tres tipos de instrucciones ritmético lógicas cceso a memoria De salto condicional Sólo existen formatos de instrucciones Modos de direccionamiento Tres tipos Directo a registro Indirecto registro con desplazamiento Inmediato Temporalización de las instrucciones multiciclo 6

9 Direccionable por bytes Dirección bits, ( Gbyte) La palabra de bits ( bytes) alineada Siempre accederemos a direcciones múltiplo de porque tanto datos como instrucciones son de bytes dmite little y big endian Tiene un bit de modo para seleccionarlo anco de Registros registros (5bits) de bits ( bytes) Lectura paralela de registros Escritura en un registro Dirección bits Dato a escribir Esc Lect anco de Registros RegWr Dato leído Palabra bits 7 Inmediato Dónde está el operando Está contenido en la propia instrucción: Cómo acceder a él ccediendo los bits de la instrucción que lo contiene Instrucción MD del operando 8

10 Directo registro Dónde está el operando En un registro del banco de registros Cómo acceder a él La instrucción nos indica el número del registro Instrucción MD del operando 9 Indirecto registro con desplazamiento inmediato Dónde está el operando En una posición de memoria Cómo acceder a él Primero hay que calcular la dirección de memoria (Efective dresse) Dir Mem = contenido del registro + desplazamiento= Ri + desplazamiento Instrucción MD del operando

11 Ejemplo Inmediato Directo a registro Indirecto a registro con desplaz OPcode OPcode OPcode Operando = 5 Operd= R5= (C) Hex = ( ) decimal Operd=M(R5+ 8)= () Hex = () decimal anco Registros R R R R R R5 R 7 C bits (Little endian) 8 6 F 5 5 FF FC 97 5 FC FF bits Formato de las instrucciones Tipo R: aritmético lógicas Tipo I: con memoria salto condicional Tipo J: salto incondicional op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits 6 6 op rs rt inmediato 6 bits 5 bits 5 bits 6 bits 6 op dirección 6 bits 6 bits El significado de los campos es: op: identificador de instrucción rs, rt, rd: identificadores de los registros fuentes y destino shamt: cantidad a desplazar (en operaciones de desplazamiento) funct: selecciona la operación aritmética a realizar inmediato: es el valor del desplazamiento en direccionamiento a registro base dirección: dirección destino del salto

12 Instrucciones aritmético lógicas Tiene tres operandos: Operando Destino = Operando fuente (funct) Operando fuente Modo de direccionamiento de los operandos: Directo a Registro Rs Rt Rd No se usa funct OP=6 bits 5 bits 5 bits 5 bits 5 bits 6 bits Campo OP (Código de Operación) = Indica que es una instrucción aritmético lógica Campo de los operandos: Indica donde se encuentran los operandos» Rs Número del registro donde se encuentra el primer operando fuente» Rt Número del registro donde se encuentra el segundo operando fuente» Rd Número del registro donde se encuentra el operando destino Se necesitan 5 bits porque el anco de Registros tiene registros Campo funct Indica la operación aritmética o lógica que hay que realizar» add funct= ()» sub funct= ()» and funct=6 ()» or funct=7 () Instrucciones aritmético lógica Inst Hex OP Rs Rt Rd funct 68 rit log R R R5 Suma Lenguaje máquina anco de Registros ntes de ejecutar la instrucción 5 bits R R R R R R5 R R 7 FF F bits + 7 Las operaciones se pueden hacer en la base que queramos, pero en el banco de registros lo guardamos en Hex porque: Es como lo muestran los simuladores Es más cómodo que en binario anco de Registros Después de ejecutar la instrucción 5 bits R R R R R R5 R R 7 F bits

13 Instrucciones aritmético lógica Inst Hex OP Rs Rt Rd funct 68 rit log R R R ND Lenguaje máquina anco de Registros ntes de ejecutar la instrucción R R 7 R R R R5 5 bits anco de Registros Después de ejecutar la instrucción 5 bits R R R R R R5 7 R R F ND En las operaciones lógicas hay que trabajar en binario R R bits bits 5 Instrucciones de acceso a memoria Tiene dos operandos: Operando Destino Operando Fuente Load lee un dato de memoria (Oper Fuente ) y lo escribe en un registro (Oper Destino ) R (Dirección) Store lee un dato de un registro (Oper Fuente ) y lo escribe en memoria (Oper Destino ) (Dirección) R Modo de direccionamiento de los operandos: Directo a Registro Para los operandos que están en el banco de registros Indirecto a registro con desplazamiento inmediato Para los operandos que están en la memoria Dirección de memoria = R + SignExt( Desplazamiento ) El valor del desplazamiento está en la propia instrucción, tiene 6 bits y está representado de complemento a 6

14 Instrucciones de acceso a memoria 6 OP Rs Rt 6 Desplazamiento 6 bits 5 bits 5 bits 6 bits Campo OP OP=5 () Indica que es una instrucción Load OP= () Indica que es una instrucción Store Campo de los operandos: Indica donde se encuentran los operandos Rs Número del registro que se necesita para calcular la dirección de memoria Rt» Número del registro donde se encuentra eloperando destino (inst Load)» Número del registro donde se encuentra el operando fuente (inst store) Desplazamiento» Contiene el valor que hay que sumarle al contenido del registro Rs para calcular la dirección de memoria» Rango = [ 5, +( 5 )] Se necesitan 5 bits porque el anco de Registros tiene registros 7 Instrucción Load Inst Hexad 8C6C OP Rs Rt desplazamiento Lenguaje máquina Load R R Desplazamiento= 5 bits anco de Registros R R R R R R5 R R 5FC FFF FF F bits + Desplazamiento E: Cálculo de la dirección de memoria del operando fuente (Operación en binario) bits 8 6 (ig endian) 5 FF F FC bits 5 8

15 Instrucción Store Inst Hexad C6C OP Rs Rt desplazamiento Lenguaje máquina Store R R Desplazamiento= 5 bits anco de Registros R R R R R R5 R R FFF FF F bits + Desplazamiento Cálculo de la dirección de memoria del operando fuente (Operación en binario) bits 8 6 (ig endian) 5 FF F FC bits 5 FF F 9 Instrucciones de salto condicional Tiene tres operandos: Operando fuente, Operando fuente y Desplazamiento Si Operando fuente = Operando fuente hay que calcular la dirección de memoria donde está la instrucción a la que hay que saltar En caso contrario no hace nada Modo de direccionamiento de los operandos: Directo a Registro Para los operandos que están en el banco de registros Inmediato El valor del desplazamiento está en la propia instrucción

16 Instrucciones de salto condicional 6 6 OP Rs Rt Desplazamiento 6 bits 5 bits 5 bits 6 bits Campo OP OP= () Indica que es una instrucción de salto Campo de los operandos fuentes: Indica donde se encuentran los operandos Rs Número del registro donde se encuentra el primer operando fuente Rt Número del registro donde se encuentra el segundo operando fuente Desplazamiento» Contiene el valor del desplazamiento, este se necesita para calcular la dirección de memoria donde está la instrucción a la que hay que saltar» Si no hay que saltar este valor no se usa Se necesitan 5 bits porque el anco de Registros tiene registros El computador No entiende las instrucciones de los lenguajes de alto nivel Java, C, Pascal, Phyton Sólo entiende lenguaje máquina Hay que programar en lenguaje máquina? En los primeros procesadores se programaba en este lenguaje No es intuitivo Es muy pesado tener que poner las instrucciones con y Se crea el lenguaje ensamblador Conjunto de nemotécnicos que representan a cada una de las instrucciones del lenguaje máquina Lenguaje máquina Lenguaje ensamblador DD R, R, R5 LW R, (R)

17 Programar en alto nivel Existen muchos lenguajes signatura Fundamentos de la programación, Java, C, Pascal, Phyton Estos lenguajes son independientes de la arquitectura del procesador donde se va a ejecutar el programa La arquitectura del procesador es transparente al programador El compilador se encarga de traducir el programa a código máquina Programar en bajo nivel Hay que usar lenguaje ensamblador Lo veremos: En el tema y en las prácticas En la asignatura de Estructura de Computadores Este lenguaje depende de la arquitectura del procesador donde se va a ejecutar el programa El programador tiene que conocer la arquitectura del procesador El ensamblado traduce los programas escritos en lenguaje ensamblador a código máquina Sólo vamos a ver un conjunto reducido de instrucciones porque no vamos a programar con esta arquitectura Instrucciones del MIPS en lenguaje ensamblador Instrucciones con referencia a memoria: lw Rt, desplaz(rs) sw Rt, desplaz(rs) Instrucciones aritmético lógicas con operandos en registros: add Rd, Rs, Rt sub Rd, Rs, Rt and Rd, Rs, Rt or Rd, Rs, Rt Instrucciones de salto condicional: beq Rs, Rt, desplaz si ( rs = rt ) salta

18 Unidad de control anco de registros Ruta de datos Unidad de proceso (Ruta de datos o Data path) Circuito que realiza las operaciones que indican las instrucciones del programa Está formada por módulos combinacionales y secuenciales, Registros especiales, Multiplexores, anco de registros Unidad de control Genera las señales necesarias para que la unidad de proceso realice en cada momento las operaciones correspondientes Varias alternativas En este curso estudiaremos su diseño como máquina de estados 5 Dividimos la ejecución de cada instrucción en 5 fases: úsqueda de la instrucción (fetch) Decodificación (deco) Ejecución (ex) cceso a memoria (mem) 5 lmacenamiento del resultado (write back) El tiempo de ejecución de cada fase es ciclo de reloj Cada instrucción tarda un número distinto de ciclos, según las fases que deba ejecutar 6

19 Qué HW necesitamos para implementar cada una de las fases de ejecución de una operación? Nótese que las distintas fases de la ejecución de una instrucción pueden compartir el HW de la ruta de datos ya que se ejecutan en ciclos distintos 7 Lectura de la instrucción ubicada en la dirección de la memoria indicada por el contador de programa provechamos para incrementar, dejándolo listo para la siguiente instrucción Hardware necesario: Contador de programa () Registro de instrucción () Sumador (utilizamos la usada para realizar op aritmetico lógicas) 8

20 Lectura de los operandos necesarios del banco de registros Hardware necesario: anco de registros registros de operandos y Instrucción [5 ] Instrucción [ 6] Instrucción [5 ] anco de registros 9 Realizar la operación indicada por la instrucción Hardware necesario: Registro para salvar el resultado de la (Out) Extensor de signo (únicamente para lw y sw) Desplazador a la izquierda para implementar la multiplicación por ( para saltos) Instrucción [5 ] Instrucción [ 6] Instrucción [5 ] anco de registros out Instruc [5 ] Extensión de signo <<

21 Lectura de un dato de la memoria Hardware necesario: Registro para almacenar el dato leído (M) out M Las instrucciones aritmético lógicas y lw Escritura del resultado en el banco de registros Las instrucciones sw Escritura en la memoria La instrucción de salto ctualiza el valor de si se cumple la condición del salto Hardware necesario: anco de registros

22 beq sw M Instrucción [5 ] Instrucción [ 6] lw Instruc [5 ] rit Log rit Log lw Instruc [5 ] rit Log y lw anco de registros Extensión de signo << out : contiene instrucciones y de datos anco de registros visibles al programador Registros no son visibles al programador Con ene la dirección de la siguiente instrucción que hay que ejecutar Con ene una instrucción leída de memoria M Con ene un dato leído de memoria out Con ene el resultado de la, Con enen datos leídos del banco de registros Capaz de realizar suma, resta, and, or, comparación de mayoría e indicación de que el resultado es cero (para realizar la comparación de igualdad mediante resta) Extensor de signo Para adaptar el operando inmediato de 6 bits al tamaño de palabra Desplazador a la izquierda Para implementar la multiplicación por (necesaria en el salto) Multiplexores Para poder seleccionar entre varias opciones

23 Opera con datos de bits Realiza las siguientes operaciones ctr ctr función and or + si (<), sino 5 Tiene registros Se puede acceder simultáneamente a registros (porque las instrucciones de tipo R lo requieren) Dos registros de lectura Un registro de escritura Para acceder a un registro se necesita: Identificador del registro entradas de 5 bits cada una Salida/entrada de los datos salidas de datos de bits entradas de datos de bits entrada de control Para habilitar la escritura sobre uno de los registros puerto de reloj Sirve para las operaciones de escritura Las de lectura son combinacionales anco de Registros RegWr 6

24 Mecanismo de Escritura Mecanismo de Lectura RegWr usw Decodificador 5 a C Registro D C Registro D C Registro D C Registro D Registro Registro Registro Registro 7 Suponemos un comportamiento idealizado Se comporta temporalmente como el banco de registros (síncronamente) Tiempo de acceso menor que el tiempo de ciclo En el tema se estudiará mas en detalle la memoria Unificada e Integrada dentro de la CPU Una sola memoria para datos e instrucciones Direccionable por bytes Tamaño de palabra bytes ( bits) Permite aceptar/ofrecer bytes por acceso Para acceder a la memoria se necesita: entrada de dirección salida de datos de bits entrada de datos de bits Entradas de control para seleccionar el tipo de operación (lectura/escritura) MemWrite 8

25 Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instrucción [5 ] anco de registros out M Instruc [5 ] Extensión de signo << MDrite Src 9 fetch ( ) + deco R( rs ) R( rt ) op = lw ex 7 out funct out + SignExt( inmed ) out + SignExt( inmed ) 5 9 = mem M ( out ) = write back R( rd ) out 8 R( rt ) M 6 ( out ) + SignExt( inmed ) 5

26 Unidad de Control Circuito combinacional que genera El estado siguiente iestables guardan el estado actual Circuito combinacional que genera Las salidas 6 op Ruta de datos Write MDrite Write Write Src Src Op MemWrite IorD RegDest 5 Las fases de búsqueda de instrucción y decodificación son comunes a todas las operaciones Las fases de ejecución y almacenamiento del resultado son distintas 5

27 La fase de acceso a memoria sólo la realizan las operaciones lw Ciclos de reloj: La operación de Load tarda 5 La de Salto o El resto 5 OP=6 bits 5 bits Instrucción ritmetico lógica Rs Rt Rd No se usa funct R( Rd ) R( Rs ) funct R( Rt ) 5 bits 5 bits 5 bits 6 bits Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instrucción[5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 5

28 Instrucción ritmético lógica Transferencias entre registros lógicas R( rd ) R( rs ) funct R( rt ), + Transferencias entre registros físicas ( ), + R( rs ), R( rt ) out funct R( rd ) out 55 Transferencias entre registros lógicas R( rd ) R( rs ) funct R( rt ), + Transferencias entre registros físicas ( ), + R( rs ), R( rt ) out funct R( rd ) out Instrucción ritmético lógica Write = IorD = MemWrite = = Write = 56

29 Instrucción rtit Log S: úsqueda de la instrucción () y + Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instruc [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 57 Transferencias entre registros lógicas R( rd ) R( rs ) funct R( rt ), + Transferencias entre registros físicas ( ), + R( rs ), R( rt ) out funct R( rd ) out Instrucción ritmético lógica Write = = = 58

30 Instrucción rtit Log S: Decodificación y lectura de registros R( Rs ) R( Rt ) Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Inst [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 59 Transferencias entre registros lógicas R( rd ) R( rs ) funct R( rt ), + Transferencias entre registros físicas ( ), + R( rs ), R( rt ) out funct R( rd ) out Instrucción ritmético lógica Src = Src = Op = function = 6

31 Instrucción rtit Log S7: realizar la función indicada en la instrucción luout funct contiene el dato de Rs contiene el dato de Rt Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instrucción [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 6 Transferencias entre registros lógicas R( rd ) R( rs ) funct R( rt ), + Transferencias entre registros físicas ( ), + R( rs ), R( rt ) out funct R( rd ) out Instrucción ritmético lógica = RegDst = = 6

32 Instrucción rit Log S8: Escritura en el banco de registros out contiene el resultado de la operación R( Rd ) out Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instrucción [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 6 Instrucciones ritmético lógicas Todas las señales de carga de registros deberían estar a cero cuando no se estén cargando dichos registros La señal debería estar a uno en el estado writeback y a cero en el resto de estados La señal MemWrite debería estar a cero siempre La señal debería estar a uno en el estado fetch y a cero en el resto de estados 6

33 Instrucción Load: lw Rt, desplaz(rs) R(Rt) ( R(Rs) + SignExt(desplaz) ) 6 bits 5 bits 5 bits 6 bits OP Rs Rt Desplazamiento Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instrucción [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 65 Instrucción de carga (lw) Transferencias entre registros lógicas R( rt ) ( R( rs ) + SignExt( inmed )), + Transferencias entre registros físicas ( ), + R( rs ), R( rt ) out + SignExt( inmed ) M ( out ) 5 R( rt ) M 66

34 Instrucción Load S: úsqueda de la instrucción () y + Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instruc [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 67 Instrucción Load S: Decodificación y lectura de registros R( Rs ) este dato es para calcular la dirección R( Rt ) este dato no lo vamos a usar Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instrucción [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 68

35 Instrucción Load S: Cálculo de la dirección de memoria luout + SignExt( inmed ) contiene el dato de Rs Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instrucción [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 69 Instrucción Load S: cceso a memoria M ( out ) out contiene la dirección de memora Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instrucción [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 7

36 Instrucción Load S: Escritura en el banco de registros R( Rt ) M M contiene el dato de memoria que se quiere guardar en Rt Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instrucción [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 7 Instrucción Store: Sw Rt, desplaz(rs) ( R(Rs) + SignExt(desplaz) ) Rt 6 bits 5 bits 5 bits 6 bits OP Rs Rt Desplazamiento Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instrucción [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 7

37 Instrucción de almacenaje (sw) Transferencias entre registros lógicas ( R( rs ) + SignExt( inmed ) ) R( rt ), + Transferencias entre registros físicas ( ), + R( rs ), R( rt ) out + SignExt( inmed ) ( out ) 7 Instrucción Store S: úsqueda de la instrucción () y + Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instruc [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 7

38 Instrucción Store S: Decodificación y lectura de registros R( Rs ) este dato es para calcular la dirección R( Rt ) este dato es el que se guarda en memoria Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instrucción [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 75 Instrucción Store S5: Cálculo de la dirección de memoria luout + SignExt(desplaz) contiene el dato de Rs Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instrucción [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 76

39 Instrucción Store S6: Escritura en memoria ( out ) contiene el dato del registro Rt que se quiere guardar en memoria out contiene la dirección de memora Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instrucción [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 77 Instrucción de salto: eq Rs,Rt, Desplz si ( R( Rs ) = R( Rt ) ) Entonces + SignExt(desplaz) Sino + 6 bits 5 bits 5 bits 6 bits OP Rs Rt Write? IorD MemWrite Write RegDst Write Src Desplazamiento op Control de Instrucción [5 ] Instrucción [ 6] Instrucción [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 78

40 Observaciones: en todas las instrucciones las acciones y son iguales Instrucción de salto condicional (beq) Transferencias entre registros lógicas si ( R( rs ) = R( rt ) ) entonces + + SignExt( inmed ) sino + Transferencias entre registros físicas ( ), + R( rs ), R( rt ), si entonces + SignExt( inmed ) 79 Instrucción de Salto S: úsqueda de la instrucción () y + Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instruc [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 8

41 Instrucción de Salto S: Decodificación y lectura de registros R( Rs ) R( Rt ) Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instrucción [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 8 Instrucción de Salto S9: Realiza una resta luout contiene el dato de Rs contiene el dato de Rt La unidad de control comprueba este valor Si Z= salta, sino No salta Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instrucción [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 8

42 Instrucción de salto S: Cálculo de la dirección de salto + + SignExt(desplaz) Write IorD MemWrite Write RegDst Write Src op Control de Instrucción [5 ] Instrucción [ 6] Instruc [5 ] anco de registros out M MDrite Instruc [5 ] Extensión de signo << Src 8 El controlador como FSM (finite state machine) Se traducen las transferencias entre registros como conjuntos de activaciones de los puntos de control de la ruta de datos Se codifican los estados Mediante tablas de verdad se describen: las transiciones de estado en función del código de operación y del estado de la ruta de datos el valor de las señales de control en función del estado (controlador tipo Moore) y adicionalmente en función de algunas señales de la ruta de datos (controlador tipo Mealy) La estructura del controlador estará formada por: Registro de estado Conjunto de lógica combinacional de control que implementa las anteriores tablas 8

43 op 6 Lógica combinacional de control Registro estado Write MDrite Write Write Src Src Op MemWrite IorD RegDest 85 Estado actual op Estado siguiente Write Write Write Src Scr Op MemWrite IorD MDrite RegDest XXXXXX X (add) (lw) X Tabla de verdad del controlador (sw) X (tipo-r) X (beq) X XXXXXX X (add) XXXXXX X XXXXXX X XXXXXX X (add) XXXXXX X XXXXXX X (funct) XXXXXX X XXXXXX XXXXXX (sub) XXXXXX X (add) 86

44 fetch ( ) + deco R( rs ) R( rt ) op = lw ex 7 out funct out + SignExt( inmed ) out + SignExt( inmed ) 5 9 = mem M ( out ) = write back R( rd ) out 8 R( rt ) M 6 ( out ) + SignExt( inmed ) 87 Estado actual op Estado siguiente Write Write Write Src Scr Op MemWrite IorD MDrite RegDest s s s s op 5 op op op op op ns ns ns ns X X X X X X X (add) X X X X X X X X X X X (add) X X X X X X X X X X X X X X X X X X X X X (add) X X X X X X X X X X X X X X (funct) X X X X X X X X X X X X X (sub) X X X X X X X X X X X X X (add) 88

45 s Lógica discreta: funciones de conmutación variables diferentes PL entradas salidas 5 términos producto ROM (~ Kbits): bits de dirección ( palabras) palabras de bits ROM (~ Kbits) ROM de control: bits de dirección ( palabras) palabra de 7 bits ROM de siguiente estado: bits de dirección ( palabras) palabras de bits Ventajas de la lógica discreta: velocidad y coste Ventajas de la lógica almacenada: facilidad de diseño adaptabilidad s s s op 5 op op op op op zero Estado = zero = Estado = Estado = op = ns ns ns ns Write Write Write Src Src Src Op Op MemWrite IorD MRrite RegDest 89 Los buenos programadores se han preocupado siempre por el rendimiento de sus programas porque la rápida obtención de resultados es crucial para crear programas de éxito D Patterson y J L Henessy 9

46 9 Cuántos ciclos tarda en ejecutarse este programa? Depende del diseño del procesador: por ejemplo en el MIPS multiciclo lw r, (r) 5 lw r, (r) 5 add r, r, r beq r, r5,! sub r, r, r5 sw r, 8(r) fetch deco ex mem write back out funct R( rd ) out ( ) + R( rs ) R( rt ) op = lw out + SignExt( inmed ) M ( out ) R( rt ) M Y cuánto Tiempo Depende de la frecuencia del procesador = out + SignExt( inmed ) = 6 ( out ) + SignExt( inmed ) 9

47 Temporización: La etapa más lenta limita el periodo de reloj Tiempo de acceso a la Tiempo de acceso al anco de Registros Retardo de la Tiempo de acceso a la Tiempo de almacenamiento en registro úsqueda de instrucciones úsqueda de componentes de E Cálculo de E úsqueda de operando Ejecución (almacenaje) Controlador multiciclo Lóg comb Lóg comb o Lóg comb out Lóg comb M Lóg comb R( x) Clk 9 Nº de instrucciones máquina depende de: rquitectura Compilador 9

48 Tiempo de ejecución de un programa T = N * CPI * Tc rquitectura del computador Compilador Organización del computador Tecnología rquitectura del computador Organización del computador T = tiempo de ejecución del programa N = número de instrucciones del programa CPI = número medio de ciclos por instrucción Tc = tiempo de ciclo CPI = Ciclos medios por instrucción Una instrucción necesita varios ciclos de reloj para su ejecución demás, diferentes instrucciones tardan diferentes cantidades de tiempo CPI= Es una suma ponderada del número de ciclos que tarda por separado cada tipo de instrucción 95 Unidades para expresar el rendimiento de un procesador Cuántas instrucciones ejecuta un computador en un segundo? MIPS: (instrucciones por programa) / (tiempo de ejecución x 6 ) MIPS: (frecuencia de reloj) / (CPI x 6 ) No sirve para comparar dos computadores de diferente familia arquitectónica 96

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

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

Más detalles

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

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

Más detalles

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

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

Más detalles

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

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

Más detalles

Sección de procesamiento: El camino de datos

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

Más detalles

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

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

Más detalles

Diseño del procesador MIPS R2000

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

Más detalles

Arquitectura del MIPS: Introducción

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

Más detalles

La Unidad de Control y el Camino de Datos

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

Más detalles

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

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

Más detalles

op rs rt inmediato 6 bits 5 bits 5 bits Tipo J: Salto incondicional op

op rs rt inmediato 6 bits 5 bits 5 bits Tipo J: Salto incondicional op Arquitectura MIPS: Formato de la instrucción máquina La ruta de datos la diseñaremos para un subconjunto de instrucciones del procesador MIPS, que dispone de sólo 3 formatos de diferentes de longitud fija

Más detalles

Introducción a la arquitectura de computadores

Introducció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 detalles

Arquitectura de Computadoras. Clase 4 Segmentación de Instrucciones

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

Más detalles

TEMA VI DISEÑO DEL PROCESADOR

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

Más detalles

Temporización monociclo. Componentes de la ruta de datos. Ensamblaje de la ruta de

Temporización monociclo. Componentes de la ruta de datos. Ensamblaje de la ruta de Arquitectura de Computadores Tema 2. Repaso de Conceptos fundamentales Diseño de la ruta de datos y la unidad de control 2. Introducción contenidos Importancia del diseño del procesador. Metodología de

Más detalles

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

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

Más detalles

Plataformas de soporte computacional: arquitecturas avanzadas,

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

Más detalles

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

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

Más detalles

5. Procesador: camino de datos y control

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

Más detalles

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

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

Más detalles

Estructura de Computadores Tema 1. Introducción a los computadores

Estructura de Computadores Tema 1. Introducción a los computadores Estructura de Computadores Tema 1. Introducción a los computadores Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido

Más detalles

Arquitectura de Computadores II Clase #3

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

Más detalles

Tema 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 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 detalles

El nivel ISA (II)! Conjunto de Instrucciones

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

Más detalles

TEMA III: OPERACIONES CON LOS DATOS

TEMA III: OPERACIONES CON LOS DATOS CUESTIONES A TRATAR: Cual es la función de la unidad operativa? Es necesaria? Qué tipos de circuitos implementan la unidad operativa? Unidad operativa frente a ALU Qué es una operación de múltiple precisión?

Más detalles

El procesador. Datapath y control

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

Más detalles

Tema 1: PROCESADORES SEGMENTADOS

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

Más detalles

Tema 4: Diseño de un microprocesador

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

Más detalles

GUIA 24: REPERTORIO DE INSTRUCCIONES

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

Más detalles

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL DEL PROCESADOR

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

Más detalles

Formato de instrucciones

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

Más detalles

FUNDAMENTOS DE COMPUTADORES 18 de junio de Examen parcial del 2º cuatrimestre.

FUNDAMENTOS DE COMPUTADORES 18 de junio de Examen parcial del 2º cuatrimestre. FUNDAMENTOS DE COMPUTADORES 18 de junio de 2014. Examen parcial del 2º cuatrimestre. Nombre DNI Apellidos Grupo Ejercicio 1 (2.5 puntos) Para el computador MIPS estudiado en clase, responder a las siguientes

Más detalles

Repaso concepto de programa

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

Más detalles

Unidad 5 Unidad central de proceso

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

Más detalles

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

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

Más detalles

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

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

Más detalles

Ejercicios del tema 4. El procesador

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

Más detalles

Arquitectura 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 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 detalles

Arquitectura de Computadores. Resumen para Certamen 2 Por Franco Zuccar

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

Más detalles

ARQUITECTURA VON NEUMANN

ARQUITECTURA VON NEUMANN ARQUITECTURA VON NEUMANN 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

Más detalles

FUNCIONAMIENTO DEL ORDENADOR

FUNCIONAMIENTO DEL ORDENADOR FUNCIONAMIENTO DEL ORDENADOR COMPUTACIÓN E INFORMÁTICA Datos de entrada Dispositivos de Entrada ORDENADOR PROGRAMA Datos de salida Dispositivos de Salida LOS ORDENADORES FUNCIONAN CON PROGRAMAS Los ordenadores

Más detalles

Diseño Procesador Monociclo

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

Más detalles

Elementos constituyentes de la ejecución de un programa

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

Más detalles

El Diseño de un Lenguaje Máquina

El 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 detalles

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

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

Más detalles

Unidad IV: Programación de microcontroladores

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

Más detalles

Tema 1: PROCESADORES SEGMENTADOS

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

Más detalles

Unidad I: Organización del Computador. Ing. Marglorie Colina

Unidad I: Organización del Computador. Ing. Marglorie Colina Unidad I: Organización del Computador Ing. Marglorie Colina Arquitectura del Computador Atributos de un sistema que son visibles a un programador (Conjunto de Instrucciones, Cantidad de bits para representar

Más detalles

Práctica 7 - Microarquitectura del CPU

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

Más detalles

DISEÑO DEL PROCESADOR

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

Más detalles

Clasificación de las Arquitecturas

Clasificación de las Arquitecturas Clasificación de las Arquitecturas MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Por la taxonomía de Flynn 1 Flynn Flujo de datos Simple Múltiple Flujo de datos Simple Múltiple SISD MISD

Más detalles

MICROPROCESADOR. Multiciclo

MICROPROCESADOR. Multiciclo MICROPROCESADOR Multiciclo Ejemplo Tiempos de operación. Unidades de memoria: 10 ns. Alu y sumadores: 10 ns Archivo de registros (lectura y escritura): 5 ns. Suponiendo que los multiplexores, unidad de

Más detalles

Arquitectura de Computadores II Clase #4

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

Más detalles

2. Números naturales: sistema de numeración y operaciones básicas

2. Números naturales: sistema de numeración y operaciones básicas INTRODUCCIÓN A LOS COMPUTADORES 2003-2004 Objetivos Formativos Que el alumno sea capaz de: Comprender el funcionamiento y saber diseñar los circuitos digitales combinacionales y secuenciales que se utilizan

Más detalles

Capitulo 1 Fundamentos de Computadores - I.T.Telecomunicación - Segundo cuatrimestre. INTRODUCCION A LOS FUNDAMENTOS DE COMPUTADORES

Capitulo 1 Fundamentos de Computadores - I.T.Telecomunicación - Segundo cuatrimestre. INTRODUCCION A LOS FUNDAMENTOS DE COMPUTADORES INTRODUCCION A LOS FUNDAMENTOS DE COMPUTADORES Hoja 1 PRIMERA APROXIMACION AL CONCEPTO DE COMPUTADOR Computador: máquina que procesa la información para obtener unos resultados. La información a procesar

Más detalles

ARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN

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

Más detalles

Procesador Segmentado

Procesador 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 detalles

Arquitectura de Computadoras

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

Más detalles

Arquitectura de Computadoras

Arquitectura de Computadoras Arquitectura de Computadoras Dr. Andrés David García García Escuela de Diseño, Ingeniería y Arquitectura Departamento de Mecatrónica 1 Microprocesadores y Periféricos Objetivos: Analizar la arquitectura

Más detalles

Sistemas de Computadoras

Sistemas de Computadoras Sistemas de Computadoras Índice Concepto de Computadora Estructura de la Computadora Funcionamiento de la Computadora Historia de las Computadoras Montando una Computadora Computadora Un sistema de cómputo

Más detalles

Tema 5. Segmentación: conceptos básicos

Tema 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 detalles

Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción

Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción ESTRUCTURA DE COMPUTADORES Grupo de Arquitectura de Computadores (GAC) Dyer Rolán García (GAC) Paralelismo a nivel de instrucción

Más detalles

Arquitectura de Computadoras Trabajo Práctico N 7 Pipeline de Instrucciones Primer Cuatrimestre de 2010

Arquitectura de Computadoras Trabajo Práctico N 7 Pipeline de Instrucciones Primer Cuatrimestre de 2010 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Arquitectura de Computadoras Trabajo Práctico N 7 Pipeline de Instrucciones Primer Cuatrimestre de 2010 1. La

Más detalles

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

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

Más detalles

Conceptos básicos de procesadores

Conceptos básicos de procesadores 1 Conceptos básicos de procesadores Contenidos 1.1. Diseño de un repertorio de instrucciones 1.2. Mecanismo completo de ejecución de una instrucción 1.3. Evaluación de prestaciones de un procesador 1.4.

Más detalles

Sistemas con Microprocesadores I

Sistemas con Microprocesadores I Sistemas con Microprocesadores I 1 Microcontroladores Introducción Harvard vs. von-neumann Clasificación del procesador Segmentado o Pipeline Ortogonal vs. No ortogonal 2 Microcontroladores PIC Siglas

Más detalles

3. SEGMENTACIÓN DEL CAUCE

3. SEGMENTACIÓN DEL CAUCE 3. SEGMENTACIÓN DEL CAUCE 1 SEGMENTACIÓN DEL CAUCE 1. Conceptos básicos 2. Etapas del MIPS64 3. Riesgos 4. Operaciones muticiclo 2 SEGMENTACIÓN DEL CAUCE 1. Conceptos básicos 3 Conceptos básicos Ciclo

Más detalles

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

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

Más detalles

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR Tema 1. Programación de un computador TEMA 1. CIÓN DE UN COMPUTADOR 1. CONCEPTO DE 2. LENGUAJES DE CIÓN 2.1. LENGUAJE MÁQUINA 2.2. LENGUAJE ENSAMBLADOR 2.3. LENGUAJE DE ALTO NIVEL 3. ALGORITMOS. REPRESENTACIÓN

Más detalles

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik Objetivos Objetivos Arquitecturas von Neumann Otras Unidad Central de Procesamiento (CPU) Responsabilidades Requisitos Partes de una CPU ALU Control & Decode Registros Electrónica y buses 2 Índice Capítulo

Más detalles

Práctica 4 - Microarquitectura del CPU

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

Más detalles

Funcionamiento de las computadoras

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

Más detalles

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

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

Más detalles

ARQUITECTURA DE VON NEUMANN Y HARVARD

ARQUITECTURA DE VON NEUMANN Y HARVARD ARQUITECTURA DE VON NEUMANN Y HARVARD ARQUITECTURA VON NEUMANN En esta arquitectura se observa que las computadoras utilizan el mismo dispositivo de almacenamiento para datos e instrucciones conectados

Más detalles

Tema 4 (II) El procesador

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

Más detalles

Unidad 4 - Procesamiento paralelo. Arquitectura de computadoras. D o c e n t e : E r n e s t o L e a l. E q u i p o : J e s s i c a F i e r r o

Unidad 4 - Procesamiento paralelo. Arquitectura de computadoras. D o c e n t e : E r n e s t o L e a l. E q u i p o : J e s s i c a F i e r r o Unidad 4 - Procesamiento paralelo. D o c e n t e : E r n e s t o L e a l E q u i p o : J e s s i c a F i e r r o L u i s N a v e j a s Arquitectura de computadoras Introducción Cuestionario Conclusiones

Más detalles

UNIDAD 4: El procesador: Camino de los datos y Control.

UNIDAD 4: El procesador: Camino de los datos y Control. UNIDAD 4: El procesador: Camino de los datos y Control. 4.1 Introducción El rendimiento de una máquina depende de tres factores clave: Conteo de Instrucciones, tiempo del ciclo de reloj y ciclos de reloj

Más detalles

Procesador. Daniel Rúa Madrid

Procesador. Daniel Rúa Madrid Procesador Daniel Rúa Madrid Procesador Sus funciones principales incluyen, la ejecución de las aplicaciones y la coordinación de los diferentes dispositivos que componen un equipo. Unidad Aritmético Lógica(ALU)

Más detalles

Procesadores. Dr. Andrés David García García Departamento de Mecatrónica Campus Estado de México

Procesadores. Dr. Andrés David García García Departamento de Mecatrónica Campus Estado de México Procesadores Dr. Andrés David García García Departamento de Mecatrónica Campus Estado de México Arquitectura de computadoras Instrucciones I/O ROM CPU Datos I/O RAM I/O TE 1010 2 Arquitectura de computadoras

Más detalles

Tutorías con Grupos Reducidos (TGR) Parte 1: Evaluación de prestaciones

Tutorías con Grupos Reducidos (TGR) Parte 1: Evaluación de prestaciones Tutorías con Grupos Reducidos (TGR) Parte 1: Evaluación de prestaciones ESTRUCTURA DE COMPUTADORES Grupo de Arquitectura de Computadores (GAC) Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012

Más detalles

Tema: Microprocesadores

Tema: Microprocesadores Universidad Nacional de Ingeniería Arquitectura de Maquinas I Unidad I: Introducción a los Microprocesadores y Microcontroladores. Tema: Microprocesadores Arq. de Computadora I Ing. Carlos Ortega H. 1

Más detalles

EJECUCIÓN DE INSTRUCCIONES

EJECUCIÓN DE INSTRUCCIONES EJECUCIÓN DE INSTRUCCIONES Miguel Ángel Asensio Hernández, Profesor de Electrónica de Comunicaciones. Departamento de Electrónica, I.E.S. Emérita Augusta. 06800 MÉRIDA. La función básica que realiza un

Más detalles

TEMA 13. INTRODUCCION A SISTEMAS PROGRAMABLES Y MICROS

TEMA 13. INTRODUCCION A SISTEMAS PROGRAMABLES Y MICROS TEMA 13. INTRODUCCION A SISTEMAS PROGRAMABLES Y MICROS http://www.tech-faq.com/wp-content/uploads/images/integrated-circuit-layout.jpg IEEE 125 Aniversary: http://www.flickr.com/photos/ieee125/with/2809342254/

Más detalles

Estructura y Tecnología de Computadores. Tema 3. Introducción a la estructura de computadores

Estructura y Tecnología de Computadores. Tema 3. Introducción a la estructura de computadores 1 Estructura y Tecnología de Computadores Módulo B. Introducción a la estructura de computadores Tema 3. Introducción a la estructura de computadores José Manuel Mendías Cuadros Dpto.. Arquitectura de

Más detalles

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

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES 1º I.T.I.G. I.T.I.S. 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 detalles

ASIGNATURA: Arquitectura de Computadores

ASIGNATURA: Arquitectura de Computadores ASIGNATURA: Arquitectura de Computadores I. T. Informática de Gestión Universidad de Alcalá Curso Académico 11/12 Curso 2º Cuatrimestre 1º GUÍA DOCENTE Nombre de la asignatura: Arquitectura de Computadores

Más detalles

CIRCUITOS ELECTRÓNICOS DIGITALES ESCUELA POLITÉCNICA SUPERIOR UNIVERSIDAD AUTÓNOMA DE MADRID

CIRCUITOS ELECTRÓNICOS DIGITALES ESCUELA POLITÉCNICA SUPERIOR UNIVERSIDAD AUTÓNOMA DE MADRID CIRCUITOS ELECTRÓNICOS DIGITALES ESCUELA POLITÉCNICA SUPERIOR UNIVERSIDAD AUTÓNOMA DE MADRID Guía de problemas: Aritmética de Computadores Parte 1: Operaciones básicas con lápiz y papel Problema 1: a)

Más detalles

Organización de Computadoras. Clase 7

Organizació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 detalles

Cuestiones. Estructura y Tecnología de Computadores (IG09) 1 er Parcial 12 de sept. de 2002

Cuestiones. Estructura y Tecnología de Computadores (IG09) 1 er Parcial 12 de sept. de 2002 Cuestiones. Circuitos combinacionales.4 (a) Qué es un multiplexor y para qué sirve? Un multiplexor es un dispositivo que posee una sola salida, 2 n entradas de datos y n entradas de control. Este dispositivo

Más detalles

Microarquitectura: DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE 2008 3. MICROARQUITECTURA: FLUJO DE DATOS Y CONTROL DEL MICROPROCESADOR

Microarquitectura: 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 detalles

Arquitectura de Computadoras Trabajo Práctico N 8 Pipeline de Instrucciones 1 Primer Cuatrimestre de 2016

Arquitectura 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 detalles

PROBLEMAS TEMA 1: Estructuras de interconexión de un computador

PROBLEMAS TEMA 1: Estructuras de interconexión de un computador PROBLEMAS TEMA 1: Estructuras de interconexión de un computador Problemas propuestos en examen 1.1 Una CPU que emplea un tamaño de palabra de 16 bits tiene un repertorio de 16 instrucciones con un formato

Más detalles

Arquitectura de Computadores II Clase #3

Arquitectura 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 detalles

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

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

Más detalles

Fecha de Introducción. Velocidad de reloj. Anchura del bus. Número de transistores. (microns) Memoria direccionable.

Fecha de Introducción. Velocidad de reloj. Anchura del bus. Número de transistores. (microns) Memoria direccionable. Los Microprocesadores MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Fecha de Introducción Velocidad de reloj Anchura del bus Número de transistores (microns) Memoria direccionable Evolución

Más detalles

Arquitectura de Computadores

Arquitectura de Computadores Curso 2006/07 Arquitectura de Computadores 1. Introducción 2. La CPU 3. Lenguaje Máquina 4. 5. Sistema de Entrada/Salida 6. Buses Informática Aplicada Arquitectura de Computadores 1 Características generales

Más detalles

Organización de Computadoras. Clase 6

Organización de Computadoras. Clase 6 Organización de Computadoras Clase 6 Tema de Clase Ciclo de Instrucción Notas de Clase 6 2 Función de la computadora(1) Ejecutar programas El programa está compuesto de instrucciones almacenadas en memoria

Más detalles

CICLOS DEL PROCESADOR

CICLOS DEL PROCESADOR UNIDAD DE CONTROL CICLOS DEL PROCESADOR Qué es un ciclo de búsqueda? Para qué sirve estudiar los ciclos de instrucción de una CPU? Para comprender el funcionamiento de la ejecución de instrucciones del

Más detalles

MICROPROCESADOR. Ing. Raúl Rojas Reátegui

MICROPROCESADOR. Ing. Raúl Rojas Reátegui MICROPROCESADOR Ing. Raúl Rojas Reátegui OBJETIVOS Al termino de la sesión el estudiante será capaz de: Describir las principales características de un Microprocesador. Describir las principales características

Más detalles

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

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

Más detalles