Circuitos Digitales II y Laboratorio Fundamentos de Arquitectura de Computadores

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

Download "Circuitos Digitales II y Laboratorio Fundamentos de Arquitectura de Computadores"

Transcripción

1 Departamento de Ingeniería Electrónica Facultad de Ingeniería Circuitos Digitales II y Laboratorio Fundamentos de Arquitectura de Computadores Unidad 3: MIPS ISA Prof. Felipe Cabarcas cabarcas@udea.edu.co ❿1

2 Recordando de la primera unidad Arquitectura de Computadores >> ISAs y RTL La arquitectura de Computadores es transformada por la tecnología y las aplicaciones La historia provee lecciones para el futuro Los primero 130 años de AC, desde Babbage a IBM 360 Transformación desde las calculadoras (sin condicionales) a máquinas totalmente programables Rápidos cambios comenzaron en la Segunda guerra mundial (mediados de los años 40), pasaron de procesadores electromecánicos a solo electrónicos El costo del desarrollo del software se volvió un gran limitante de las arquitecturas (necesidad de compatibilidad) El IBM 360 introduce la noción de familia de máquinas ejecutar el mismo ISA pero diferentes implementaciones Seis máquinas diferentes lanzadas el mismo día (Abril 7, 1964) ❿2

3 Implementación inicial del IBM 360 Modelo Modelo 70 Almacenamiento 8K - 64 KB 256K KB Bus de datos (datapath) 8-bit 64-bit Retardo circuitos 30 nsec/nivel 5 nsec/nivel Memoria local Memoria principal Reg. de Transistores Control Memoria Solo lectura 1µsec Circuitos La arquitectura del conjunto de instrucciones (ISA) del IBM 360 ocultaba completamente las diferencias tecnológicas entre varios modelos. Hito: El primer ISA diseñado como una interface hardware-software portable! Con pequeñas modificaciones, todavía sobrevive! ❿3

4 Conjunto de Instrucciones Instruction Set Architecture(ISA) El contrato entre el software y el hardware Típicamente se describe a través del estado visible al programador (registros y memoria) más la semántica de las instrucciones que operan sobre el estado El IBM 360 fue la primera línea de máquinas que separaron el ISA de su implementación (aka. Micro-arquitectura) Hay muchas implementaciones posibles para un ISA dado Ejemplo 1, los diferentes procesadores Intel x86 y los AMD Ejemplo 2, los soviéticos construyeron clones del IBM360, como lo hizo también Amdahl después de dejar IBM. Ejemplo 3, muchos celulares usan el ISA de ARM con implementaciones de diferentes compañías incluyendo TI, Qualcomm, Samsung, Marvell, etc. ❿4

5 Mapeo del ISA a la micro-arquitectura El ISA normalmente se diseña con un estilo de microarquitectura en mente Acumulador sin pipeline CISC micro código RISC con pipeline VLIW retardo fijo pipelines en orden y paralelos JVM interpretación de software Pero puede ser implementado con cualquier estilo de micro-arquitectura El Sandy Bridge de Intel: máquina con pipelinedcisc (x86) (con soporte de microcódigo) ARM Jazelle: procesador que implementa una JVM JVM: Java Virtual Machine ❿5

6 Micro-Arquitectura: Implementación de un ISA Lineas estado Controlador puntos control Data Path Flujo De datos Estructura: Como se conectan los componentes. Estático Comportamiento: Como se mueven los datos entre los componentes Dinámico ❿6

7 Evolución de los ISA Hasta el comienzo de los 80 los ISA seguían una filosofía CISC (ComplexInstructionSet Computers) Muchas instrucciones Posee instrucciones complejas que realizan la tarea de un conjunto de instrucciones más sencillas Posee muchos formatos de instrucción y modos de direccionamiento Posee diferentes clases de registros A partir de los 80, la tendencia ha sido seguir una filosofía RISC (Reduced Instruction Set Computers). La simplicidad facilita la decodificación y generación de código Las instrucciones son del mismo tamaño Las instrucciones del mismo tipo siguen el mismo formato En cuanto más pequeño, más rápido Refiriéndose a un menor número de instrucciones Un número relativamente bajo de tipos de registros ❿7

8 Por qué el MIPS? Estudiamos el ISA del MIPS para ilustrar los conceptos en lenguaje ensamblador y la organización de la máquina Los conceptos no son específicos del MIPS El MIPS es simplemente conveniente porque es real, pero simple (no como el x86) El ISA del MIPS es usado en muchos sitios, principalmente en sistemas embebidos Enrutadores de Cisco Consolas de juegos como el Nintendo 64, Sony Playstation 2 & PSP, y ahora Android se puede instalar Android in procesadores MIPS ❿8

9 Instrucciones del MIPS: registro a registro, 3 direcciones MIPS es una arquitectura de registro a registro, o load/store Las fuentes y el destino de las instrucciones tienen que ser registros Tiene instrucciones especiales para acceder memoria principal El MIPS usa instruccioned de 3 direcciones para manipulación de datos Cada instrucción de ALU contiene un destino y dos fuentes Por ejemplo, una instrucción de suma tiene la forma: instrucción operandos add a, b, c destino fuentes ❿9

10 Registros del MIPS Los procesadores MIPS tienen 32 registros, cada uno contiene un valor de 32 bits Las direcciones de los registros son de 5 bits (2 5 =32) 5 Write D address 32 D data Más registros parecieran ser mejor, pero hay un límite en lo bueno que puede ser: Register File A address B address 5 Es más caro: por los propios registros, y además require más hardware, como multiplexores para seleccionar registros individuales A data B data La longitud de las instrucciones puede ser afectada ❿10

11 Nombre de los registros del MIPS Los nombres de los registros del MIPS comienzan con $. Hay dos convenciones para nombrarlos: Por número: $0 $1 $2 $31 Pero (principalmente) con nombres con dos caracteres, como: $a0-$a3 $s0-$s7 $t0-$t9 $sp $ra No todos los registros son equivalentes: Por ejemplo, el registro $0 or$zerosiempre contiene el valor 0 Algunos tienen usos especiales, por convención ($spcontiene el puntero de la pila o stack pointer ) Hay que ser cuidadoso al escoger los registros para los programas Al principio es mejor limitarse a los registros $t0-$t9 ❿11

12 Políticas de uso de los registros Nombre Número Uso $zero $0 Constante 0 Callee must preserve? $at $1 Temporal ensamblador No $v0 $v1 $2-$3 Valores retorno funciones y evaluación de expresiones $a0 $a3 $4 $7 Argumentos funciones No $t0 $t7 $8 $15 Temporales No $s0 $s7 $16 $23 Temporales guardados $t8 $t9 $24 $25 Temporales $k0 $k1 $26 $27 Reservado Kernel OS $gp $28 Global pointer Si $sp $29 Stack pointer Si $fp $30 Frame pointer Si $ra $31 Dirección de retorno No Si No La mayoría de las herramientas (tool-chains) implementan convenciones paraelusodelosregistros. Estas convenciones las mantienen completamente elsoftwareynolorequiere el hardware ❿12

13 Aritmética básica e instrucciones lógicas Las instrucciones de aritmética entera incluyen: add sub mul div Algunas instrucciones lógicas: and or xor nor Recuerde que todas ellas requiren 3 registros, por ejemplo: add $t0, $t1, $t2 # $t0 = $t1 + $t2 mul $s1, $s1, $a0 # $s1 = $s1 x $a0 Nota: el ISA completo del MIPS se puede encontrar en internet ❿13

14 Expresiones complejas Las expresiones matemáticas complejas requieren múltiple instrucciones MIPS Ejemplo: t0 = (t1 + t2) x (t3 -t4) add $t0, $t1, $t2 # $t0 = $t1 + $t2 sub $t6, $t3, $t4 # $t6 = $t3 -$t4 mul $t0, $t0, $t6 # $t0 resultado final Registros temporales pueden ser necesarios, ya que cada instrucción MIPS puede acceder solo dos fuentes y un destino En este ejemplo, podríamos volver a usar $t3 en ves de usar $t6 Es importante no modificar los registros que son necesitados más adelante ❿14

15 Cómo se inicializan los registros? Instrucciones especiales del MIPS permiten especificar un valor constante, o inmediato ( immediate ) como segunda fuente en vez de un registro Por ejemplo, esta es la instrucción de suma con valor inmediato, addi: addi $t0, $t1, 4 # $t0 = $t1 + 4 Instrucciones con inmediato pueden ser usadas junto con el registro $zero para escribir constantes en los registros: addi $t0, $0, 4 # $t0 = 4 Atajo: li $t0, 4 # $t0 = 4 (pseudo-instrucción) También se puede definir una variable global, la cual es cargada en memoria junto con el ejecutable y luego se puede cargar con una instrucción para acceder estas constantes ❿15

16 Un programa en el MIPS Comparemos el programa de C y el de MIPS: void main() { int i = 516; int j = i*(i+1)/2; i = i + j; } main: # comienzo del main li $t0, 516 # i = 516 addi $t1, $t0, 1 # i + 1 mul $t1, $t0, $t1 # i * (i + 1) li $t2, 2 div $t1, $t1, $t2 # j = i*(i+1)/2 add $t0, $t0, $t1 # i = i + j jr $ra # return ❿16

17 Se necesita más espacio! Los registros son rápidos y convenientes, pero solo se tiene 32, y de solo 32 bits cada uno Esto no es suficiente para guardar estructuras de datos como grandes vectores Tampoco permite acceder datos que son más grandes de 32 bits Se necesita añadir memoria al sistema! La RAM es más barata y más densa que los registros, por lo tanto podemos añadir mucha Pero la memoria es significativamente más lenta, por lo tanto los registros deben ser usados siempre que sea posible ❿17

18 Memoria del MIPS memory 32 8 ADRS DATA OUT 8 CS WR La memoria del MIPS se direcciona por byte, lo que significa que cada referencia a memoria referencia una cantidad de 8 bits La arquitectura (original) del MIPS puede soportar hasta 32 líneas de direcciones Esto resulta en 2 32 x 8B RAM, lo que resulta en 4 GB de memoria. No todas las implementaciones reales tendrán todo esto! Address bit data ❿18

19 Load y Storede Bytes El ISA del MIPS tiene instrucciones de acceso a memoria El MIPS usa direccionamiento indexado Las instrucciones especifican una dirección con una constante con signo y un registro Estos valores son sumados para obtener la dirección efectiva La instrucción load byte lb transfiere un byte de datos desde la memorias principal a un registro lb $t0, 20($a0) # $t0 = Memory[$a0 + 20] Cuando se carga un byte (8 bits) en un registro de 32 bits, los otros 24 bits tendrán el mismo valor que el bit más significativo del byte cargado La instrucción storebyte sbtransfiere el byte menos significativo del registro a la dirección de memoria principal sb$t0, 20($a0) # Memory[$a0 + 20] = $t0 ❿19

20 Ejemplo del uso de la memoria char from = 1, to = 0;.data from:.byte 1 to:.byte 0 void main() { } to = from;.text main: la $t0, from lb $t1, 0($t0) la $t0, to sb $t1, 0($t0) ❿20

21 Tipos de datos del MIPS MIPS opera sobre Enteros de 32 bits (sin signo o en complemento a dos) Punto flotante de precisión simple de 32 bits Punto flotante de doble precisión de 64 bits Los bytes o halfwordscargados en los GPRsson expandidos con cero o por signo hasta completar los 32 bits Solamente unidades de 32 bits pueden ser cargados en los FPRs Los números de punto flotante de 64 bits requieren dos FPRs consecutivos para ser almacenados ❿21

22 Load y Storede palabras También se puede cargar y guardar palabras de 32 bits con las instrucciones lw y sw lw$t0, 20($a0) # $t0 = Memory[$a0 + 20] sw$t0, 20($a0) # Memory[$a0 + 20] = $t0 La mayoría de los lenguajes de programación soportan tipos de datos de 32 bits Enteros Números de punto flotante de precisión simple Direcciones de memoria o punteros Mientras no se diga lo contrario consideraremos la palabra (word) la unidad básica de los datos ❿22

23 Arreglo de palabras Si asumimos que un arreglo de palabras comienza en la dirección 2000 El primer elemento está en la dirección2000 El segundo está en la dirección 2004, y no en el 2001 De la diapositiva anterior, si $a0 contiene 2000, luego lw $t0, 0($a0) accede la primera palabra del arreglo, mientras que lw $t0, 8($a0) accede a la tercera palabra del arreglo en la dirección ❿23

24 Alineamiento de la memoria Recuerde que la memoria se direcciona en unidades de bytes, por lo tanto una palabra de 32 bits ocupa 4 direcciones en bytes de la memoria principal Address bit data La arquitectura del MIPS requiere que las palabras estén alineadas en memoria; las palabras de 32 bits tienen que comenzar en direcciones divisibles por 4 0, 4, 8 y 12 son direcciones de palabras válidas Word 1 Word 2 Word 3 1, 2, 3, 5, 6, 7, 9, 10 y 11 no lo son Acceso de memoria a direcciones no alineadas resulta en error de bus bus error Esta restricción tiene relativamente poco efecto en lenguajes de alto nivel y los compiladores, pero simplifica el diseño del procesador y lo hace más rápido ❿24

25 Mapeo de memoria I/O Las instrucciones de transferencia de datos también pueden ser usadas para mover datos desde y hacia registros de dispositivos de I/O Una operación de load mueve datos desde un registro de un dispositivo de I/O a un registro del CPU Una operación de storemueve datos desde un registro del procesador a un registro de un dispositivo de I/O ❿25

26 Seudoinstruciones Los ensambladores de MIPS soportan seudoinstrucciones, las cuales dan la ilusión de una instrucción más compleja, pero son traducidas en una o más instrucciones más simples o reales Instrucciones como li $a0, 2000 # Cargar el 2000 en $a0 move $a1, $t0 # Copia $t0 en $a1 Son más claras que las instrucciones MIPS reales addi $a0, $0, 2000 # Inicializa $a0 a 2000 add $a1, $t0, $0 # Copia $t0 en $a1 ❿26

27 Control de flujo en lenguajes de alto nivel Las instrucciones en un programa usualmente ejecutan una detrás de las otra, pero a menudo se necesita alterar el flujo normal Expresiones condicionales se ejecutan solo si una expresión es verdadera // Encontrar el valor absoluto de *a0 v0 = *a0; if (v0 < 0) v1 = v0; v0 = -v0; // Esto puede no ser ejecutado Bucles (loops) hacen que algunas expresiones se ejecuten muchas veces // Suma de elementos de un arreglo de 5 elementos a0 v0 = 0; t0 = 0; while (t0 < 5) { v0 = v0 + a0[t0];// Estas 2 expresiones serán t0++; // ejecutadas 5 veces } ❿27

28 Instrucciones de control del MIPS Algunas instrucciones de control de flujo del MIPS j // para saltos sin condiciones bney beq // Salta si registros no (y si) son iguales slty slti // registro a 1 si registro menor que otro //(y si es menor que inmediato) El MIPS solo soporta dos instrucciones de salto, beqybne, pero para simplificar el ensamblador provee estas otras instrucciones de salto blt $t0, $t1, L1 // Saltar si $t0 < $t1 ble $t0, $t1, L2 // Saltar si $t0 <= $t1 bgt $t0, $t1, L3 // Saltar si $t0 > $t1 bge $t0, $t1, L4 // Saltar si $t0 >= $t1 También hay versiones con inmediatos de estas instrucciones de salto, donde el segundo campo de fuente es una constante y no un registro Luego se verá por que al soportar solo beqy bnesimplifica el diseño del procesador ❿28

29 Implementación de seudosaltos La mayoría de los seudosaltosson implementados usando slt. Por ejemplo, un salto si es menor que (branch-if-less-than) blt$a0, $a1, Label es traducida en lo siguiente slt $at, $a0, $a1 // $at = 1 si $a0 < $a1 bne $at, $0, Label // Salto si $at!= 0 Esto permite saltos con inmediatos, los cuales son también seudoinstrucciones. Por ejemplo, blti$a0, 5, Labelse traducen en dos instrucciones slti $at, $a0, 5 // $at = 1 si $a0 < 5 bne $at, $0, Label // Branchif$a0 < 5 Todas los seudosaltosnecesitan un registro para guardar los resultados de slt, a pesar de no ser necesitado después El ensamblador de MIPS usa el registro $1, o $at, para el temporal Se debe ser cuidadoso cuando se usa $at en un programa, ya que puede ser re-escrito por el código generado por el ensamblador ❿29

30 Traducir un if-thena MIPS Podemos usar instrucciones de salto para traducir if-thena ensamblador de MIPS v0 = *a0; ld $t0, 0($a0) if (v0 < 0) bge $t0, $0, E v0 = -v0; sub $t0, $zero, $t0 v1 = v0; E: add $t1, $t0, $zero Algunas veces es más fácil invertir la condición original En este caso cambiamos continuar si v0 < 0 por saltar si v0 >= 0. Esto ahorra algunas instrucciones en el código resultante ❿30

31 Ensamblador versus Lenguaje de máquina Hasta el momento hemos usado lenguaje ensamblador Le asignamos nombres a las instrucciones (como add) y al los registros (como $t0). Para los saltos usamos labels en vez de direcciones reales Además el ensamblador acepta muchas seudoinstrucciones Pero los programas tienen que ser traducidos a lenguaje de máquina eventualmente, un formato binario que puede ser guardado en memoria y decodificado por el procesador El lenguaje de máquina del MIPS está diseñado para ser fácilmente decodificado Todas las instrucciones del MIPS tienen la misma longitud, 32 bits Solo hay 3 formatos de instrucciones diferentes, los cuales son muy parecidos Al estudiar el lenguaje de máquina del MIPS se verán algunas restricciones del conjunto de instrucciones ISA, y como pueden ser superadas ❿31

32 Formato tipo R (R-type) Las instrucciones aritméticas de Registro a registro usan este formato op rs rt rd shamt func 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits Este formato tiene 6 campos opes el código de una instrucción que selecciona una operación específica rsy rtson el primero y segundo registros fuentes rdes el registro destino shamt solo se usa para instrucciones shift funces usado junto con oppara seleccionar la operación aritmética ❿32

33 Registros y tamaño de las instrucciones Como el MIPS tiene 32 registros, se requieren números de 5 bits para codificarlos desde al Por ejemplo, el registro $t8es el $24, el cual está representado por el El número de registros disponibles afecta la longitud de las instrucciones Cada instrucción tipo R referencia 3 registros, los cuales requieren un total de 15 bits en la palabra de la instrucción No podemos añadir más registros sin incrementar el tamaño de las instrucciones de 32 bits, o reducir otros campos como el opy reducir el número de instrucciones posibles Otros tipos de ISA, como los de Stackno gastan espacio de instrucciones en registros. ❿33

34 Formato tipo I Las instrucciones Load, store, salto y algunas aritméticas todas tienen una versión con inmediato y usan el formato I-type op rs rt address 6 bits 5 bits 5 bits 16 bits Por uniformidad, op, rsy rtestán en la misma posición que en el formato R El significado de los registros depende de la instrucción rses el registro fuente una dirección para loadsy stores, o un operando para las instrucciones de saltos y aritméticas rtes un registro fuente para saltos y stores, pero es un registro destino para instrucciones aritméticas y loads tipo I El addresses un valor con signo en complemento a dos de 16 bits Puede ir desde -32,768 a +32,767. Pero esto no es siempre suficiente! ❿34

35 Constantes más grandes Cuando se requiere usar constantes más grandes de 16 bits Se usa la instrucción cargar inmediato en la parte alta load upper immediate instruction luila cual carga los 16 bits más significativos de un registro con una constante, y vuelve cero los 16 bits menos significativos Y se complementa con un OR inmediato, ori, que carga los 16 bits menos significativos Para cargar el valor de 32 bits : lui $s0, 0x003D # $s0 = 003D 0000 (en hex) ori $s0, $s0, 0x0900 # $s0 = 003D 0900 Esto ilustra el principio de hacer el caso más común más rápido La mayoría de las veces las constantes de 16 bits son suficientes Es posible cargar constantes de 32 bits, pero el costo es: dos instrucciones y un registro temporal Las seudoinstrucciones pueden contener constantes de más de 32 bits ❿35

36 Load y Storesde grandes direcciones El tamaño limitado de 16 bits puede ser un problema para acceder datos globales Si se quiere poner los resultados de una operación en la dirección 0x Nos damos cuenta que 0x es mayor que 32,767 En estos casos, el ensamblador rompe el inmediato en dos partes lui $at, 0x1001 # 0x lw $t1, 0x0004($at) # Leer de Mem[0x ] ❿36

37 Saltos Para las instrucciones de salto, el valor del inmediato no es una dirección, sino un offset desde el contador de programa (PC) actual a una dirección destino beq $at, $0, L add $v1, $v0, $0 add $v1, $v1, $v1 j Algun_sitio L: add $v1, $v0, $v0 Ya que el destino del salto Les 3 instrucciones después de beq, el campo del inmediato contiene 3. La instrucción beq será almacenada como: op rs rt address ❿37

38 Saltos largos Estudios empíricos de programas reales muestra que la mayoría de los saltos son de menos de 32,767 instrucciones más allá los saltos son usados principalmente en bucles y condicionales, y a los programadores les enseñan a hacer cuerpos de código cortos Si se necesitara saltar más largo, por ejemplo, si Lejos es muy lejos, entonces: puede ser simulado con beq $s0, $s1, Lejos... bne $s0, $s1, Next j Lejos Next:... Una vez más, los diseñadores del MIPS se preocuparon del caso común primero ❿38

39 Formato tipo J Finalmente, la instrucción salto jump usa el formato tipo J op address 6 bits 26 bits La instrucción jump contiene una palabra de dirección no un offset Recordemos que las instrucciones del MIPS son de tamaño de palabra, y una dirección debe ser divisible por 4 Por lo tanto en ves de decir saltar a la dirección 4000, es suficiente decir saltar a la dirección Una dirección de 26 bits permite saltar a cualquier dirección de 0 a Para saltos aún más largor se puede usar la instrucción salto de registro jr jr $ra # Salto a dirección de 32 bits en registro $ra ❿39

40 Fuentes de Información Parte de este material fue tomado de Krste Asanovic(UC Berkeley, curso cs152) Este a suvezda el siguienteacknowledgment: These slides contain material developed and copyright by: Arvind(MIT) Krste Asanovic(MIT/UCB) Joel Emer(Intel/MIT) James Hoe (CMU) John Kubiatowicz(UCB) David Patterson (UCB) MIT material derived from course UCB material derived from course CS252 Tambiénse usamaterial del Prof. Craig Zilles(UIUC, curso CS232) ❿40

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel.

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel. Tema 2: Arquitectura del repertorio de instrucciones Visión del computador que tiene el programador en bajo nivel. Lo que el programador en lenguaje ensamblador debe conocer para escribir programas: (1)

Más detalles

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones

ISA (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 detalles

Circuitos Digitales II y Laboratorio Fundamentos de Arquitectura de Computadores

Circuitos Digitales II y Laboratorio Fundamentos de Arquitectura de Computadores Departamento de Ingeniería Electrónica Facultad de Ingeniería Circuitos Digitales II y Laboratorio Fundamentos de Arquitectura de Computadores Unidad 5: IPS Pipeline Prof. Felipe Cabarcas cabarcas@udea.edu.co

Más detalles

Organización Básica de un Computador y Lenguaje de Máquina

Organización Básica de un Computador y Lenguaje de Máquina Organización Básica de un Computador y Prof. Rodrigo Araya E. raraya@inf.utfsm.cl Universidad Técnica Federico Santa María Departamento de Informática Valparaíso, 1 er Semestre 2006 Organización Básica

Más detalles

Arquitectura de Computadores

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

picojava TM Características

picojava TM Características picojava TM Introducción El principal objetivo de Sun al introducir Java era poder intercambiar programas ejecutables Java entre computadoras de Internet y ejecutarlos sin modificación. Para poder transportar

Más detalles

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente: Departamento de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Antioquia Arquitectura de Computadores y Laboratorio ISI355 (2011 2) Práctica No. 1 Diseño e implementación de una unidad aritmético

Más detalles

Sesión 11 Implementación de sentencias condicionales

Sesión 11 Implementación de sentencias condicionales INGENIERÍATÉCNICA EN INFORMÁTICA DE GESTIÓN. CURSO 2001-2002 LABORATORIO DE ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES Sesión 11 Implementación de sentencias condicionales INSTRUCCIONES DE COMPARACIÓN Y SALTOS

Más detalles

Entorno de Ejecución del Procesador Intel Pentium

Entorno de Ejecución del Procesador Intel Pentium Arquitectura de Ordenadores Arquitectura del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Entorno de Ejecución del Procesador

Más detalles

Tema 2. Diseño del repertorio de instrucciones

Tema 2. Diseño del repertorio de instrucciones Soluciones a los problemas impares Tema 2. Diseño del repertorio de instrucciones Arquitectura de Computadores Curso 2009-2010 Tema 2: Hoja: 2 / 16 Tema 2: Hoja: 3 / 16 Base teórica Al diseñar un computador,

Más detalles

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:

Más detalles

Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio

Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio Fundamentos de Arquitectura de Computadores Modelo de von Neumann Profesor: Felipe Cabarcas Correo:cabarcas@udea.edu.co Oficina:

Más detalles

18. Camino de datos y unidad de control

18. Camino de datos y unidad de control Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 18. Camino de datos y unidad de control Un La versatilidad una característica deseable los Los

Más detalles

Ejercicios. 5.2 [5] < 5.3> Este ejercicio es similar al 5.1, pero ahora considere los fallos causados por permanecer en 1 (la señal es siempre 1).

Ejercicios. 5.2 [5] < 5.3> Este ejercicio es similar al 5.1, pero ahora considere los fallos causados por permanecer en 1 (la señal es siempre 1). Ejercicios 5.1 [5] < 5.3> Describa el efecto que un simple fallo permanecer como 0 (es decir, independiente de lo que debería ser, la señal es siempre 0) provocaría en los multiplexores en el camino de

Más detalles

Clase 20: Arquitectura Von Neuman

Clase 20: Arquitectura Von Neuman http://computacion.cs.cinvestav.mx/~efranco @efranco_escom efranco.docencia@gmail.com Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Arquitectura de una computadora Elementos básicos de una

Más detalles

Arquitecturas CISC y RISC

Arquitecturas CISC y RISC Arquitecturas CISC y RISC Diseño de Sistemas Digitales EL-3310 I SEMESTRE 2008 2. ARQUITECTURA DEL CONJUNTO DE INSTRUCCIONES 2.1 Elementos de la arquitectura Clasificación de la arquitectura Organización

Más detalles

2.4. Modos de direccionamiento Distintas formas que tiene la arquitectura para especificar la ubicación de los operandos.

2.4. Modos de direccionamiento Distintas formas que tiene la arquitectura para especificar la ubicación de los operandos. 2.4. Modos de direccionamiento Distintas formas que tiene la arquitectura para especificar la ubicación de los operandos. Objetivos: - Reducir el número de bits para especificar un operando en memoria.

Más detalles

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

La Unidad Procesadora.

La Unidad Procesadora. La Unidad Procesadora. En un sistema digital complejo, la capa de hardware de la máquina es el nivel más bajo del modelo de capas de un sistema microcomputarizado. La unidad procesadora es una parte del

Más detalles

Funciones. Diseño de funciones. Uso de instrucción jal y retorno de subrutina.

Funciones. Diseño de funciones. Uso de instrucción jal y retorno de subrutina. MIPS Funciones 1 Funciones Diseño de funciones. Uso de instrucción jal y retorno de subrutina. Se suelen denominar funciones, procedimientos, subrutinas, subprogramas a las estructuras que emplean los

Más detalles

Arquitectura Von Neumann

Arquitectura Von Neumann Arquitectura Von Neumann Arquitectura Von Neumann Establecida en 1945 por Von Neumann Modelo básico de arquitectura utilizado en la mayoría de los computadores Su idea es la de conectar permanentemente

Más detalles

6-REGISTROS DEL 8086 Y DEL 80286

6-REGISTROS DEL 8086 Y DEL 80286 ESTRUCTURA DE COMPUTADORES I (Capítulo 6: Los registros del microprocesador 8086) 1/7 6-REGISTROS DEL 8086 Y DEL 80286 6.1 INTRODUCCIÓN: Dentro del procesador existen unos contenedores especiales de 16

Más detalles

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true I. FUNDAMENTOS 3. Representación de la información Introducción a la Informática Curso de Acceso a la Universidad

Más detalles

Estructura de Computadores

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

Más detalles

Arquitecturas RISC. Arquitectura de Computadoras y Técnicas Digitales - Mag. Marcelo Tosini Facultad de Ciencias Exactas - UNCPBA

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

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

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

Tema 5 Diseño del Set de Instrucciones (ISA) Arquitectura de Computadoras

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

MICROPROCESADOR RISC SINTETIZABLE EN FPGA PARA FINES DOCENTES

MICROPROCESADOR RISC SINTETIZABLE EN FPGA PARA FINES DOCENTES MICROPROCESADOR RISC SINTETIZABLE EN FPGA PARA FINES DOCENTES J.D. MUÑOZ1, S. ALEXANDRES1 Y C. RODRÍGUEZ-MORCILLO2 Departamento de Electrónica y Automática. Escuela Técnica Superior de Ingeniería ICAI.

Más detalles

Capítulo 1 Introducción a la Computación

Capítulo 1 Introducción a la Computación Capítulo 1 Introducción a la Computación 1 MEMORIA PRINCIPAL (RAM) DISPOSITIVOS DE ENTRADA (Teclado, Ratón, etc) C P U DISPOSITIVOS DE SALIDA (Monitor, Impresora, etc.) ALMACENAMIENTO (Memoria Secundaria:

Más detalles

Estructura de Computadores. Capítulo 3b: Programación en

Estructura de Computadores. Capítulo 3b: Programación en Estructura de Computadores Capítulo 3b: Programación en ensamblador del MIPS. José Daniel Muñoz Frías Universidad Pontificia Comillas. ETSI ICAI. Departamento de Electrónica y Automática Estructura de

Más detalles

UNIDADES DE ALMACENAMIENTO DE DATOS

UNIDADES DE ALMACENAMIENTO DE DATOS 1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo

Más detalles

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción

Más detalles

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

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

Pipelining o Segmentación de Instrucciones

Pipelining o Segmentación de Instrucciones Pipelining o Segmentación de Instrucciones La segmentación de instrucciones es similar al uso de una cadena de montaje en una fábrica de manufacturación. En las cadenas de montaje, el producto pasa a través

Más detalles

Representación de números en binario

Representación de números en binario Representación de números en binario Héctor Antonio Villa Martínez Programa de Ciencias de la Computación Universidad de Sonora El sistema binario es el más utilizado en sistemas digitales porque es más

Más detalles

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por

Más detalles

Matemática de redes Representación binaria de datos Bits y bytes

Matemática de redes Representación binaria de datos Bits y bytes Matemática de redes Representación binaria de datos Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo pueden entender

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

Tema 7: Esquema del Funcionamiento de una Computadora. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Tema 7: Esquema del Funcionamiento de una Computadora. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid Tema 7: Esquema del Funcionamiento de una Computadora Ingeniería Informática Universidad Autónoma de Madrid Esquema del Funcionamiento de una Computadora O B J E T I V O S Adquirir los conceptos básicos

Más detalles

1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1

1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 5.1.3 Multiplicación de números enteros. El algoritmo de la multiplicación tal y como se realizaría manualmente con operandos positivos de cuatro bits es el siguiente: 1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0

Más detalles

Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles

Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles Organización del Computador 1 Máquina de von Neumann Jerarquía de Niveles Inicios de la computación Turing y Church sientan las bases teóricas de la computación Máquina de Turing Máquina teórica compuesta

Más detalles

Creación de Funciones de Conducción

Creación de Funciones de Conducción Creación de Funciones de Conducción Requerimientos Para el desarrollo de esta actividad se requiere que: Contemos con un robot BoeBot armado con placa Arduino. Repetición En estos momentos habremos notado

Más detalles

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS ESTRUCTURA DE COMPUTADORES Pag. 8.1 LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS 1. Circuitos de multiplicación La operación de multiplicar es mas compleja que la suma y por tanto se

Más detalles

PROGRAMACIÓN BÁSICA DE LA COMPUTADORA. 1 Introducción. Tabla 1: Instrucciones MIPS

PROGRAMACIÓN BÁSICA DE LA COMPUTADORA. 1 Introducción. Tabla 1: Instrucciones MIPS PROGRAMACIÓN BÁSICA DE LA COMPUTADORA 1 Introducción Un sistema de computadora total incluye tanto circuitería (hardware) como programación (software). El hardware consta de los componentes físicos y todo

Más detalles

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES. 1.- a) Explica qué es un bit de información. Qué es el lenguaje binario? Bit es la abreviatura de Binary digit. (Dígito binario). Un bit es un dígito del lenguaje binario que es el lenguaje universal usado

Más detalles

Arquitectura intel 8086. Preámbulo de OSO para alumnos formados en el procesador MIPS. Asignatura Sistemas Operativos Murcia abril de 2005

Arquitectura intel 8086. Preámbulo de OSO para alumnos formados en el procesador MIPS. Asignatura Sistemas Operativos Murcia abril de 2005 Arquitectura intel 8086 Preámbulo de OSO para alumnos formados en el procesador MIPS Asignatura Sistemas Operativos Murcia abril de 2005 página 1. Introducción 2 2.- Direccionamiento y Registros de Segmento

Más detalles

8. Diseño de la codificación binaria del repertorio de Instrucciones.

8. Diseño de la codificación binaria del repertorio de Instrucciones. 8. Diseño de la codificación binaria del repertorio de Instrucciones. Se desea elegir los códigos binarios de las instrucciones. Esta parte, en forma indirecta especifica lo que debe realizar un programa

Más detalles

Lo que definimos como CPU (Central Process Unit) o Unidad Central de Proceso, está estructurado por tres unidades operativamente diferentes:

Lo que definimos como CPU (Central Process Unit) o Unidad Central de Proceso, está estructurado por tres unidades operativamente diferentes: Facultad de Ciencias Exactas y Naturales y Agrimensura Departamento de Ingeniería Cátedra : Proyecto Final Apuntes : Microprocesadores Tema 6-1 : Esquema de un µp. La CPU Lo que definimos como CPU (Central

Más detalles

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN I. P. N. ESIME Unidad Culhuacan INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA UNIDAD CULHUACAN INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN LABORATORIO

Más detalles

UNIDAD 2 Configuración y operación de un sistema de cómputo Representación de datos Conceptos El concepto de bit (abreviatura de binary digit) es fundamental para el almacenamiento de datos Puede representarse

Más detalles

Capítulo 1 Documentos HTML5

Capítulo 1 Documentos HTML5 Capítulo 1 Documentos HTML5 1.1 Componentes básicos HTML5 provee básicamente tres características: estructura, estilo y funcionalidad. Nunca fue declarado oficialmente pero, incluso cuando algunas APIs

Más detalles

1.2 Análisis de los Componentes. Arquitectura de Computadoras Rafael Vazquez Perez

1.2 Análisis de los Componentes. Arquitectura de Computadoras Rafael Vazquez Perez 1.2 Análisis de los Componentes. Arquitectura de Computadoras Rafael Vazquez Perez 1.2.1 CPU 1 Arquitecturas. 2 Tipos. 3 Características. 4 Funcionamiento(ALU, unidad de control, Registros y buses internos)

Más detalles

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL ELECTRÓNICA DIGITAL La electrónica es la rama de la ciencia que se ocupa del estudio de los circuitos y de sus componentes, que permiten modificar la corriente eléctrica amplificándola, atenuándola, rectificándola

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 2: Estructura de los sistemas de computación. 2.1 Funcionamiento de los sistemas de computación. 2.2 Ejecución de instrucciones e interrupciones

Más detalles

EXAMEN ORDINARIO DE ORGANIZACIÓN DE COMPUTADORES

EXAMEN ORDINARIO DE ORGANIZACIÓN DE COMPUTADORES 6 de febrero de 2008. 16 h. Escuela Técnica Superior de Ingeniería Informática Camino del Cementerio s/n. 47011 Valladolid EXAMEN ORDINARIO DE ORGANIZACIÓN DE COMPUTADORES NOTA: Los alumnos con las prácticas

Más detalles

❷ Aritmética Binaria Entera

❷ Aritmética Binaria Entera ❷ Una de las principales aplicaciones de la electrónica digital es el diseño de dispositivos capaces de efectuar cálculos aritméticos, ya sea como principal objetivo (calculadoras, computadoras, máquinas

Más detalles

Lección 1. Representación de números

Lección 1. Representación de números Lección 1. Representación de números 1.1 Sistemas de numeración Empecemos comentando cual es el significado de la notación decimal a la que estamos tan acostumbrados. Normalmente se escribe en notación

Más detalles

5.1.1 Sumadores con anticipación de Acarreo. g i = a i b i. c i = c i-1 p i + g i s i = p i + c i-1. c 0 = g 0 + c -1 p 0

5.1.1 Sumadores con anticipación de Acarreo. g i = a i b i. c i = c i-1 p i + g i s i = p i + c i-1. c 0 = g 0 + c -1 p 0 5.1.1 Sumadores con anticipación de Acarreo. El sumador paralelo de n bits que se ha mostrado hasta ahora, tiene un nivel de retardo de 2*n puertas, pues necesita 2*n etapas de puertas lógicas para que

Más detalles

Capítulo 0. Introducción.

Capítulo 0. Introducción. Capítulo 0. Introducción. Bueno, por fin está aquí el esperado (espero!!) Capítulo Cero del Tutorial de Assembler. En él estableceremos algunos conceptos que nos serán de utilidad a lo largo del Tutorial.

Más detalles

Sistemas de Computadoras Índice

Sistemas de Computadoras Índice 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

Documentación del simulador SPIM.

Documentación del simulador SPIM. Universidad de León Departamento de Ingeniería Eléctrica y de Sistemas y Automática (C) Prof. José M. Foces, 1998-2006. diejfm@unileon.es Documentación del simulador SPIM. Versión para Windows. Adaptada

Más detalles

TEMA 5. ELECTRÓNICA DIGITAL

TEMA 5. ELECTRÓNICA DIGITAL TEMA 5. ELECTRÓNICA DIGITAL 1. INTRODUCCIÓN Los ordenadores están compuestos de elementos electrónicos cuyas señales, en principio, son analógicas. Pero las señales que entiende el ordenador son digitales.

Más detalles

Preliminares. Tipos de variables y Expresiones

Preliminares. Tipos de variables y Expresiones Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un

Más detalles

Organización de Computadoras. Turno Recursantes Clase 8

Organización de Computadoras. Turno Recursantes Clase 8 Organización de Computadoras Turno Recursantes Clase 8 Temas de Clase Subsistema de Memoria Organización de Memoria Principal Notas de clase 8 2 Memoria Velocidad del procesador: se duplica cada 18 meses

Más detalles

Introducción a la Programación 11 O. Humberto Cervantes Maceda

Introducción a la Programación 11 O. Humberto Cervantes Maceda Introducción a la Programación 11 O Humberto Cervantes Maceda Recordando En la sesión anterior vimos que la información almacenada en la memoria, y por lo tanto aquella que procesa la unidad central de

Más detalles

Informática I para Bachillerato

Informática I para Bachillerato CIMAT Introducción a la programación en C/C++ CIMAT Sesión 1 Temario Evaluación Noticias y Material del Curso Sobre la clase: Tareas Objetivo del Curso Inicio de curso Temario: 1 Introducción a la Programación

Más detalles

TEMA 4. Unidades Funcionales del Computador

TEMA 4. Unidades Funcionales del Computador TEMA 4 Unidades Funcionales del Computador Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca Introducción El elemento físico, electrónico o hardware de un sistema

Más detalles

Estructura de Computadores

Estructura de Computadores Estructura de Computadores 4.- Programación en Ensamblador Parte IV Contenido Subrutinas. Llamadas al sistema. Página 2 Subrutinas Módulos de programa que pueden reutilizarse en distintos puntos del programa.

Más detalles

INTRODUCCIÓN. Definiciones ORDENADOR (RAE 1992): En esta asignatura computador y ordenador tiene el mismo significado

INTRODUCCIÓN. Definiciones ORDENADOR (RAE 1992): En esta asignatura computador y ordenador tiene el mismo significado INTRODUCCIÓN UPCO ICAI Departamento de Electrónica y Automática 1 Definiciones ORDENADOR (RAE 1992): Máquina electrónica dotada de una memoria de gran capacidad y de métodos de tratamiento de la información,

Más detalles

Es un software de simulación que ejecuta programas en lenguaje de ensamblador para procesadores con arquitectura MIPS32.

Es un software de simulación que ejecuta programas en lenguaje de ensamblador para procesadores con arquitectura MIPS32. Arquitectura de Computadoras Jose Luis Tecpanecatl Xihuitl, Ph.D. Es un software de simulación que ejecuta programas en lenguaje de ensamblador para procesadores con arquitectura MIPS32. SPIM lee e inmediatamente

Más detalles

La memoria principal. Los subsistemas de E/S. Los buses del sistema

La memoria principal. Los subsistemas de E/S. Los buses del sistema GUIA 23: MEMORIA E/S La estructura básica de la mayoría de los ordenadores actuales se representa mediante los siguientes elementos básicos: La Unidad Central de Procesamiento, CPU La memoria principal

Más detalles

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto INFORMÁTICA INFORMÁTICA 1 Sesión No. 4 Nombre: Procesador de Texto Contextualización La semana anterior revisamos los comandos que ofrece Word para el formato del texto, la configuración de la página,

Más detalles

"Programación en Ensamblador del microprocesador Pentium (I)"

Programación en Ensamblador del microprocesador Pentium (I) PRÁCTICA 3 "Programación en Ensamblador del microprocesador Pentium (I)" ÍNDICE 3.1.- El microprocesador Pentium. 3.2.- Inserción de ensamblador en Visual Studio. 3.3.- Facilidades para la depuración de

Más detalles

Pipeline o Segmentación Encausada

Pipeline o Segmentación Encausada Pipeline o Segmentación Encausada Material Elaborado por el Profesor Ricardo González A partir de Materiales de las Profesoras Angela Di Serio Patterson David, Hennessy John Organización y Diseño de Computadores

Más detalles

Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 Aritmética binaria

Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 Aritmética binaria Oliverio J. Santana Jaria 3. Aritmética tica binaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 Para Los La en conocer muchos aritmética comprender otros binaria tipos

Más detalles

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos). Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos). Memoria Típica. Los datos almacenados en memoria tienen que pasar, en un momento

Más detalles

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX En este manual se presenta el proceso de configuración de una Maquina Virtual en VirtualBox, que será utilizada para instalar un Servidor

Más detalles

Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio

Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio Fundamentos de Arquitectura de Computadores Presentación del Curso Profesor: Felipe Cabarcas Correo:cabarcas@udea.edu.co Oficina:

Más detalles

Naturaleza binaria. Conversión decimal a binario

Naturaleza binaria. Conversión decimal a binario Naturaleza binaria En los circuitos digitales sólo hay 2 voltajes. Esto significa que al utilizar 2 estados lógicos se puede asociar cada uno con un nivel de tensión, así se puede codificar cualquier número,

Más detalles

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

Más detalles

Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato

Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato Bibliografía: William Stallings Organización y Arquitectura de computadores 5ta. Edition. Editorial Pearson Educación.- Objetivos:

Más detalles

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León Programa. Introducción. 2. Elementos de almacenamiento. 3. Elementos de proceso. 4. Elementos de interconexión.

Más detalles

Los Microprocesadores MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Evolución Histórica de los Microprocesadores Intel Evolución de los microprocesadores Intel de la década de los 70 4004

Más detalles

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

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

Más detalles

Análisis general de un Microprocesador

Análisis general de un Microprocesador Análisis general de un Microprocesador Arquitectura del chip Repertorio de instrucciones Sistema mínimo Señales de control Función de cada pin del µp Herramientas de desarrollo Performance. ARQUITECTURA

Más detalles

Unidad 1. La información

Unidad 1. La información Unidad 1. La información En esta unidad aprenderás: Los conceptos básicos de la informática. Cómo se representa la información dentro del ordenador. Las unidades de información. 1.1 Conceptos básicos Informática.

Más detalles

Guía Laboratorio Número 1

Guía Laboratorio Número 1 Guía Laboratorio Número 1 Página 1 de 5 Arquitectura de Computadoras 06/04/2014 Repaso lenguaje ensamblador Escribir códigos en lenguaje ensamblador es bastante sencillo, por lo que no es necesario el

Más detalles

Introducción a la Programación 11 O. Humberto Cervantes Maceda

Introducción a la Programación 11 O. Humberto Cervantes Maceda Introducción a la Programación 11 O Humberto Cervantes Maceda Información del profesor Humberto Cervantes Maceda T 138 www.humbertocervantes.net/cursos Acerca de ustedes Nombre Carrera Qué experiencia

Más detalles

Capitulo V Administración de memoria

Capitulo V Administración de memoria Capitulo V Administración de memoria Introducción. Una de las tareas más importantes y complejas de un sistema operativo es la gestión de memoria. La gestión de memoria implica tratar la memoria principal

Más detalles

Generación de código para funciones. Generación de código para funciones. Generación de código para funciones. Generación de código para funciones

Generación de código para funciones. Generación de código para funciones. Generación de código para funciones. Generación de código para funciones Ejemplo introductorio: escritura de funciones en NASM Ejemplo introductorio: escritura de funciones en NASM En estas transparencias pondremos una subrutina ASPLE y la generación de código equivalente En

Más detalles

7. Manejo de Archivos en C.

7. Manejo de Archivos en C. 7. Manejo de Archivos en C. Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan normalmente en un dispositivo de

Más detalles

Medias Móviles: Señales para invertir en la Bolsa

Medias Móviles: Señales para invertir en la Bolsa www.gacetafinanciera.com Medias Móviles: Señales para invertir en la Bolsa Juan P López..www.futuros.com Las medias móviles continúan siendo una herramienta básica en lo que se refiere a determinar tendencias

Más detalles

GENERACIÓN DE CÓDIGO

GENERACIÓN DE CÓDIGO GENERACIÓN DE CÓDIGO INTRODUCCION La generación de código es la fase más compleja de un compilador, puesto que no sólo depende de las características del lenguaje fuente sino también de contar con información

Más detalles

Tema IV. Unidad aritmético lógica

Tema IV. Unidad aritmético lógica Tema IV Unidad aritmético lógica 4.1 Sumadores binarios 4.1.1 Semisumador binario (SSB) 4.1.2 Sumador binario completo (SBC) 4.1.3 Sumador binario serie 4.1.4 Sumador binario paralelo con propagación del

Más detalles

Práctica 3: Programación con subrutinas

Práctica 3: Programación con subrutinas Práctica 3: Programación con subrutinas 3.1 Objetivos El objetivo de esta práctica es estudiar el soporte del ensamblador del ARM para la gestión de subrutinas, para lo que resulta necesario familiarizarse

Más detalles

UNIVERSIDAD DE SALAMANCA

UNIVERSIDAD DE SALAMANCA UNIVERSIDAD DE SALAMANCA FACULTAD DE CIENCIAS INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Resumen del trabajo práctico realizado para la superación de la asignatura Proyecto Fin de Carrera. TÍTULO SISTEMA

Más detalles

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J. Sensor de Temperatura utilizando el Starter Kit Javelin Stamp Realizado por: Bertha Palomeque A. Rodrigo Barzola J. INTRODUCCION DIFERENCIAS EJEMPLOS JAVA Orientado a Objetos Multiplataforma Programar

Más detalles

Circuitos Digitales II y Laboratorio Fundamentos de Arquitectura de Computadores

Circuitos Digitales II y Laboratorio Fundamentos de Arquitectura de Computadores Departamento de Ingeniería Electrónica Facultad de Ingeniería Circuitos Digitales II y Laboratorio Fundamentos de Arquitectura de Computadores Unidad 1: Introducción Prof. Felipe Cabarcas cabarcas@udea.edu.co

Más detalles