Arquitectura de Computadoras

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

Download "Arquitectura de Computadoras - 2012"

Transcripción

1 Arquitectura de Computadoras Repertorio de Instrucciones: Características y Funciones Computer Organization and Architecture 6 th EditionWilliam Stallings 1 Introduccion. Repertorio de instrucciones en lenguaje maquina: Un punto de encuentro para el diseñador del computador y el programador. Punto de vista del diseñador: El conjunto de instrucciones máquina informa de las especificaciones funcionales de la CPU: implementar la CPU es una tarea que implica implementar el set de inst. Punto de Vista del programador: Quien se maneja en lenguaje ensamblador se hace consciente de la estructura de registros y memoria, de los tipos de datos y del funcionamiento de la ALU. La descripción del repertorio de inst. maquina es un paso mas hacia la explicación de la CPU del computador. 2

2 Introduccion. Objetivos: Que hace una instrucción? Examinar y reconocer los distintos tipos de operandos. Reconocer los distintos tipos de operaciones que pueden especificarse mediante instrucciones maquina. 3 Que es el repertorio de intrucciones? Es la colección de instrucciones distintas que son ejecutadas por la CPU. El funcionamiento de la CPU esta determinado por las instrucciones que ejecuta. Cada instrucción debe contener la información que necesita la CPU para su ejecución. Código de máquina Lenguaje binario Usualmente representada por código assembler 4

3 Diagrama de estados de un ciclo de instrucción ( 1 ) 2 Ocasionan un intercambio entre CPU y memoria Ocasionan operaciones internas a la CPU 5 Diagrama de estados de un ciclo de instrucción ( 2 ) 1. Cálculo dirección instrucción (IAC): determina la dirección de la siguiente instrucción a ejecutarse. Normalmente implica añadir un nro. fijo a la dirección de la instrucción previa. 2. Captación de la instrucción: La CPU la lee desde su posición en memoria. 3. Decodificación de la operación: analiza la instrucción para determinar el tipo de operación a realizar y los operandos que se usarán. 6

4 Diagrama de estados de un ciclo de instrucción ( 3 ) 4- Cálculo dirección operando: si la instrucción implica la referencia a un operando en la memoria ó E/S, entonces se determina la dirección. 5. Captación del operando: capta a el operando en la memoria ó se lee desde E/S. 6. Operación sobre los datos: realiza la operación indicada en la instrucción. 7. Cálculo dirección resultado.( Idem 4) 8. Almacenamiento resultado:escribe el resultado en memoria o lo saca a través de un 7 dispositivo de E/S. Diagrama de estados de un ciclo de instrucción ( 4) Los estados en la parte superior implican un intercambio entre la CPU y la memoria ó E/S. Los estados en la parte inferior implican sólo operaciones internas en la CPU 8

5 Elementos de una Instrucción Código de operación (Op code) Especifica la operación a realizar ( suma, E/S, etc.) Referencia a operandos fuente La operación puede implicar uno o más operandos fuente, que son entradas para la instrucción. Referencia al operando destino o resultado: La operación puede producir un resultado Referencia a la siguiente instrucción Dice a la CPU de donde captar la siguiente instrucción tras completarse la ejecución de la instrucción actual Donde puede estar la siguiente instrucción? 9 Los operandos fuente y resultado pueden estar en: Memoria principal (memoria virtual o cache): Debe indicarse dicha dirección. Registro de la CPU 1 sólo registro: referencia a él puede ser implícita Más de 1 registro: cada uno tiene asignado un nro único y La instrucción debe contener el nro de registro deseado. Dispositivo de I/O La instrucción debe especificar el módulo y dispositivo de E/S para la operación. En caso de E/S asignadas en memoria, se dara otra dirección de memoria principal o virtual. 10

6 Representación de las instrucciones Cada instrucción se representa como una cadena de bits. Está dividida en campos. Cada repertorio emplea en gral mas de un formato de instruccion. Durante su ejecución la instrucción se escribe en IR.( CPU) La CPU debe extraer los datos de los distintos campos para realizar la operación requerida. Para facilitar la comprensión humana de programadores y otros se utiliza una representación simbólica de los CODOPS ej.: ADD, SUB, Conjunto de instrucciones del IAS. Los operandos pueden también representarse simbólicamente ADD R,Y SUMAR el valor contenido en la posición de datos Y al contenido del registro R 11 Formatos de la memoria IAS Bit de signo (a ) Palabra número Codop Dirección Codop Dirección (b ) Palabra instrucción 12

7 Representación de las instrucciones (2) Los codops se representan con nemotécnicos, que indican la operación: ADD Sumar SUB Restar MPY Multiplicar DIV Dividir LOAD Cargar datos en memoria STOR Almacenar datos en memoria (memorizar) Es posible escribir un programa en leng. de maquina en forma simbólica. Cada cod. simbólico tiene una representación binaria fija. El programador define: X= 513; Y = 514 A partir de allí se construyen programas sencillos. 13 Un formato de instrucciones sencillo 14

8 Tipos de instrucciones Instrucción en BASIC o Fortran. Por ej.: X = X + Y X=513 ; Y = 514 ( Corresponden a posiciones ) Como realizarlo con instrucciones de maquina? Puede necesitar de tres instrucciones máquina 1) Cargar un registro con el contenido de la posición de memoria 513 2)Sumar al registro el contenido de la posición de memoria ) Memorizar el contenido del registro en la posición de memoria 513. Un lenguaje de alto nivel expresa las instrucciones de forma algebraica concisa utilizando variables. Un lenguaje maquina expresa las operaciones de manera elemental, implicando operaciones de transferencia de datos a, o desde registros. 15 Tipos de instrucciones Cuales tipos incluir en un computador? Debiera existir un conj. que permitiese al usuario formular cualquier tarea de procesamiento de datos. O bien: Cualquier programe escrito en Alto nivel debe poder traducirse a lenguaje maquina para ser ejecutado. De acuerdo a lo anterior se clasifican en: A) De Procesamiento de Datos: Instrucciones aritméticas y lógicas ( en registros de la CPU) B) De almacenamiento de datos: Instrucciones de memoria C) De transferencia de datos: Instrucciones de I/O D) De control: Instrucciones de comprobación y de bifurcación ( para testear el valor de una palabra o el estado de un calculo/ para bifurcar a diferentes conj. de instrucciones) 16

9 Número de direcciones de una inst. (a) Permite describir la arquitectura de un procesador en termino del nro. de direcciones contenidas en cada instrucción. Esta dimensión pierde significación a medida que crece la complejidad del diseño de la CPU. Cual es el numero máximo de direcciones que serian necesarias en una instrucción?? Cuatro? Porque? 3 direcciones Operando 1, Operando 2, Resultado a = b + c; No son comunes Necesitan formatos relativamente largos para albergar las tres referencias Es implícita la dirección de la instrucción siguiente ( se obtiene a partir del Contador del Programa ) 17 Número de direcciones (b) 2 direcciones Una de las direcciones debe hacer el servicio doble de uno de los operandos y del resultado. a = a + b SUB Y, B Reduce la longitud de la instrucción Requiere algún trabajo extra Almacenamiento temporario para algunos resultados 1 dirección Una segunda dirección debe estar implícita Usualmente era el registro acumulador (AC) Esquema común en las primeras máquinas 18

10 Número de direcciones (c) 0 (cero) direcciones Todas las direcciones son implícitas Usan una pila Pila: Conjunto de posiciones del tipo last-in-first-out ( el ultimo en entrar es primero en salir). e.j. push a push b add pop c La pila esta en una posición conocida A menudo los dos elementos de su cabecera estàn en registros del procesador. 19 Programas para calcular Y 20

11 Cúantas direcciones por instrucción? (1) Es una decisión básica de diseño. Menos direcciones Procesador menos complejo Instrucciones más cortas Instrucciones menos complejas Más instrucciones por programa -> mayor tiempo de ejecución y programas mas largos y complejos. Rápidas instrucciones de captación/ejecución de instrucciones Más direcciones ( instrucciones de múltiples direcciones) Instrucciones más complejas (poderosas?) Más registros de uso general Las operaciones Inter-registros son mas rápidas Menos instrucciones por programa Por razones de flexibilidad y facilidad para utilizar varios registros, las maquinas contemporáneas emplean una combinación de dos y de tres direcciones. 21 Cúantas direcciones por instrucción? (2) Otros aspectos a considerar al momento del diseño Si una dirección hace referencia a una posición de memoria o a un registro. Hay menos registros, entonces se necesitan menos bits para referenciarlos Una máquina puede permitir diversos modos de direccionamiento dicha especificación consume uno o más bits. La mayoría de los diseños de procesadores hacen uso de varios formatos de instrucciones 22

12 Decisiones para el diseño del repertorio de instrucciones del lenguaje de maquina (1) Define muchas de las funciones realizadas por la CPU ( procesador) El repertorio es el medio que dispone el programador para controlar la CPU. Por lo tanto deben considerarse sus necesidades a la hora de diseñarlo. Los aspectos de diseño mas relevantes a considerar: Repertorio de operaciones: Cuántas operaciones considerar? Qué operaciones considerar? Cúan complejas deben ser? Tipos de datos: con los que se efectúan operaciones Formatos de instrucciones Longitud ( en bits) Numero de direcciones Tamaño de los distintos campos 23 Decisiones para el diseño (2) Registros Número de registros de la CPU disponibles Cuáles operaciones pueden realizarse sobre cuáles registros? Direccionamiento Diversas maneras mediante las cuales se especifica la dirección de un operando. Los aspectos están fuertemente relacionados y deben considerarse conjuntamente en el diseño de un set de instrucciones RISC vs CISC. RISC (POWER PC) : Reduced Instruction Set Computer o Computador de Conjunto Reducido de Instrucciones. La arquitectura RISC cuestiona muchas de las decisiones sobre repertorios de instrucciones tradicionalmente adoptadas 24

13 Tipos de operandos (1) Las instrucciones maquina operan con datos. Las categorías mas importantes son: Direcciones: En ocasiones debe realizarse algún calculo sobre la referencia de un operando, se consideran como números enteros sin signo Números Enteros/punto flotante Limitados ( magnitud de los nros representables en una maquina y además en coma flotante su precisión). En decimal Caracteres ASCII etc. EBCDIC. Datos lógicos 25 Bits o flags Tipos de operandos (2) Numeros: Almacenados en un computador estan limitados 1) Para la magnitud de los nros representables en una maquina. 2) Para nros en coma flotante, su precisión esta limitada Programador consciente del redondeo, del desbordamiento. Se usan datos numéricos: Enteros o en coma fija En coma flotante En decimal Para aplicaciones con muchas E/S vs pocos cálculos y simples Es preferible memorizar y operar con los números directamente en su forma decimal: decimal empaquetado. 26

14 Tipos de operandos (3) Caracteres Diversos códigos que permiten representar caracteres mediante secuencias de bits ASCII: Código estándar americano para Intercambio de información. Cada carácter representado por un patron de 7 bist Otro: EBCDIC. ( Se emplea en los grandes computadores de IBM) 27 Tipos de operandos ( 4 ) Datos lógicos: Bits o flags En gral cada palabra se trata como unidad de datos individual (u otras unidades direccionables: byte, media palabra, etc). Otras se considera: una unidad de n bits como n elementos o datos de 1 bit, donde c/elemento vale 0 o 1. Ventajas de los datos logicos: 1) Para almacenar una matriz de datos binarios o booleanos, c/elemento (0 o 1)=> la memoria se utiliza más eficientemente 2) Permite la manipulación de bits individuales de un dato. EJ. Al convertir de ASCII a decimal empaquetado, se necesitan extraer los 4 bits de la derecha de cada byte. Para desplazar bits de mantisas, en operaciones de coma flotante. 28

15 Tipos de datos en el Pentium Tipos generales de datos: 8 bits (Byte) 16 bits (palabra) 32 bits (palabra doble) 64 bits (palabra cuádruple) Direccionamiento se hace mediante 8 bits (byte) Reconoce una variedad impresionante de tipos de datos específicos que son reconocidos y procesados mediante instrucciones concretas. 29 Tipos de datos del Pentium General 1 byte, de palabra (16 bits), palabra doble ( 32 bits), y cuádruple (64) con contenido binario arbitrario Entero - Valor binario con signo contenido en 1 Byte (C 2) Ordinal - Un entero sin signo contenido en un byte, 1 palabra o una doble palabra. BCD desempaquetado - Un dígito en cada byte BCD empaquetado - 2 dígitos BCD por byte valor en el rango 0 a 99. Puntero de proximidad 32 bits que representa el desplazamiento dentro de un segmento Campo de bits. Una secuencia contigua de bits, cada posición es independiente Cadena de bytes. Secuencia contigua de bytes, de palabras, o palabras dobles, que contiene de 0 a bytes. 30

16 Tipos de datos del Pentium Coma flotante. Existen una variedad de ellos, todos utilizados por la unidad de coma flotante. Las instrucciones de coma flotante pueden operar con enteros y con enteros decimales empaquetados, así como numeros en coma flotante. Los enteros con signo están en representación C2 y pueden ser de 16,32 o 64 bits. Los enteros decimales empaquetados se almacenan en representación signo-magnitud con 18 dígitos en el rango de 0 a 9. Las representaciones en coma flotante se ajustan al formato IEEE 754. Ver tabla Pag. 322 Stallings y Figura 9.4 ( Pág.. 323). Varia según la edición del libro 31 Pentium Floating Point Data Types 32

17 Tipos de operaciones El nro de Codops diferentes varia ampliamente de una maquina a otra. En todas las maquinas se encuentran tipos generales de operaciones: 1) Transferencia de datos 2) Aritméticas 3) Lógicas 4) De conversión 5) De E/S 6) De control del sistema 7) De control de flujo. 33 Tipos de operaciones: Transferencia de datos Es el tipo mas básico de instrucción Debe especificar 1)Posiciones del operando fuente/origen Posiciones del operando destino Podrían ser de memoria, un registro o la cabecera de una pila. 2)Longitud de los datos a transferir 3)El modo de direccionamiento para cada operando. Puede haber diferentes instrucciones para diferentes modelos: e.j. IBM S/370 Load ( L ) Trans. Memoria a registro: 32 bits Load Halfword (LH) Transf. Memoria a registro. 16 bits Load ( LR ) Tranfs. De reg. A registro. 32 bits Load (Long) (LDR) Trans. Larga entre dos registros de coma flot. Load (Short) ( LE) Transf. Corta de memoria a reg. De coma flotante Store (ST ) Transf. De registro a memoria. 32 bits 34

18 Tipos de operaciones: Transferencia de datos Por el contrario el VAX: Presenta una instrucción (MOV) con variantes según la cantidad de datos a transmitir Es mas sencilla que la utilizada por el Pentium, pero es menos compacta. e.g. VAX Estas operaciones son las mas sencillas que debe realizar el procesaror (CPU) Si el origen y el destino son registros, la CPU hace la operación (interna). Si uno o ambos operandos están en memoria -> La CPU debe realizar alguna o todas las siguientes tareas: 1. Calcular la dirección de memoria basándose en el modo de direccionamiento utilizado. 2. Si la dirección hace referencia a memoria virtual: traducir de dirección virtual a real. 3. Determinar si el elemento direccionado esta en cache Si no, cursar la orden al modulo de memoria. Tipos de operaciones: Aritméticas Suma, Resta, Multiplicación, División Se tienen siempre para enteros con signo (coma fija) A menudo se proporcionan para números en Punto flotante y para decimales empaquetados Puede incluir varias instrucciones de un solo operando Increment (a++): incrementa en 1 el operando Decrement (a--): decrementa en 1 el operando Negate (-a): cambia el signo del operando Absolute: obtiene el valor absoluto del operando 36

19 Tipos de operaciones: Aritméticas Su ejecución puede implicar: Operaciones de transferencia de datos para ubicar los operandos como entradas a la ALU Y para almacenar la salida de la ALU. Además la ALU debe realizar la operación deseada. 37 Tipos de operaciones: Lógicas A) Disponen operaciones para manipular bits individuales dentro de una palabra o de otra unidad direccionable. AND, OR, XOR, NOT Pueden aplicarse desde bit a bit hasta n bits Si dos registros contienen los siguiente: (R1)= ; Contenido de la posición R1 (R2)= ; Contenido de la posición R2 (R1) AND (R2)= Esta operación puede utilizarse como mascara, para poner a 0 ciertos bits y seleccionar otros. 38

20 Tipos de operaciones: Lógicas En otro ejemplo: si dos registros contienen: (R1)= (R2)= Entonces: (R1) XOR (R2) = (obtiene complemento a uno). b) Funciones de desplazamiento y rotación. Desplazamiento lógico: se desplazan a la derecha o a la izquierda los bits de la palabra. En un extremo, el bit saliente se pierde al desplazarse. En el otro se introduce un 0. Estos son útiles para aislar campos dentro de una palabra. Los ceros que se van introduciendo en la palabra desplazan la información no deseada, que se va perdiendo por el otro extremo. 39 Tipos de operaciones: Lógicas b) Funciones de desplazamiento y rotación. Desplazamiento aritmético: trata el dato como entero con signo, y no desplaza el bit de signo. En un desplazamiento aritmético a derecha, el bit de signo normalmente se replica en la posición de bit de su derecha. Estos desplazamientos sirven para acelerar ciertas operaciones aritméticas. Con números en notación de C 2, un desplazamiento a izquierda o derecha equivale a multiplicar o dividir por 2 respectivamente, asumiendo que no hay desbordamiento ni desbordamiento a 0. 40

21 Tipos de operaciones: Lógicas Rotación o desplazamiento cíclico. Preserva todos los bits con que se esta operando. Ej.: Ir volcando sucesivamente cada bit en la posición mas a la izquierda, donde puede ser identificado comprobando el bit de signo del dato. Las operaciones lógicas implican actividad de la ALU 41 Operaciones de desplazamiento y de rotación 42

22 Tipos de operación: Conversión Cambian el formato u operan sobre el formato de los datos. Ej. Conversión de decimal a binario. Convierte un código de 8 bits a otro TR R1, R2, L Translate (s/370), R2: Contiene la dirección de comienzo de una tabla de códigos de 8 bits. Se traducen los L bytes que comienzan en la dirección especificada por R1. Se sustituye cada byte por el contenido del elemento de la tabla indexadada por dicho byte. Por ej.: Para convertir de EBCDIC a ASCII 43 Tipos de operaciones: Entrada/Salida Las instrucciones admiten aproximaciones muy diversas. Incluyen E/S programadas aisladas. Incluyen E/S programadas asignadas en memoria. Instrucciones de movimiento de datos (mapeo de memoria ) Puede ser hecha mediante un controlador separado (DMA). Muchas implementaciones ofrecen solo unas pocas inst. de E/S con acciones especificas indicadas mediante parámetros, códigos o palabras de ordenes. 44

23 Tipos de operaciones: Control del sistema Son instrucciones privilegiadas. CPU necesita estar en un estado específico Están reservadas para ser usadas por el sistema operativo Ej: Leer o alterar un registro de control Ej.: para leer o modificar una clave de protección de memoria 45 Tipos de operaciones: Control de flujo o transferencia de control Existe una serie de inst. cuya misión es cambiar la secuencialidad de la ejecución. La operación que realiza la CPU es actualizar el PC para que contenga la dirección de alguna inst. que esta en memoria Varias razones para utilizar estas instrucciones: Si se va a procesar una tabla o una lista de elementos- >lo normal es utilizar un bucle de programa. Los programas incluyen tomas de decisión Existen programas muy largos, se parte la tarea en trozos mas pequeños. 46

24 Tipos de operaciones: Control de flujo o transferencia de control a) Bifurcación ( Salto ). Las maquinas poseen un codigo de condición de uno o varios bits, que se actualiza luego de una operacion. Ejemplo: Se ejecuta el salto (se actualiza el PC con la dirección especificada en el operando) si se cumple la condición. Sino se cumple se ejecuta la instrucción siguiente de la secuencia ( se incrementa el PC de forma habitual). BRZ X (saltar a X si el resultado es cero) BRP X ( saltar a la posición X, si el resultado es positivo) BRN X (saltar a X si el resultado es negativo) BR0 X (saltar a la posición X, si el resultado es desbordamiento) Resultado: referencia a la ultima operación ejecutada que afecte al código de condición. Otro ejemplo con inst. de 3 direcciones: BRE R1, R2, X Saltar a X si el contenido de R1 = R2 47 Instrucciones de bifurcación 48

25 Control de flujo o transferencia de control b) Salto implícito ( SKIP ). Incluye una dirección de manera implícita. Implica que se va a saltar una instrucción La dirección implícita es igual a la dirección de la siguiente instrucción mas la longitud de una instrucción. Ej. Instrucción incrementar y saltar si es cero (ISZ) ISZ Register1 301 ( R1 se fija a un valor negativo) ISZ R1 310 BR Tipos de operaciones: Control de flujo o transferencia de control c) Llamada a procedimiento Procedimiento : programa autoconsistente que se incorpora en uno mas grande. Razones de su uso: Economía y modularidad Economiza esfuerzo de programación y hace mas eficiente el uso del espacio de memoria. Dos instrucciones básicas: Call, Return. c.f. llamada de interrupción 50

26 Procedimientos anidados 51 Tipos de operaciones: Control de flujo o transferencia de control Llamada a procedimiento puede hacerse desde distintos puntos -> La CPU debe guardar la dirección de retorno en algún sitio. Existen 3 lugares habituales: Un registro Al principio de procedimiento En la cabecera de una pila: es la opción mas potente y mas general 52

27 Tipos de operaciones: Control de flujo o transferencia de control Primera ( Registro): CALL X ( llamada al procedimiento de la posición x). Si se utiliza un registro se produce: RN <- PC + RN: registro utilizado a este fin PC <- X PC: contador de programa : long. de la instrucción El procedimiento llamado puede consultar RN para el retorno posterior. Segunda posibilidad: Almacenar la dirección de retorno al comienzo del procedimiento: CALL X X<- PC + PC<- x+1 Aquí la dirección de retorno queda almacenada en un lugar seguro. Limitación: Impiden el uso de procedimientos reentrantes (Reentrante: Es posible tener abiertas varias llamadas al mismo tiempo). Los procedimientos recursivos son un ej. 53 del uso de esta característica). Uso de una pila para implementar el anidamiento de subrutinas La CPU cuando ejecuta una llamada, coloca la dirección de retorno en la pila. Cuando ejecuta un retorno utiliza la dirección guardada. 54

28 Tipos de operaciones: Instrucciones de llamado a procedimientos Además de la dirección de retorno a veces es necesario pasar parámetros: Alternativa 1: Además de aportar la dirección de retorno, a veces, es necesario pasar o transferir ciertos parámetros, se puede hacer mediante registros. Alternativa 2: : Almacenar los parámetros en memoria justo después de la instrucción CALL. El retorno debe hacerse a la posic. siguiente a los parámetros. Tienen limitaciones, dificultan procedimientos reentrantes. 55 Tipos de operaciones: Instrucciones de llamado a procedimientos Alternativa 3: Mas flexible pasar parámetros a través de pilas. Cuando la CPU ejecuta una llamada, introduce la dirección de retorno mas los parámetros. El procedimiento accede a los parámetros en la pila. Para el retorno: los parámetros de retorno pueden introducirse en la pila. Marco de pila: Parámetros + dirección de retorno. Ver figura 9.9 ( Pag. 336 Stallings)( varía según edición del libro a consultar)., 56

29 Apendice: Pilas Conjunto ordenado de elementos, en el que sólo uno de ellos es accesible en un instante dado. Punto de acceso: cabecera de la pila Nro de elementos variable: longitud Sólo se pueden añadir o eliminar elementos en la cabecera LIFO ( last-in-first-out) Gestionan las llamadas y retornos de procedimientos Son una alternativa para direccionar memoria 57 Pilas: Operaciones básicas Push: Apila; POP: Desapila; Multiplicar: requiere dos elementos de 58 la cabecera como operandos.

30 Implementación de la pila mediante instrucciones (1) Depende de sus usos potenciales. Es una estructura útil para la CPU: Gestión de llamadas y retornos a/de procedimientos. Pueden ser útiles también para el programador: Ej. Evaluación de expresiones. ( Se definen inst.) PUSH, POP Operaciones que utilicen 1 o 2 elementos de la cabecera como operandos. Todas las instrucciones referencian a la cabecera, -> la dirección de/l operando/s esta implícita. ( 0 direcciones).- 59 Implementación de las pila mediante instrucciones. (2) Si solo será utilizada por la CPU: En memoria principal ( o virtual ) se reserva un bloque de posiciones contiguas para almacenar los elementos de la pila. La > parte del tiempo el bloque esta parcialmente lleno. El resto esta disponible para que crezca la pila. Se necesitan 3 direcciones, normalmente memorizadas en registros de la CPU: Puntero de pila: Contiene la dirección del tope o cabecera Base de la pila: Contiene la dirección base. Si se intenta POP cuando esta vacía que sucede?? Limite de la pila. Contiene la dirección del otro extremo del bloque reservado. Si se intenta PUSH cuando esta utilizado totalmente: que sucede?? Para acelerar las operaciones con la pila, también los dos elementos de la cabecera se almacenan en registros. El puntero de pila contiene la dirección del tercer elemento de la pila. Ver figura 9.14 b (Stallings Pág.354) 60

31 Pilas: Organizaciones usuales 61 Pilas: Evaluación de expresiones. Formulas matemáticas: en notación infija (infix) El operador binario aparece entre los operandos (a + b) Se emplean () para determinar el orden. a+(bxc) distinto de (a+b) x c Las operaciones tienen prioridades implicitas: Ej. la multiplicación antes que la suma. a + b x c es equivalente a + ( b x c). Una alternativa: notación postfija o polaca inversa. El operador se especifica después de los operandos: a+ b seria a b + a+(bxc) seria a b c x + (a+b) x c seria a b + c x No se requieren paréntesis. 62

32 Pilas: Evaluacion de expresiones. Ventaja: Una expresión con este formato es fácil de evaluar usando una pila. Se recorre la expresión de izquierda a derecha. Se aplican las siguientes reglas: 1.- Si el elemento es una variable o constante, se introduce en la pila. 2.- Si es un operador, se extraen de la cabecera de la pila los dos operandos, se realiza la operación y se apila el resultado. El resultado se obtiene en la cabecera de la pila. Muchos compiladores, partiendo de expresiones en alto nivel las convierten a notación postfija y generan las instrucciones maquina a partir de esta notación. 63 Pilas: Evaluacion de expresiones. Secuencia de instrucciones de maquina: para evaluar f = ( a b )/(c+d x e ). La notación postfija ha servido de guía para generar las instrucciones de maquina. La secuencia de eventos, producidos por el programa en la pila se ilustra en la sig. Figura: 64

33 Utilización de la pila para calcular f 65 Apendice: Clasificación de procesadores Aspecto relacionado con la forma en que se referencian y se representan los bytes dentro de una palabra y los bits dentro de un byte. ORDEN DE LOS BYTES. Endian: Surge cuando es necesario tratar una entidad multi-byte como un único dato con una sola dirección. El tipo de endian determina el orden de direccionamiento y de bytes. Big-endian: Un dato numérico multi-byte que se almacena con el byte más significativo en la dirección numérica más baja. Little-endian: Si se memoriza con el byte más significativo en la dirección más alta. Bi-endian: puede manejar ambos estilos de memorización 66

34 El orden de los Bytes (1) (Ejemplo) Valor hexadecimal de 32 bits: , se almacena en una palabra de 32 bits de una memoria direccionable por bytes, en el byte 184. El valor consta de 4 bytes, con el contenido 78 para el byte menos significativo, y el mas significativo con el valor 12. se exponen dos maneras de memorizar este valor. 67 El orden de los Bytes (1) (Ejemplo) Address Value (1) Value(2) significativo - significativo big-endian little-endian i.e. leer de abajo hacia arriba o de arriba hacia abajo?. 68

35 Byte Order Names (2) El problema se llama Endian. En relación con los bytes este concepto tiene que ver con la ordenación de los bytes en un escalar multi_byte. Se almacena el byte mas significativo en la dirección de byte con valor numérico mas bajo. Este se llama big-endian: equivalente al orden de escritura de izq. a derecha. Equivalente a la escritura de las lenguas en las culturas occidentales. La otra almacena: el byte menos significativo en la dirección con valor mas bajo. Se conoce con el nombre de little-endian: equivalente al orden de derecha a izq. seguido por las operaciones aritméticas. 69 Byte Order Names (3) Para determinadas tareas es necesario conocer la estructura de los datos. Por. Ejemplo: la conversión de un bloque de memoria con un tipo de endian a otro, requiere conocer la estructura de los datos. Procesadores Little endian : Intel 80x86, Pentium II, Vax y Alpha. Procesadores Big endian : IBM System 370/390; SUN SPARC y mayoría de los RISC. 70

36 Byte Order Names (4) La figura siguiente muestra como el tipo de endian determina el orden de direccionamiento y de los bytes. La estructura C, contiene varios tipos de datos Los cuadros son el resultado de la compilación Memoria: serie de filas de 64 bits Big endian : la memoria se representa de izq. A derecha y de arriba hacia abajo. Little endian : Memoria de derecha a izq. Y de arriba abajo. (Estos esquemas podrían variar de fila a fila, depende de la manera de hacer el trazado). Los manuales de programación muestran confusa colección de formatos. 71 Example of C Data Structure (5) 72

37 Alternative View of Memory Map Ejemplo: Se considera la memoria como una matriz vertical de bytes. No existe consenso acerca de que tipo es mejor. Se prefiere el big-endian por lo siguiente: Ordenación de cadenas de caracteres: es mas rápido en comparar cadenas de caracteres alineadas como enteros; la ALU de enteros puede comparar varios en paralelo Volcados decimal/ascii: Todos los valores pueden imprimirse de izquierda a derecha sin causar confusión. Orden coherente: Los procesadores Big-endian almacenan en el mismo orden los enteros y las cadenas de caracteres ( el byte mas signif. primero). 73 Alternative View of Memory Map 74

38 Alternative View of Memory Map Se prefiere el little-endian por lo siguiente: Un procesador big-endian tiene que efectuar sumas cuando convierte una dirección entera de 32 bits a una de 16 bits, con el objeto de utilizar los bytes menos significativos. Mayor facilidad para realizar operaciones aritméticas de alta precisión al estilo little endian ; no hay que buscar primero el byte menos significativo y luego retroceder. Diferencias son poco significativas y la elección del estilo endian se debe mas a la necesidad de compatibilizar con maquinas anteriores que por otras causas. El POWER PC es un procesador bi-endian. Este permite a los desarrolladores de software elegir uno u 75 otro modo. Orden de los bits Al considerarlos dentro de un byte: 1. Se cuenta el primer bit como bit numero 0 o como nro 1? 2. El numero de bit mas bajo lo asignamos al bit menos significativo del byte ( little-endian) o al mas significativo ( big-endian)? No hay respuestas iguales para todas las maquinas El programador necesita ser consciente para manipular los bits de manera individual. Otro aspecto: transmisión de datos a través de una línea serie. Cuando se transmite un byte individual envía el sistema primero el bit mas significativo, o el menos significativo? El diseñador debe asegurarse de que los bits recibidos son correctamente tratados. 76

39 Standard What Standard? Pentium (80x86), VAX are little-endian IBM 370, Moterola 680x0 (Mac), and most RISC are big-endian Internet is big-endian Makes writing Internet programs on PC more awkward! WinSock provides htoi and itoh (Host to Internet & Internet to Host) functions to convert 77

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

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

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

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

Unidad Nº II Capacidad de la unidad central. de procesamiento. Instituto Universitario Politécnico. Santiago Mariño

Unidad Nº II Capacidad de la unidad central. de procesamiento. Instituto Universitario Politécnico. Santiago Mariño Instituto Universitario Politécnico Santiago Mariño Unidad Nº II Capacidad de la unidad central de procesamiento Organización de instrucción de máquina Cada instrucción requiere la información que necesita

Más 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

Definición(2) La base (r) de un sistema de numeración especifica el número de dígitos o cardinal* de dicho conjunto ordenado. Las bases más utilizadas

Definición(2) La base (r) de un sistema de numeración especifica el número de dígitos o cardinal* de dicho conjunto ordenado. Las bases más utilizadas Sistemas numéricos MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Definición(1) Un sistema de representación numérica es un sistema de lenguaje que consiste en: un conjunto ordenado de símbolos

Más detalles

UNIDAD I. ALGORITMOS

UNIDAD I. ALGORITMOS UNIDAD I. ALGORITMOS 1.1 Definición Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico. 1.2 Tipos Cualitativos: Son aquellos

Más detalles

Expresión, Operador, Operando, Asignación, Prioridad

Expresión, Operador, Operando, Asignación, Prioridad 4. EXPRESIONES Y OPERADORES Conceptos: Resumen: Expresión, Operador, Operando, Asignación, Prioridad En este tema se presentan los siguientes elementos de la programación: las expresiones y los operadores.

Más detalles

Organización del Computador 1. CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017

Organización del Computador 1. CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017 Organización del Computador 1 CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017 Estructura de una máquina von Neumann Ciclo de Ejecución 1. 2. 3. 4. 5. 6. UC obtiene la próxima instrucción de

Más detalles

Representación de la información

Representación de la información Prof. Rodrigo Araya E. raraya@inf.utfsm.cl Universidad Técnica Federico Santa María Departamento de Informática Valparaíso, 1 er Semestre 2006 1 2 3 4 5 Contenido En el mundo que vivimos estamos rodeados

Más detalles

2. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS

2. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS 2. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS 2.1 Tipos De Datos Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como b, un valor entero tal como

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

Universidad Rey Juan Carlos HOJA DE PROBLEMAS TEMA 3: REPRESENTACIÓN DE LA INFORMACIÓN

Universidad Rey Juan Carlos HOJA DE PROBLEMAS TEMA 3: REPRESENTACIÓN DE LA INFORMACIÓN Universidad Rey Juan Carlos Ingeniería Técnica en Informática de Sistemas Estructura y Tecnología de Computadores HOJA DE PROBLEMAS TEMA 3: REPRESENTACIÓN DE LA INFORMACIÓN 1 6. Convertir A05B3D00 dado

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

EJERCICIOS RESUELTOS DEL TEMA 5

EJERCICIOS RESUELTOS DEL TEMA 5 EJERCICIOS RESUELTOS DEL TEMA 5 MULTIPLICACIÓN 1.- Multiplicar los números 27 y -7 utilizando representación binaria en complemento a 2, con el mínimo número posible de bits y empleando el algoritmo apropiado.

Más detalles

+18 = 00010010-18 = 10010010

+18 = 00010010-18 = 10010010 Capítulo 8. Aritmética del Procesador Las dos preocupaciones principales de la aritmética de una computadora son la manera en que se representan los números (el formato binario) y los algoritmos utilizados

Más detalles

en coma flotante Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2006

en coma flotante Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2006 Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2006 4. Representación n de números n en coma flotante Para La números representar fraccionarios números

Más detalles

CAPITULO II. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS

CAPITULO II. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS CAPIULO II. ENIDADES PRIMIIVAS PARA EL DESARROLLO DE ALGORIMOS 2.1 ipos de datos 2.2 Expresiones 2.3 Operadores y operandos 2.4 Identificadores como localidades de memoria OBJEIVO EDUCACIONAL: El alumno:

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

IDENTIDAD EN PRECISIÓN VARIABLE

IDENTIDAD EN PRECISIÓN VARIABLE Contenido INTRODUCCIÓN 3 Motivación 5 Objetivos 9 Conocimiento actual y problemas abiertos 13 Formulación del problema y propuesta de solución 25 IDENTIDAD EN PRECISIÓN VARIABLE 35 Representación de los

Más detalles

ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS Tipos de datos Expresiones Operadores y operandos Identificadores como localidades de memoria

ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS Tipos de datos Expresiones Operadores y operandos Identificadores como localidades de memoria ENIDADES PRIMIIVAS PARA EL DESARROLLO DE ALGORIMOS ipos de datos Expresiones Operadores y operandos Identificadores como localidades de memoria ipos De Datos odos los datos tienen un tipo asociado con

Más detalles

SISTEMAS DE NUMERACIÓN

SISTEMAS DE NUMERACIÓN SISTEMAS DE NUMERACIÓN INDICE. 1. DEFINICIÓN DE SISTEMAS DE NUMERACIÓN.... 1 2. TEOREMA FUNDAMENTAL DE LA NUMERACIÓN... 3 3. SISTEMAS DECIMAL, BINARIO, OCTAL Y HEXADECIMAL.... 5 3.1. SISTEMA DECIMAL...

Más detalles

La velocidad no lleva a ninguna parte si no se va en la dirección correcta. Proverbio Americano. Punto Flotante

La velocidad no lleva a ninguna parte si no se va en la dirección correcta. Proverbio Americano. Punto Flotante La velocidad no lleva a ninguna parte si no se va en la dirección correcta. Proverbio Americano Punto Flotante Elaborado por Prof. Ricardo González A partir de Materiales de las Profesoras Angela Di Serio

Más detalles

Estructura y Tecnología de Computadores. Módulo C. Arquitectura del procesador. Tema 4. Modos de direccionamiento y tipos de datos

Estructura y Tecnología de Computadores. Módulo C. Arquitectura del procesador. Tema 4. Modos de direccionamiento y tipos de datos 1 Estructura y Tecnología de Computadores Módulo C. Arquitectura del procesador Tema. Modos de direccionamiento y tipos de datos José Manuel Mendías Cuadros Dpto.. Arquitectura de Computadores y Automática

Más detalles

Análisis de problemas

Análisis de problemas Análisis de problemas La resolución de problemas implica el desarrollo de habilidades del pensamiento. Nuestra capacidad d de enfrentar problemas aumenta con la práctica. Existen algunos textos con problemas

Más detalles

Tema 5.1: Presentación de datos en pantalla

Tema 5.1: Presentación de datos en pantalla Tema 5.1: Presentación de datos en pantalla El registro de flags del i8086 Instrucciones de transferencia Instrucciones de transferencia de control Instrucciones aritméticas: comparación Representación

Más detalles

Asignatura de Organización de Computadoras. Alberto Hernández Cerezo. Cristian Tejedor García. Rodrigo Alonso Iglesias. Universidad de Valladolid

Asignatura de Organización de Computadoras. Alberto Hernández Cerezo. Cristian Tejedor García. Rodrigo Alonso Iglesias. Universidad de Valladolid Asignatura de Organización de Computadoras ARQUITECTURA MIPS SEGUNDO TRABAJO Alberto Hernández Cerezo Cristian Tejedor García Rodrigo Alonso Iglesias Universidad de Valladolid Segundo de Ingeniería Técnica

Más 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 PROBLEMA 1. Una CPU que emplea un tamaño de palabra de 16 bits tiene un repertorio de 16 instrucciones con

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

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

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

TEMA 5 JUEGO DE INSTRUCCIONES DE UN COMPUTADOR

TEMA 5 JUEGO DE INSTRUCCIONES DE UN COMPUTADOR TEMA 5 JUEGO DE INSTRUCCIONES DE UN COMPUTADOR 1. PROPIEDADES DEL JUEGO DE INSTRUCCIONES DE UN COMPUTADOR. 2. MODOS DE DECCIONAMIENTO. Inmediato. Directo. Absoluto. Relativo. Indirecto. Implícito. Instrucciones

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

Ejercicios Representación de la información

Ejercicios Representación de la información Ejercicios Representación de la información Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenidos 1. Hexadecimal/binario 2. Alfanumérica 3.

Más detalles

k k N b Sistemas Númericos Sistemas con Notación Posicional (1) Sistemas con Notación Posicional (2) Sistemas Decimal

k k N b Sistemas Númericos Sistemas con Notación Posicional (1) Sistemas con Notación Posicional (2) Sistemas Decimal Sistemas con Notación Posicional (1) Sistemas Númericos N b = a n-1 *b n-1 + a n-2 *b n-2 +... + a 0 *b 0 +a -1 *b - 1 + a -2 *b -2 +... + a -m *b -m Sistemas con Notación Posicional (2) N b : Número en

Más detalles

Bloques del programa de la asignatura

Bloques del programa de la asignatura Bloques del programa de la asignatura lases Enfoque Temas 1 1 oncreto Símplez y Símplez+i4 (niveles de máquina convencional y micromáquina) 11 16 General Representación y procesamiento Instrucciones y

Más detalles

Manejo de Entrada-Salida. Arquitectura de Computadoras

Manejo de Entrada-Salida. Arquitectura de Computadoras Manejo de Entrada-Salida Arquitectura de Computadoras Agenda 1.2.3.1Módulos de entrada/salida. 1.2.3.2Entrada/salida programada. 1.2.3.3Entrada/salida mediante interrupciones. 1.2.3.4Acceso directo a memoria.

Más detalles

SISTEMA DE NUMERACIÓN BINARIO

SISTEMA DE NUMERACIÓN BINARIO SISTEMA DE NUMERACIÓN BINARIO Cuando se trabaja en una computadora, los datos son convertidos en números dígitos que, a su vez, son representados como pulsaciones o pulsos electrónicos. En la actualidad

Más detalles

Tema 4. Estructura de un ordenador elemental

Tema 4. Estructura de un ordenador elemental Tema 4. Estructura de un ordenador elemental 4.1. Codicación interna de la información 4.2. Estructura funcional de un ordenador Arquitectura von Neumann Unidades funcionales Conexiones entre unidades

Más detalles

Tema 3 Constantes, Variables y Tipos

Tema 3 Constantes, Variables y Tipos Tema 3 Constantes, Variables y Tipos Contenidos 1. Definiciones. 1.1 Variables y Constantes. 1.2 Identificadores. 2. Declaración de Variables en un Programa en C. 3. Tipos de Datos. 3.1 Clasificación.

Más detalles

DIAGRAMA A BLOQUES DE UNA COMPUTADORA

DIAGRAMA A BLOQUES DE UNA COMPUTADORA DIAGRAMA A BLOQUES DE UNA COMPUTADORA BUS DE DATOS: Interconecta los dispositivos de entrada/salida, la memoria RAM y el CPU. BUS DE DIRECCIONES: Se utiliza para direccional las localidades de memoria

Más detalles

Datos y tipos de datos

Datos y tipos de datos Datos y tipos de datos Dato Representación formal de hechos, conceptos o instrucciones adecuada para su comunicación, interpretación y procesamiento por seres humanos o medios automáticos. Tipo de dato

Más detalles

TEMA V SISTEMAS DE NUMERACIÓN

TEMA V SISTEMAS DE NUMERACIÓN TEMA V SISTEMAS DE NUMERACIÓN En la vida diaria el hombre se expresa, se comunica, almacena y maneja información desde el punto de vista alfabético con un determinado idioma y desde el punto de vista numérico

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

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

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

SESIÓN 1 PRE-ALGEBRA, CONCEPTOS Y OPERACIONES ARITMÉTICAS BÁSICAS

SESIÓN 1 PRE-ALGEBRA, CONCEPTOS Y OPERACIONES ARITMÉTICAS BÁSICAS SESIÓN 1 PRE-ALGEBRA, CONCEPTOS Y OPERACIONES ARITMÉTICAS BÁSICAS I. CONTENIDOS: 1. Introducción: de la aritmética al álgebra. 2. Números reales y recta numérica. 3. Operaciones aritméticas básicas con

Más detalles

Represent. Información. Caracteres Alfanuméricos

Represent. Información. Caracteres Alfanuméricos Representación de la 2009-20102010 Sistemas de Numeración 1 a Representar Qué información necesitamos representar? Caracteres Alfabéticos: A, B,..., Z, a, b,..., z Caracteres numéricos: 0, 1,..., 9 Caracteres

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

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

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

Diagrama a bloques de una computadora

Diagrama a bloques de una computadora Diagrama a bloques de una computadora Memoria Primaria Bus de Datos Bus de Dato s Bus de Direccione s Procesador Bus de Direcciones Memoria Secundaria Unidad de Control ALU Bus Interno Registros Bus de

Más detalles

Unidad de Promoción y Desarrollo Guadiana OBJETIVO GENERAL

Unidad de Promoción y Desarrollo Guadiana OBJETIVO GENERAL Unidad de Promoción y Desarrollo Guadiana OBJETIVO GENERAL Conocer los elementos básicos de un ordenador, identificar sus elementos principales, diferenciando aquellos que forman parte de su hardware y

Más detalles

Modelo de von Neumann

Modelo de von Neumann Conceptos básicos Modelo de von Neumann También conocida como arquitectura de Princeton. Propuesta por John von Neumann en 1945. Partes de una computadora digital: Unidad de procesamiento (CPU unidad central

Más 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

Tema 5. Presentación de datos por pantalla

Tema 5. Presentación de datos por pantalla Tema 5. Presentación de datos por pantalla Laboratorio de Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 24 Índice El registro de flags del i8086

Más detalles

Tema 2. Diseño del repertorio de instrucciones

Tema 2. Diseño del repertorio de instrucciones Enunciados de problemas Tema 2. Diseño del repertorio de instrucciones Arquitectura de Computadores Curso 2009-2010 Tema 2: Hoja: 2 / 10 Tema 2: Hoja: 3 / 10 Base teórica Al diseñar un computador, uno

Más detalles

PROGRAMACIÓN EN ASSEMBLER SIMULADOR MSX88

PROGRAMACIÓN EN ASSEMBLER SIMULADOR MSX88 PROGRAMACIÓN EN ASSEMBLER SIMULADOR MSX88 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

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

Capítulo 9. Conjuntos de Instrucciones

Capítulo 9. Conjuntos de Instrucciones Capítulo 9. Conjuntos de Instrucciones Los elementos esenciales de una instrucción de computadora son el código de operación (opcode), que especifica la operación a ser realizada; las referencias a los

Más detalles

PROGRAMACIÓN ALGORITMOS y DIAGRAMAS

PROGRAMACIÓN ALGORITMOS y DIAGRAMAS PROGRAMACIÓN ALGORITMOS y DIAGRAMAS ALGORITMO DEFINICIÓN: CONSISTE EN LA DESCRIPCIÓN CLARA Y DETALLADA DEL PROCEDIMIENTO A SEGUIR PARA ALCANZAR LA SOLUCIÓN A UN PROBLEMA ESTABLECIENDOSE UNA SECUENCIA DE

Más detalles

MODOS DE DIRECCIONAMIENTO

MODOS DE DIRECCIONAMIENTO MODOS DE DIRECCIONAMIENTO A algunos estudiantes no les parece muy importante el tema de los modos de direccionamiento. Si el objetivo último y principal es procesar de alguna manera (sumar, restar, desplazar,

Más detalles

Los números enteros. > significa "mayor que". Ejemplo: 58 > 12 < significa "menor que". Ejemplo: 3 < 12 Cualquier número positivo siempre es mayor

Los números enteros. > significa mayor que. Ejemplo: 58 > 12 < significa menor que. Ejemplo: 3 < 12 Cualquier número positivo siempre es mayor Los números enteros Los números enteros Los números enteros son aquellos que permiten contar tanto los objetos que se tienen, como los objetos que se deben. Enteros positivos: precedidos por el signo +

Más detalles

Manejo de Entrada-Salida. Arquitectura de Computadoras

Manejo de Entrada-Salida. Arquitectura de Computadoras Manejo de Entrada-Salida Arquitectura de Computadoras Agenda 1.2.3.1Módulos de entrada/salida. 1.2.3.2Entrada/salida programada. 1.2.3.3Entrada/salida mediante interrupciones. 1.2.3.4Acceso directo a memoria.

Más detalles

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

Organización del Computador. Máquina de von Neumann Jerarquía de Niveles Organización del Computador Máquina de von Neumann Jerarquía de Niveles El modelo de Von Neumann Antes: programar era conectar cables (ENIAC) Hacer programas era mas una cuestión de ingeniería electrónica

Más detalles

Organización de Computadoras. Clase 10

Organización de Computadoras. Clase 10 Organización de Computadoras Clase 10 Temas de Clase Memoria Cache Memoria Externa Notas de Clase 10 2 Memoria Caché Históricamente CPU han sido más rápidas que las memorias. El aumento de circuitos que

Más detalles

1. El "cerebro" de la computadora, el CPU, consiste principalmente de varios millones de pequeños interruptores electrónicos, llamados transistores.

1. El cerebro de la computadora, el CPU, consiste principalmente de varios millones de pequeños interruptores electrónicos, llamados transistores. 2 Verdadero/Falso Indique si la oración es verdadera o falsa. 1. El "cerebro" de la computadora, el CPU, consiste principalmente de varios millones de pequeños interruptores electrónicos, llamados transistores.

Más detalles

Capítulo 4 Representación interna de los Datos

Capítulo 4 Representación interna de los Datos Curso Ingreso 013 Carrera Ingeniería en Computación - Facultad de Informática Facultad de Ingeniería Capítulo 4 Representación interna de los Datos Objetivos Los problemas resueltos en los capítulos anteriores

Más detalles

Representación de números enteros: el convenio complemento a uno

Representación de números enteros: el convenio complemento a uno Representación de números enteros: el convenio complemento a uno Apellidos, nombre Martí Campoy, Antonio (amarti@disca.upv.es) Departamento Centro Informàtica de Sistemes i Computadors Escola Tècnica Superior

Más detalles

Capacidad : Número de valores diferentes que puede representar un código. Depende del número de dígitos usados.

Capacidad : Número de valores diferentes que puede representar un código. Depende del número de dígitos usados. CAPITULO Nº2 CÓDIGOS. 2.1 Definiciones. Funciones de la codificación: Transmitir en forma fácil, rápida y segura los datos. Facilitar el procesamiento de datos. Descubrir y corregir errores. Mantener en

Más detalles

Sistemas Operativos. Clase 2: Administración de procesos.

Sistemas Operativos. Clase 2: Administración de procesos. Sistemas Operativos Clase 2: Administración de procesos. Administración de procesos Un concepto muy importante en el ambiente de diseño de todo sistema operativo, es el de proceso o tarea. De manera general,

Más detalles

Tema 05: Tablas hash. M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom

Tema 05: Tablas hash. M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Tema 05: Tablas hash M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Tablas hash o de dispersión Función

Más detalles

TEMA 2. ORGANIZACIONES DE FICHEROS Y ESTRUCTURAS DE ACCESO

TEMA 2. ORGANIZACIONES DE FICHEROS Y ESTRUCTURAS DE ACCESO TEMA 2. ORGANIZACIONES DE FICHEROS Y ESTRUCTURAS DE ACCESO 1. Introducción 2. Conceptos fundamentales de organizaciones de ficheros 3. Dispositivos de almacenamiento secundario 4. Ficheros desordenados

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

POWER PC. Indice ARQUITECTURA DE COMPUTADORES. Antonio del Amo Ruiz. 1. Introducción. 2. Tecnología RISC. 3. Arquitectura de la CPU Power PC

POWER PC. Indice ARQUITECTURA DE COMPUTADORES. Antonio del Amo Ruiz. 1. Introducción. 2. Tecnología RISC. 3. Arquitectura de la CPU Power PC ARQUITECTURA DE COMPUTADORES POWER PC Antonio del Amo Ruiz 1. Introducción 2. Tecnología RISC Indice 3. Arquitectura de la CPU Power PC 4. Modelos del Power PC 5. Comparación entre Power PC, Pentium y

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

Representación de números enteros: el convenio complemento a dos

Representación de números enteros: el convenio complemento a dos Representación de números enteros: el convenio complemento a dos Apellidos, nombre Martí Campoy, Antonio (amarti@disca.upv.es) Departamento Centro Informàtica de Sistemes i Computadors Escola Tècnica Superior

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

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

Tema 3 (III) Fundamentos de la programación en ensamblador

Tema 3 (III) Fundamentos de la programación en ensamblador Tema 3 (III) Fundamentos de la programación en ensamblador Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenidos } Fundamentos básicos de la

Más detalles

Sistemas Electrónicos Digitales

Sistemas Electrónicos Digitales Sistemas Electrónicos Digitales Universidad de Alcalá Curso Académico 2014/2015 Curso 3º Cuatrimestre 1º Ejercicio 1 Se dispone de chips de EEPROM de 2Kx8. Realice la ampliación a 8Kx8 manteniendo una

Más detalles

Arquitectura (Procesador familia 80 x 86 )

Arquitectura (Procesador familia 80 x 86 ) Arquitectura (Procesador familia 80 x 86 ) Diseño de operación Basada en la arquitectura Von Newman Memoria CPU asignadas direcciones I / O BUS: Es un canal de comunicaciones Bus de direcciones: Contiene

Más detalles

Los números naturales

Los números naturales Los números naturales Los números naturales Los números naturales son aquellos que sirven para contar. Se suelen representar utilizando las cifras del 0 al 9. signo suma o resultado Suma: 9 + 12 = 21 sumandos

Más detalles

Ejercicios del tema 4. El procesador

Ejercicios del tema 4. El procesador Ejercicios del tema 4. El procesador Estructura del procesador elemental WepSIM Address Bus Data Bus Control Bus C0 Ta Internal Bus RA RB RC LC MAR T9 Memory MRdy BE ADDR DATA R W A31-A0 BE3-BE0 D31-D0

Más 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

CURSOSO. Aritmética: Númerosnaturalesyenteros. Númerosracionalesyfraciones. MATEMÁTICAS. AntonioF.CostaGonzález

CURSOSO. Aritmética: Númerosnaturalesyenteros. Númerosracionalesyfraciones. MATEMÁTICAS. AntonioF.CostaGonzález CURSOSO CURSOSO MATEMÁTICAS Aritmética: Númerosnaturalesyenteros. Númerosracionalesyfraciones. AntonioF.CostaGonzález DepartamentodeMatemáticasFundamentales FacultaddeCiencias Índice 1 Introducción y objetivos

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

NORMA INFORMACIÓN Y DOCUMENTACIÓN. FORMATOS PARA EL INTERCAMBIO DE LA INFORMACIÓN. International Standard ISO 2709. 1 Campo de aplicación

NORMA INFORMACIÓN Y DOCUMENTACIÓN. FORMATOS PARA EL INTERCAMBIO DE LA INFORMACIÓN. International Standard ISO 2709. 1 Campo de aplicación NORMA En esta Sección se incluyen los proyectos de normas españolas relativas a Información y Documentación, durante el período en que están sometidas a la preceptiva información pública. En este número

Más detalles

Computación I (CI-2125) Clase 1. Prof. Mireya Morales Primera

Computación I (CI-2125) Clase 1. Prof. Mireya Morales Primera Computación I (CI-2125) Clase 1 Prof. Mireya Morales Primera Contenido Justificación del curso Arquitectura del Computador. Definición de Algoritmo. Formas de Representación de Algoritmos. Análisis Descendente.

Más detalles

Divisores Binarios. D = d *Q + R. con la condición de que el resto sea menor que el divisor, es decir 0 R d.

Divisores Binarios. D = d *Q + R. con la condición de que el resto sea menor que el divisor, es decir 0 R d. Divisores Binarios. La operación de división es algo más compleja que la multiplicación, pero también se realiza en la mayoría de computadores mediante un circuito sumador/restador y algún algoritmo adecuado.

Más detalles

Ejercicios del tema 5. Jerarquía de de Memoria

Ejercicios del tema 5. Jerarquía de de Memoria Ejercicios del tema 5. Jerarquía de de Memoria Ejercicio 1. Considere un computador de 32 bits con una caché de 64 KB asociativa por conjuntos de 4 vías y un tiempo de acceso de 4 ns. El tamaño de la línea

Más detalles

Estructura de los sistemas de cómputo

Estructura de los sistemas de cómputo Estructura de los sistemas de cómputo Introducción Elementos básicos de un computador Registro del procesador Ejecución de las instrucciones Interrupciones Hardware de protección Introducción Qué es un

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

TEMA 4 ESTRUCTURA VON-NEUMANN DEL COMPUTADOR DIGITAL

TEMA 4 ESTRUCTURA VON-NEUMANN DEL COMPUTADOR DIGITAL TEMA 4 ESTRUCTURA VON-NEUMANN DEL COMPUTADOR DIGITAL 1. ESTRUCTURA GENERAL DE UN COMPUTADOR VON-NEUMANN. Unidad de memoria (UM) Unidad Aritmético Lógica (UAL) Unidad de control (UC) Buses. Unidades de

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 INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA UNIDAD CULHUACAN INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN LABORATORIO DE CIRCUITOS DIGITALES

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

Introducción a la arquitectura PIC

Introducción a la arquitectura PIC 18 de septiembre de 2012 Contenido 1 Microprocesadores y Microcontroladores 2 3 4 Microprocesadores y Microcontroladores Microcomputadora consiste básicamente de: Unidad central de procesamiento (CPU),

Más detalles