Ya repasamos el repertorio de instrucciones MIPS, que como observamos, es lo suficientemente completo como para implementar cualquier programa.

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

Download "Ya repasamos el repertorio de instrucciones MIPS, que como observamos, es lo suficientemente completo como para implementar cualquier programa."

Transcripción

1 UNIDAD 3: Aritmética de las computadoras Introducción Hasta el momento hemos estudiado algunas métricas para la obtención del rendimiento (segundos, ciclos, instrucciones). También estudiamos el concepto de abstracción y en particular nos interesamos por la abstracción que vincula al hardware con el software de mas bajo nivel, a esta abstracción le denominamos: Arquitectura del repertorio de instrucciones o simplemente Arquitectura de Computadoras. Ya repasamos el repertorio de instrucciones MIPS, que como observamos, es lo suficientemente completo como para implementar cualquier programa. En esta sección iniciaremos con la implementación del hardware, en particular en esta unidad se revisará la aritmética de las computadoras para obtener una Unidad Aritmético Lógica personalizada al repertorio de instrucciones previamente estudiando. Además estudiaremos el mecanismo para realizar multiplicaciones y divisiones con base en nuestra unidad aritmético lógica. Finalmente daremos un repaso a la representación de los números en punto flotante y revisaremos las operaciones de suma y producto en punto flotante. Esbozaremos el hardware que realiza estas operaciones, sin entrar en detalles de la implementación completa Números con signo y sin signo Los humanos preferimos representar a los números en base 10, sin embargo para las computadoras lo mas adecuado es utilizar el sistema binario (base 2). Si para una secuencia de dígitos en cualquier base numérica, se quiere obtener su valor en base 10, debe multiplicarse cada dígito por la base elevada a la posición del dígito dentro del número, de manera que su valor sería d x base i donde i corresponde a la posición de un dígito dentro del número. La posición 0 es la que está mas a la izquierda (menos significativa). Por ejemplo, si tenemos el número 1011 dos, en base 10 nos representa a: (1 x 2 3 ) + (0 x 2 2 ) + (1 x 2 1 ) + (1 x 2 0 ) diez = (1 x 8) + (0 x 4) + (1 x 2) + (1 x 1) diez = diez = 11 diez Sin embargo los números en MIPS utilizan 32 bits, por lo que el número 1011 dos, quedaría representado como:

2 (32 bits de ancho) Los números los representamos colocando el menos significativo a la derecha (posición 0) y al mas significativo a la izquierda (posición 31). Como se utilizan 32 bits para representar un número, entonces podemos representar 2 32 números diferentes, desde el número 0 hasta el (4, 294, 967, 295 diez ) : dos = 0 diez dos = 1 diez dos = 2 diez dos = 4, 294, 967, 293 diez dos = 4, 294, 967, 294 diez dos = 4, 294, 967, 295 diez Es importante tener en mente que los patrones de bits contienen una representación de los números, en realidad tenemos un conjunto infinito de números; solo que es necesario tener una representación para poder operarlos aritméticamente a través de sumas, restas, productos, etc. Puede ocurrir que el resultado de una operación no alcance en los 32 bits dedicados a cada número, cuando eso ocurre, se generará una señal de sobreflujo (overflow), y el sistema operativo o el programa determinarán lo que deben hacer. Los programas de computadora realizan cálculos sobre números positivos y negativos, de manera que necesitamos una representación que haga la distinción de los positivos de los negativos. Una solución obvia consistiría en dedicar uno de los bits para que determine el signo, dejando los 31 bits restantes para la magnitud. A esta representación se le conoce como magnitud y signo, tiene diferentes inconvenientes. En principio, a donde se colocaría el signo, a la derecha o a la izquierda de la magnitud, existen las dos posibilidades. Luego, el hardware que trabaja con números usando magnitud y signo, requiere de un paso extra para la evaluación del signo y la determinación anticipada del signo del resultado. Finalmente, se contaría con dos representaciones para el cero, lo cual se refleja en la programación, por ejemplo en un ciclo repetitivo, si el ciclo termina cuando una variable alcanza el valor de cero, será necesaria una doble comparación. Debido a estos inconvenientes, la idea de representar a los números usando magnitud y signo ha sido descartada. En la búsqueda de otras alternativas se utilizó el complemento de los números positivos para obtener el correspondiente negativo (complemento 1), esta representación tiene la ventaja de que la clasificación de los números es bastante simple, un número positivo tendrá un cero en su bit mas significativo y un número negativo tendrá un uno. Además, al sumar un número con su correspondiente negativo, se tendrá una cadena de 1 s que corresponderá al 0 (0 negativo). Pero se mantiene la desventaja de contar con dos representaciones para el cero.

3 La solución para obtener una representación coherente consiste en sumar 1 a la representación de complemento a 1 (complemento 2), de manera que solo se tendrá una representación para el cero, el bit mas significativo nos indicará el signo del número y la simple operación de sumar un número con su correspondiente negativo nos producirá el número 0. Esta representación es la que actualmente usa la mayoría de computadoras, y funciona correctamente, aunque no está balanceada, porque existe un número negativo más debido a la presencia del cero. Con los 32 bits dedicados a la representación de cada número, la representación en complemento a dos es: dos = 0 diez dos = 1 diez dos = 2 diez dos = 2, 147, 483, 645 diez dos = 2, 147, 483, 646 diez dos = 2, 147, 483, 647 diez dos = - 2, 147, 483, 648 diez dos = - 2, 147, 483, 647 diez dos = - 2, 147, 483, 646 diez dos = - 3 diez dos = - 2 diez dos = - 1 diez La mitad de los números, del 0 al 2, 147, 483, 645 diez (2 31 1), usa la representación mostrada anteriormente (cuando no se había considerado el signo). El siguiente patrón ( dos ) representa al número mas negativo (- 2, 147, 483, 648 diez ) y es seguido por un conjunto decreciente de números negativos: - 2, 147, 483, 647 diez ( dos) hasta el 1 ( dos). Esta representación no esta balanceada por que el número - 2, 147, 483, 648 diez no tiene un número positivo correspondiente. Este hecho llega a ser una preocupación de los desarrolladores de software, en contraparte con la representación de magnitud y signo que además preocupaba a los desarrolladores de hardware. El hecho de que el bit mas significativo indique el signo del número, hace que este bit se comporte como un auténtico bit de signo, de manera que si se quiere obtener el valor en base 10 de cualquier número representado en complemento a 2, el bit de la posición 31 se deberá multiplicar por 2 31 y los restantes 31 bits seguirán el mismo tratamiento que los números sin signo (su valor lo obtendrán de acuerdo con su posición).

4 Ejemplo: Conversión de Binario a Decimal Cuál es el valor decimal del siguiente número en complemento a 2? dos Respuesta: Considerando la posición de cada bit tenemos: (1 x ) + (1 x 2 30 ) + (1 x 2 29 ) (1 x 2 2 ) + (0 x 2 1 ) + (0 x 2 0 ) diez = diez = - 2,147,483, ,147,483,644 diez = - 4 diez Cuando se manejan números en complemento a dos, puede generarse una señal de sobreflujo si el signo del resultado de una operación no corresponde con el signo esperado, por ejemplo, si sumamos dos números positivos relativamente grandes, si el resultado no se puede representar en el conjunto de números positivos, éste tomará una representación que corresponda a un número negativo. En algunos casos, como en el manejo de direcciones de memoria, no es posible usar números negativos, las direcciones de memoria inician en 0 y crecen hacia una dirección mayor. Entonces, los programas en ocasiones manejarán variables que puedan tomar valores positivos o negativos, y en otras ocasiones sólo se requerirán valores positivos. Para hacer esa distinción, los lenguajes de programación incorporan modificadores a los tipos de datos para que puedan ser tratadas adecuadamente; por ejemplo en el lenguaje C, el tipo int es para tratar enteros con signo y el tipo unsigned int es para tratar números sin signo. Las comparaciones tratan con esta dicotomía, si un número tiene un 1 en su bit mas significativo y es tratado en complemento a 2, será un numero negativo y por lo tanto será menor que todos aquellos que tengan 0 en su bit mas significativo. Pero si el mismo número es interpretado como entero sin signo, será mayor que todos aquellos que tengan 0 en su bit mas significativo. Estas situaciones deben resolverse a nivel de hardware, en el caso de MIPS se consideran diferentes variantes de la instrucción slt (set on less than), tanto slt como slti trabajan con enteros sin signo, pero sltu (set on less than unsigned) y sltiu (set on less than immediate unsigned) trabajan con enteros sin signo. Ejemplo: Comparación con signo y sin signo

5 Supongamos que el registro $s0 tiene el número binario dos y que el registro $s1 tiene el número binario dos Cuáles son los valores de los registros $t0 y $t1 después de las instrucciones? slt $t0, $s0, $s1 sltu $t1, $s0, $s1 Respuesta: Para la instrucciones slt los números se consideran en complemento 2, de manera que $s0 tiene un número negativo (-1), que es menor al número 1 contenido en $s1, por lo que $t0 tendrá 1. Pero para la instrucciones sltu los números son tratados sin signo, entonces $s0 tiene al número positivo 4, 294, 967, 295 diez, que definitivamente es mayor que 1, entonces $t1 tendrá 0. Cuando se trabaja en complemento a 2, para obtener la versión negativa (o positiva) a partir de un número positivo (o negativo), la forma mas simple para hacerlo consiste en complementar cada uno de los bits (cambiar 1 s por 0 s y 0 s por 1 s) y luego sumar 1. Esta idea se justifica por el hecho de que cuando sumamos un número con su complemento obtenemos una cadena de 32 unos (que representa al 1). De manera que x + x = -1 que es equivalente a x + x + 1 = 0, de donde obtenemos - x = x + 1 que nos indica que el negado de un número es igual al complemento del mismo mas 1. Ejemplo: Negación. Negar el 2 diez y verificar el resultado negando 2 diez Respuesta: 2 diez = dos Para negarlo lo complementamos y luego le agregamos 1: dos + 1 dos = dos = - 2 diez

6 En la otra dirección: - 2 diez = dos Primero lo complementamos y luego de agregamos 1: dos + 1 dos = dos = 2 diez Otra idea que habrá que considerar durante la implementación es la siguiente, en el repertorio estudiado se consideraron instrucciones que manejan constantes de 16 bits. Cuando estas constantes son operadas por medio de la ALU con otro operando de 32 bits, que ocurre con los 16 bits que completan a la constante, Cuál debe ser su valor? Si se trabajan números en complemento a 2, su valor dependerá del bit mas significativo de la constante (el bit 15) si este bit es 0 no hay problema, se completa con 0 s y la magnitud se conserva (los 0 s a la derecha no tienen valor), pero si se trata de un 1, al completar con 1 s, también se conservará la magnitud? Si, se conserva la magnitud por que al extender a 32 bits se debe seguir manteniendo el hecho de que un número sumado a su complemento debe generar una cadena de 32 unos, de manera que si en un número positivo se tiene una cantidad infinita de 0 s a su derecha, en un número negativo se debe tener un número infinito de 1 s a su derecha. Finalmente, en ocasiones resulta mas fácil utilizar al sistema octal o al hexadecimal para la representación y manipulación de los números, esto por que la cantidad de símbolos existentes en estas bases corresponde a una cantidad exacta de combinaciones de 3 y 4 bits respectivamente. Las bases octal y hexadecimal pueden considerarse como una forma abreviada de representar a los números en binario, cada dígito en octal corresponderá a 3 bits y cada dígito en hexadecimal tendrá una correspondencia de 4 bits. Y viceversa, por cada 3 bits puede obtenerse un dígito octal y por cada 4 uno hexadecimal. 3.3.Suma y resta Las sumas en binario se realizan de la misma manera en que las realizamos en base 10, es decir, de derecha a izquierda se va sumando dígito a dígito y si se el resultado es mayor al dígito mas grande (9 en base 10 y 1 en base 2), se produce un acarreo que debe sumarse en el dígito siguiente. Entonces, al sumar dos bits debe tomarse en cuenta un posible acarreo en la entrada o bien la generación de un acarreo en la salida. En la tabla 3.1 se muestran todas las posibles combinaciones que pueden ocurrir al sumar un dígito a con un dígito b, el resultado de la suma se coloca en el dígito s, también se considera la presencia de un acarreo en la entrada y la generación de un acarreo de salida.

7 a b cin s cout Tabla 3.1 Comportamiento de la suma Al sumar dos palabras de 32 bits, solo se va aplicando la tabla de derecha a izquierda, y los acarreos generados se suman al siguiente bit mas significativo: La resta también podría realizarse de derecha a izquierda, bit a bit, considerando que algunas veces será necesario tomar prestado un 1 del dígito mas significativo, cuando el minuendo es menor que el sustraendo. Sin embargo a nivel de hardware esto es mas díficil, lo mas simple es obtener la versión negativa del número a restar, y después realizar una suma. Ejemplo: Suma y resta binaria. Sumar 37 diez + 45 diez en binario y después restar 37 diez de 45 diez. Respuesta: dos = 37 diez dos = 45 diez = dos = 82 diez Para la resta, emplearemos el complemento 2 de 37 diez (para obtener 37 diez ) y luego lo sumaremos al 45 diez : dos + 1 dos dos = - 37 diez

8 dos = 45 diez dos = - 37 diez dos = 8 diez El 1 que aparece mas a la izquierda se ignora, por que el resultado debe quedar en 32 bits, no es un sobreflujo o desbordamiento. Cuando se realizan sumas o restas, solo en algunos casos tiene sentido hablar de sobreflujo. Sobre todo cuando se trabaja en complemento a 2, por ejemplo, si sumamos dos números positivos grandes, esperamos que el resultado sea positivo, pero si la cantidad de bits no es suficiente para la representación del resultado, entonces se desbordará hacia un número negativo. En la tabla 3.2 se muestra un resumen de los casos en los que si se considera la existencia de un sobreflujo. Operación Operando A Operando B Resultado (Indicación de sobreflujo) A + B 0 0 < 0 A + B < 0 < 0 0 A B 0 < 0 < 0 A B < Tabla 3.2 Situaciones de sobreflujo El diseñador de la máquina debe por lo tanto proporcionar una forma para ignorar el sobreflujo en algunos casos y reconocerlo en otros. La solución para MIPS es contar con dos clases de instrucciones aritméticas para reconocer estas dos posibilidades: La suma (add), la suma inmediata (addi) y la resta (sub) producen una excepción si ocurre un sobreflujo. La suma sin signo (addu), la suma inmediata sin signo (addiu) y la resta sin signo (subu) no producen excepciones debidas a los sobreflujos. Puesto que en el lenguaje C se ignoran los desbordamientos, los compiladores para MIPS siempre generarán las versiones sin signo de las instrucciones aritméticas addu, addiu y subu no importa el tipo de las variables. Los compiladores MIPS de Fortran, sin embargo, seleccionan las instrucciones aritméticas apropiadas, dependiendo del tipo de operando. Un sobreflujo en MIPS producirá una excepción, algunas veces también conocida como interrupción en muchas computadoras. Una excepción o interrupción es esencialmente una llamada a un procedimiento que no estaba proyectada. La dirección de la instrucción en la que ocurrió el sobreflujo es almacenada en un registro, y se produce un salto a una dirección predefinida para invocar al procedimiento encargado de manejar la excepción. La dirección en la que ocurrió la excepción se salva de manera que sea posible continuar con la ejecución del programa después de ejecutar algún código correctivo.

9 En MIPS se incluye a un registro llamado contador del programa para las excepciones (EPC) el cual contendrá la dirección de la instrucción que ocasionó la excepción. También se cuenta con la instrucción mover desde el control del sistema (mfc0) que sirve para copiar el contenido del registro EPC en un registro de propósito general de manera que el software tiene la opción de regresar a la instrucción infractora a través de un salto a registro Operaciones lógicas Aunque las primeras computadoras se centralizaron sobre palabras completas, pronto llego a ser claro que es útil operar sobre campos de bits dentro de una palabra o aún sobre los bits individuales. Un ejemplo lo encontramos al manipular caracteres dentro de una palabra, debido a que cada carácter utiliza ocho bits, se observa que se requiere de instrucciones por medio de las cuales sea posible empaquetar y desempaquetar los bits dentro de las palabras. Una clase de estas operaciones son los desplazamientos (shifts). Con ellos se mueven todos los bits de una palabra a la izquierda o derecha, llenando los bits vacíos con 0s. Por ejemplo, si el registro $s0 contiene dos y una instrucción de un desplazamiento a la izquierda por ocho es ejecutada, el nuevo valor que tomará esta palabra será dos El dual de un desplazamiento a la izquierda es un desplazamiento hacia la derecha. En MIPS las instrucciones para los desplazamientos son sll desplazamiento lógico a la izquierda ( shift left logical ) y srl desplazamiento lógico a la derecha (shift right logical). La instrucción para realizar la operación anterior, suponiendo que el resultado se almacenará en el registro $t0, es sll $t0, $s0, 8 # reg $t0 = reg $s0 << 8 bits En la sección 2.3 (Representación de instrucciones), para las instrucciones Tipo R se mencionó la existencia del campo shamt (shift amount) pero no consideramos su uso. Este campo solo es utilizado por las instrucciones de desplazamientos e indica la cantidad de desplazamiento. Para estas instrucciones el registro rs es ignorado y se llena con 0s, rt es el registro que será desplazado y rd es el registro destino. La instrucción anterior tendría la siguiente representación: op rs rt rd shamt funct El campo de funct debe tener 0 para sll y 2 para srl.

10 Otras operaciones útiles son la AND y la OR, estas operaciones se aplican bit a bit. La AND es comúnmente utilizada para aplicar una máscara a un registro, puesto que la AND va a colocar un 1 en el bit resultante si los dos bits sobre los que se aplica tienen 1s. La máscara se realiza colocando 1s en aquellas posiciones que se quiera dejar pasar, y 0s en los bits que se van a eliminar (contendrán 0s). Por ejemplo, si el registro $t0 contiene: dos y si el registro $t1 contiene dos Al realizar la operación: and $t2, $t1, $t0 El registro $t1 esta funcionando como una máscara que deja pasar los 16 bits intermedios y oculta al resto. El resultado en $t2 será: dos En el caso de la OR, en el resultado se obtendrá un 1 si alguno de los bits sobre los que se aplica tiene 1. La operación: dejará en $t2: or $t2, $t1, $t dos En la tabla 3.3 se muestran las operaciones lógicas y su correspondiente instrucción MIPS. Debido a que las constantes también son utilizadas en operaciones lógicas, se incluyen versiones inmediatas para la AND y la OR. Operación Lógica Operador en C Instrucción MIPS Desplazamiento a la izquierda << sll Desplazamiento a la derecha >> srl AND bit a bit & and, andi OR bit a bit or, ori Tabla 3.3 Las operaciones lógicas y sus correspondientes operaciones en C y MIPS El lenguaje C permite definir campos de bits dentro de palabras, permitiendo empaquetar diversos objetos dentro de una palabra para que exista compatibilidad con algunos

11 dispositivos I/O. Los campos pueden tener la longitud de un bit, y el compilador debe colocarlos dentro palabras utilizando las operaciones lógicas: and, or, sll y srl. Ejemplo: Campos de Bits. El siguiente código C ubica tres campos dentro de una palabra etiquetada receiver: Un campo de 1 bit denominado ready, un campo de un bit denominado enable, y un campo de 8 bits denominado receivedbyte. Se copia receivedbyte dentro de data, se ajusta ready a 0, y se ajusta enable a 1. int data; struct { unsigned int ready: 1; unsigned int enable: 1; unsigned int receivedbyte: 8; } receiver;... data = receiver.receivedbyte; receiver.ready = 0; receiver.enable = 1; Cuál es el correspondiente código MIPS? Suponga que data y receiver están ubicados en $s0 y $s1. Respuesta: C alinea los campos a la derecha: receivedbyte enable ready Primero se debe copiar el campo de 8 bits (receivedbyte) a data y aislarlo: slr $s0, $s1, 2 # Se desplaza y copia en data andi $s0, $s0, 0x00ff # Se usa una máscara que elimina la información # no deseada Luego se realizan los ajustes: andi $s1, $s1,0xfffe # Bit 0 ajustado a 0 ori $s1, $s1,0x0002 # Bit 1 ajustado a 1

12 Las instrucciones addi y ori trabajan con números con signos, de manera que para poder operar en una ALU de 32 bits, las constantes se extienden a 32 bits extendiendo el bit de signo Construcción de una Unidad Aritmético-Lógica La Unidad Aaritmético-Lógica (ALU) es la fuerza física de la computadora, el dispositivo que realiza las operaciones aritméticas como la suma y resta; y operaciones lógicas como la AND y OR. En esta sección construiremos una ALU basada en los 4 componentes mostrados en la figura 3.1, los componentes enumerados con 1, 2 y 4 tienen dos entradas, en ocasiones tal vez sea necesario ampliar el numero de entradas, por lo que habrá que expandir la tabla del comportamiento. Fig. 3.1 Los cuatro componentes en los que se fundamentará la construcción de la ALU Debido a que MIPS trabaja con palabras de 32 bits, la ALU a construir deberá contar con operandos de 32 bits, para ello primero se realizará el diseño de una ALU de 1 bit, para después utilizar 32 bloques basados en esa ALU de 1 bit.

13 ALU de 1 Bit Iniciemos con una unidad lógica que incluya las operaciones AND y OR, en la figura 3.2 se muestra que para las entradas a y b es posible seleccionar una operación lógica por medio de la entrada de operación en el multiplexor, si operación es igual a 0, en la salida tendremos a AND b, pero si operación es igual con 1, la salida tendrá a OR b. Fig. 3.2 Unidad lógica con AND y OR La siguiente función a incluir es la suma. En la tabla 3.1 se mostró el comportamiento de un sumador completo, de manera que el sumador lo podemos ver como un bloque con 3 entradas y dos salidas, como se muestra en la figura 3.3. En este bloque, tanto la salida sum como la salida CarryOut se producen con dos circuitos combinacionales, revisaremos el circuito correspondiente a CarryOut. Fig. 3.3 Bloque sumador de 1 Bit. La señal CarryOut es verdadera en 4 ocasiones, que tomaremos de la tabla 3.1, para mostrarlas en la tabla 3.4: a b CarryIn CarryOut Tabla 3.4 Comportamiento de CarryOut Utilizando el símbolo + para la operación lógica OR y el para la AND, se tienen que: CarryOut = (b CarryIn) + (a CarryIn) + (a b) + (a b CarryIn)

14 Si (a b CarryIn) es verdadero, entonces todos los demás términos son verdaderos, de manera que podemos olvidarnos de este término, que corresponde a la cuarta línea de la tabla 3.4 para simplemente tener: CarryOut = (b CarryIn) + (a CarryIn) + (a b) Esta expresión requiere de una compuerta OR de tres entradas y 3 compuertas AND de dos entradas, su implementación es: Fig. 3.4 Hardware para la señal CarryOut del sumador de 1 bit La expresión para la suma se puede obtener de la tabla 3.1 y es: Sum = (a b CarryIn ) + (a b CarryIn ) + (a b CarryIn) + (a b CarryIn) Donde a es igual a NOT(a); la implementación del circuito para la suma es parte de la tarea. Manejando al sumador como un bloque, se implementa a la ALU de 1 Bit, como se muestra en la figura 3.5, la cual realiza las operaciones de AND, OR y ADD. El multiplexor en figura 3.5 es de 3 entradas, de manera que requiere de dos líneas de operación, de las cuales hasta el momento solo se utilizarán tres combinaciones. Fig. 3.5 ALU de 1 bit, capaz de realizar las operaciones AND, OR y ADD.

15 ALU de 32 Bits El bloque mostrado en la figura 3.5 puede repetirse 32 veces para la construcción de una ALU de 32 bits, la señal de acarreo generada como salida en el bloque i va a corresponder al acarreo de entrada en el bloque i + 1. Esta forma de conectar las señales de acarreo nos produce un sumador poco eficiente conocido como Sumador de acarreo extendido (ripple carry adder). Mas adelante mostraremos otra técnica en la que se buscará generar al acarreo de manera mas rápida. Todos los bloques comparten las señales de operación. Fig. 3.6 ALU de 32 bits, capaz de realizar las operaciones AND, OR y ADD. La resta equivale a la suma con el negado del segundo operando, así es como el hardware realiza las restas. De manera que para realizar una resta se sumará el complemento a 2 del segundo operando. Para eso es necesario un inversor con el que se obtenga el complemento y un multiplexor para seleccionar entre el operando o su complemento. En la figura 3.7 se

16 muestra al inversor que se agrega para obtener el complemento de b. Pero además es necesario sumar 1, esto simplemente se hace colocando 1 al acarreo de entrada del bit menos significativo. Fig. 3.7 ALU de 1 bit, con la entrada Binvert se selecciona entre b y su complemento. Otra instrucción importante que se incorpora en MIPS es slt (set on less than), esta instrucción requiere de tres argumentos (slt reg1, reg2, reg3) y coloca un 1 en reg1 si resulta que reg2 es menor que reg3. Reg1 = 1 si reg2 < reg3, que es equivalente a reg2 - reg3 < 0. Lo que indica que una buena opción para la comparación consiste en realizar la resta reg2 reg3 y luego evaluar el resultado; en el resultado no importa la magnitud, lo que importa es saber si es o no menor que 0, lo cual queda directamente determinado por el bit mas significativo. Si el bit mas significativo tiene 1, el resultado de la operación slt deberá ser 1, y si es 0 el resultado deberá ser 0. La instrucción slt es otra operación mas para la ALU, de manera que el multiplexor de la salida deberá incrementarse con una entrada mas. Estas ideas se muestran en la figura 3.8, en donde el multiplexor se ha incrementado y la nueva entrada se incorpora desde fuera del bloque de la ALU (la entrada etiquetada como less) (fig. 3.8 a). Sin embargo para el bit 31 (el más significativo) se genera una salida (etiquetada como set) que corresponde al bit de signo del resultado (fig. 3.8 b). Esta salida se retroalimentará a la entrada less del bit 0, mientras que para los otros bits (del 1 al 31), la entrada less estará conectada directamente a tierra, para que mantenga un cero en forma permanente. En la figura 3.9 se muestra la retroalimentación de set a la entrada less del bit menos significativo, así como los 0s en las demás entradas less. Otra idea interesante que se presenta en la figura 3.8 (b) es la presencia de la unidad de detección de sobreflujo, el objetivo de este bloque es generar una bandera (señal de 1 bit) que indique la existencia de un sobreflujo, para ello es necesario conocer los signos de los operandos ( a 31 y b 31 ), el tipo de operación (Binvert), el signo del resultado y tal vez la existencia de un acarreo en el bit mas significativo. El comportamiento de este circuito puede basarse en el comportamiento de la suma descrito en la tabla 3.2.

17 Binvert CarryIn Operation a 0 1 b 0 2 Result 1 Less 3 a. CarryOut Binvert CarryIn Operation a 0 1 b 0 2 Result 1 Less 3 Set b. Overflow detection Overflow Fig. 3.8 El valor del bit mas significativo se usará para la instrucción slt, en a) se muestra la estructura de los 31 bits menos significativos y en b) la estructura del bit mas significativo En la figura 3.9 se muestra la conexión de las 32 ALUs de 1 bits, las primeras 31 tienen la misma construcción, la última difiere un poco por la presencia de la unidad de detección de sobreflujo y por que de ahí se toma la salida set que se retroalimenta al bit 0.

18 Binvert CarryIn Operation a0 b0 CarryIn ALU0 Less CarryOut Result0 a1 b1 0 CarryIn ALU1 Less CarryOut Result1 a2 b2 0 CarryIn ALU2 Less CarryOut Result2 CarryIn a31 b31 0 CarryIn ALU31 Less Set Result31 Overflow Fig. 3.9 ALU de 32 Bits, capaz de realizar sumas, restas, AND, OR y slt. También puede indicar la existencia de un sobreflujo. El acarreo de entrada sólo se ocupa para las restas, y su comportamiento es el mismo que el de la entrada Binvert, si la entrada Binvert tiene 1, indica que se realizará una resta, y para la obtención correcta del complemento 2, debe sumarse 1. Por lo que la entrada CarriIn del sumador de los bits menos significativos debe tener 1. Pero si la entrada de Binvert es 0, se trata de una suma, y para que el resultado sea correcto, la entrada CarryIn deberá tener 0. Por lo tanto, las entradas Binvert y CarryIn pueden conectarse en una sola, a la cual se llamaremos Bnegado como se muestra en la figura También en la figura 3.10 se muestra la generación de la bandera de zero, la cual será verdadera (contendrá 1) si el resultado de cualquier operación es igual a 0. La idea de la generación de esta bandera es bastante simple, cuando las 32 salidas de las ALUs de 1 bit tengan 0, la OR que las une producirá un 0 y por lo tanto el inversor que le sigue lo transformará a 1. Pero si alguna de las salidas tiene un valor 1, la OR generará un 1 y el inversor lo transformará a 0.

19 Fig ALU de 32 Bits, capaz de realizar sumas, restas, AND, OR y slt. Con banderas de zero y de sobreflujo. La ALU mostrada en la figura 3.10 tiene 3 líneas de control, si concatenamos a la entrada Bnegado con las entradas de operación (poniendo a la entrada Bnegado como bit mas significativo), el comportamiento de la ALU lo podemos resumir como se muestra en la tabla 3.5. Líneas de Control de la ALU Función 000 And 001 Or 010 Suma 110 Resta 111 Slt Tabla 3.5 Comportamiento de la ALU

20 La ALU la representaremos con su símbolo tradicional, como se muestra en la figura 3.11, donde las entradas a y b son de 32 bits, la entrada ALU Operación es de 3 bits, la salida Result es de 32 bits, y las salidas Zero, Overflow y CarryOut son todas de 1 bit. Anticipación del acarreo. Fig ALU de 32 Bits, cuyo comportamiento se describe en la tabla 3.5 El sumador que se incorporó a la ALU de 32 bits (Sumador de acarreo extendido) es poco eficiente debido a que la generación del último acarreo no se podrá hacer, mientras no se hayan generado los 31 acarreos menos significativos. Por que el acarreo de cada bit se va propagando hasta alcanzar al último bit. Esto es, el acarreo se va generando en forma secuencial, en cada sumador de 1 bit. Existe una variedad de esquemas que permiten la generación anticipada del acarreo, estos esquemas son mas rápidos que el acarreo extendido por que viajan por menos compuertas. Algunos resultados aceptables producen el acarreo en un orden log 2 del número de bits a sumar. La anticipación de acarreo es posible, por que a diferencia del software, el hardware puede trabajar en paralelo, mucha compuertas pueden compartir entradas y todas trabajaran cuando existan cambios en tales entradas. Acarreo rápido usando Hardware Infinito De acuerdo con los principios del álgebra Booleana, cualquier función la podemos expresar como una suma de productos, o bien como un producto de sumas, por lo que para su implementación en ambos casos, requeriría de dos niveles de compuertas. Por ejemplo, para el acarreo de entrada en el sumador 2, el cual es exactamente el acarreo de salida del bit 1, se tendría: CarryIn2 = (b1 CarryIn1) + (a1 CarryIn1) + (a1 b1)

21 Similarmente, CarryIn1 está definido como: CarryIn1 = (b0 CarryIn0) + (a0 CarryIn0) + (a0 b0) Usando solo c en lugar de CarryIn, podemos rescribir las dos expresiones anteriores como: c2 = (b1 c1) + (a1 c1) + (a1 b1) c1 = (b0 c0) + (a0 c0) + (a0 b0) Sustituyendo el resultado encontrado para c1 en la expresión de c2 se tiene: c2 = (b1 ( (b0 c0) + (a0 c0) + (a0 b0)) ) + (a1 (b0 c0) + (a0 c0) + (a0 b0) ) + (a1 b1) c2 = (a1 a0 b0) + (a1 a0 c0) + (a1 b0 c0) + (b a0 b0) + (b1 a0 c0) + (b1 b0 c0) + (a1 b1) Esta expresión es sólo para el 2º. bit, pero la ecuación crece exponencialmente con el número de bits, de manera que si se pretende usar este esquema, el costo de la implementación de la unidad de anticipación de acarreo, debido a su gran número de compuertas, será mayor que el costo del resto de la ALU. Usando abstracciones en la obtención del acarreo, para Generar y Propagar. En este esquema se complican un poco las ecuaciones con la finalidad de simplificar al Hardware. Para el acarreo 2 se obtuvo la expresión: c2 = (a1 b1) + (a1 + b1) c1 y para acarreo 1: c1 = (a0 b0) + (a0 + b0) c0 En general el acarreo i + 1 depende del acarreo i de acuerdo a la expresión: ci+1 = (ai bi) + (ai + bi) ci El primer término indica la generación de un acarreo en el bloque i, por lo que le llamaremos gi; el segundo termino indica que el acarreo ci se va a propagar si su coeficiente de propagación es verdadero, a este coeficiente le llamaremos pi. De manera que: gi = ai bi pi = ai + bi Usando estas definiciones tenemos que: ci+1 = gi + pi ci

22 Esta expresión indica que habrá un acarreo a la salida del bloque i, si éste fue generado dentro del bloque o si este ya existía (en ci) y se dieron las condiciones para su propagación. Tomando las definiciones de generación y propagación como abstracciones, podemos obtener de manera simplificada los primeros 4 acarreos: c1 = g0 + (p0 c0) c2 = g1 + (p1 g0) + (p1 p0 c0) c3 = g2 + (p2 g1) + (p2 p1 g0) + (p2 p1 p0 c0) c4 = g3 + (p3 g2) + (p3 p2 g1) + (p3 p2 p1 g0) + (p3 p2 p1 p0 c0) Estas ecuaciones representan el sentido común: CarryIni es 1 si algún sumador cercano lo generó y todos los sumadores intermedios lo propagaron. Una analogía con una tubería de agua se muestra en la figura 3.11 para dar claridad a estas ideas. Fig Una tubería como analogía para mostrar la anticipación del acarreo para 1 bit, 2 bits y 4 bits. El acarreo va a existir (existirá agua en la salida) si fue generado (se abrió alguna de las llaves g), o si existía un acarreo inicial y se dieron las condiciones para su propagación (todas las llaves p se abrieron).

23 Otro nivel de abstracción para Acarreos rápidos. Con las ecuaciones anteriores se demuestra que con un poco mas de Hardware, es posible generar acarreos rápidos para sumadores de 4 bits. Si conectamos 4 sumadores como bloques de un Sumador de acarreo extendido, obtendremos un sumador de 16 bits mas rápido que si el acarreo se arrastrase por los 16 bits. Para mejorarlo aún mas, es posible usar la anticipación en un nivel mas alto. Para obtener el acarreo anticipado en sumadores de 4 bits, necesitamos generar y propagar señales en este nivel mas alto. La propagación para bloques con sumadores de 4 bits será posible si todos los bits dentro de un bloque la hacen posible, esto es: P0 = p3 p2 p1 p0 P1 = p7 p6 p5 p4 P2 = p11 p10 p9 p8 P3 = p15 p14 p13 p12 Cada P i representa una súper propagación en un sumador de 4 bits. Para la generación debe considerarse que será verdadera si se generó en el bit mas significativo, o si se generó en uno de los bits inferiores al mas significativo, y durante las etapas intermedias se realizó su propagación. G0 = g3 + (p3 g2) + (p3 p2 g1) + (p3 p2 p1 g0) G1 = g7 + (p7 g6) + (p7 p6 g5) + (p7 p6 p5 g4) G2 = g11 + (p11 g10) + (p11 p10 g9) + (p11 p10 p9 g8) G3 = g15 + (p15 g14) + (p15 p14 g13) + (p15 p14 p13 g12) Cada G i representa una súper generación en un sumador de 4 bits. Una analogía con una tubería, para estas nuevas versiones de generación y propagación, se muestra en la figura 3.12 para dar claridad a estas ideas. Entonces, en un nivel de abstracción mas alto, es posible escribir las ecuaciones de los acarreos de salida de cada bloque de 4 bits. C1 = G0 + (P0 c0) C2 = G1 + (P1 G0) + (P1 P0 c0) C3 = G2 + (P2 G1) + (P2 P1 G0) + (P2 P1 P0 c0) C4 = G3 + (P3 G2) + (P3 P2 G1) + (P3 P2 P1 G0) + (P3 P2 P1 P0 c0) Puede notarse que estas ecuaciones son iguales a las ecuaciones en minúsculas mostradas anteriormente, excepto por que se trata de otro nivel de abstracción, en el cual cada C i corresponde al acarreo de un bloque de 4 bits. En la figura 3.13 se muestra un sumador de 16 bits (a bloques), resaltando el bloque por medio del cual se procesan los acarreos de cada sumador de 4 bits, para generar el acarreo de los 16 bits.

24 Fig La tubería como analogía para mostrar la anticipación del acarreo, en otro nivel de abstracción. P0 estará abierto sólo si todas las p i ( i = 0.. 3) están abiertas; además fluirá agua en G0 si al menos una g i esta abierta y las p i permiten su propagación. Fig Se utilizan ALUs de 4 bits para anticipar el acarreo de un sumador de 16 bits.

25 Tarea 6 1. Convertir 512 diez, diez y diez en números binarios en complemento Qué números en decimal representan los números en complemento 2 siguientes: dos dos dos 3. Por que MIPS no tiene una instrucción de resta inmediata? 4. Encontrar la secuencia mas corta de instrucciones MIPS para determinar si existió acarreo de salida después de la suma de dos registros, supongamos que $t3 se sumó con $t4 y el resultado se almacenó en $t5. Colocar 0 o 1 en $t2 el acarreo de salida es 0 o 1, respectivamente (Sugerencia: Esto puede hacerse en dos instrucciones). 5. Dos amigos, Enrique y Beto están en desacuerdo. Enrique dice Todos los enteros mayores que cero y exactamente divisibles por 6 tienen exactamente dos 1s en su representación binaria. Beto no esta de acuerdo, él dice No, pero tales números tienen un número par de 1s en su representación. Estas de acuerdo con Enrique, con Beto o con ninguno de los dos? 6. Para el sumador completo de 1 bit (fig. 3.3), se desarrolló el hardware correspondiente a CarryOut, muestre el hardware necesario para implementar la señal sum. 7. En la figura 3.8 b se muestra como un bloque a la Unidad de Detección de Sobreflujo, obtenga el circuito por medio del cual se generaría la señal overflow, de acuerdo a su comportamiento. 8. Esquema de Anticipación de acarreo. Se quiere sumar: a: dos b: dos Determinar los valores de gi, pi, Pi y Gi con los dos números y encuentre CarryOut14 (C4).

Realizar la siguiente suma y expresar el resultado en hexadecimal: Teniendo los 3 valores expresados en la misma base, podemos realizar la suma:

Realizar la siguiente suma y expresar el resultado en hexadecimal: Teniendo los 3 valores expresados en la misma base, podemos realizar la suma: Realizar la siguiente suma y expresar el resultado en hexadecimal: 83/ d + 33/ 4 + 0/ b El primer paso consiste en expresar todos lo valores con la misma base. Para eso convertiremos los dos primeros valores

Más detalles

Aritmética de Enteros

Aritmética de Enteros Aritmética de Enteros La aritmética de los computadores difiere de la aritmética usada por nosotros. La diferencia más importante es que los computadores realizan operaciones con números cuya precisión

Más detalles

Oliverio J. Santana Jaria. Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Los objetivos de este tema son:

Oliverio J. Santana Jaria. Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Los objetivos de este tema son: 3. Circuitos aritméticos ticos Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 Introducción La realización de operaciones aritméticas y lógicas

Más detalles

UNIVERSIDAD DE CORDOBA ESTRUCTURA DE COMPUTADORAS UNIDAD III

UNIVERSIDAD DE CORDOBA ESTRUCTURA DE COMPUTADORAS UNIDAD III ARITMETICA PARA COMPUTADORAS 1.- INTRODUCCION Objetivo Estudio de uno de los Componentes Clásicos de una Computadora Unidad Aritmético Lógica (ALU) Partes a estudiar Representación de los números negativos

Más detalles

4. Aritmética y operadores

4. Aritmética y operadores Fundamentos de Computadores Ingeniería de Telecomunicación Departamento de Automática Escuela Politécnica Superior Curso académico 2009 2010 Contenidos 1 Aritmética y lógica 2 3 4 Introducción Aritmética

Más detalles

Circuitos electrónicos digitales. Unidades Aritméticas Lógicas. Departamento de Tecnología Electrónica Universidad de Sevilla

Circuitos electrónicos digitales. Unidades Aritméticas Lógicas. Departamento de Tecnología Electrónica Universidad de Sevilla Circuitos electrónicos digitales Unidades Aritméticas Lógicas Índice Introducción Circuitos sumadores básicos Sumador paralelo de n bits Sumador/Restador Unidad aritmético-lógica (ALU) Introducción Los

Más detalles

LÓGICA SECUENCIAL Y COMBINATORIA

LÓGICA SECUENCIAL Y COMBINATORIA LÓGICA SECUENCIAL Y COMBINATORIA SESIÓN # 2 1.4 Conversión de otra base a decimal. En los sistemas numéricos posicionales, la conversión de otra base a decimal se hace con el método de la suma [3]. Este

Más detalles

Arquitecaura de Computadoras Tema 1 - Introducción a la Arquitectura de Computadoras

Arquitecaura de Computadoras Tema 1 - Introducción a la Arquitectura de Computadoras 1121025 Arquitecaura de Computadoras - Introducción a la Arquitectura de Computadoras Eduardo Rodríguez Martínez Departamento de Electrónica División de Ciencias Básicas e Ingeniería Universidad Autónoma

Más detalles

Sistemas Numéricos y Códigos Binarios

Sistemas Numéricos y Códigos Binarios Sistemas Numéricos y Códigos Binarios Marcelo Guarini Departamento de Ingeniería Eléctrica, 5 de Abril, 5 Sistemas Numéricos en Cualquier Base En el sistema decimal, cualquier número puede representarse

Más detalles

Práctica 3 - Aritmética del Computador

Práctica 3 - Aritmética del Computador Práctica 3 - ritmética del Computador Organización del Computador 1 Verano 2014 Ejercicio 1 a. 3174 (8) 0522 (8) b. 4165 (8) 1654 (8) i) Cuánto es +, si representan enteros sin signo de 12-bits en base

Más detalles

Los números naturales y enteros en el 80X86 y en LAN

Los números naturales y enteros en el 80X86 y en LAN Los números naturales y enteros en el 80X86 y en LAN 1. Los números naturales en el 80X86/TASM Representación Sistema de representación En el 80X86 (y en la mayoría de los procesadores), los números naturales

Más detalles

ELO311 Estructuras de Computadores Digitales. Unidad Aritmética

ELO311 Estructuras de Computadores Digitales. Unidad Aritmética ELO3 Estructuras de Computadores Digitales Unidad Aritmética Tomás Arredondo Vidal Este material está basado en: material de apoyo del texto de David Patterson, John Hennessy, "Computer Organization &

Más detalles

Titulación: Grado en Ingeniería Informática Asignatura: Fundamentos de Computadores

Titulación: Grado en Ingeniería Informática Asignatura: Fundamentos de Computadores Titulación: Grado en Ingeniería Informática Asignatura: Fundamentos de Computadores Bloque 1: Introducción Tema 2: Sistema binario de representación numérica Pablo Huerta Pellitero ÍNDICE Bibliografía.

Más detalles

Figura 1: Suma binaria

Figura 1: Suma binaria ARITMÉTICA Y CIRCUITOS BINARIOS Los circuitos binarios que pueden implementar las operaciones de la aritmética binaria (suma, resta, multiplicación, división) se realizan con circuitos lógicos combinacionales

Más detalles

Tipos de Datos y Representaciones. Circuitos Digitales, 2º de Ingeniero de Telecomunicación. EITE ULPGC.

Tipos de Datos y Representaciones. Circuitos Digitales, 2º de Ingeniero de Telecomunicación. EITE ULPGC. Tipos de Datos y Representaciones Circuitos Digitales, 2º de Ingeniero de Telecomunicación. EITE ULPGC. Índice 1. Sistemas numéricos posicionales 2. Números octales y hexadecimales 3. Conversiones entre

Más detalles

Representación de datos y aritmética básica en sistemas digitales

Representación de datos y aritmética básica en sistemas digitales Representación de datos y aritmética básica en sistemas digitales DIGITAL II - ECA Departamento de Sistemas e Informática Escuela de Ingeniería Electrónica Rosa Corti 1 Sistemas de Numeración: Alfabeto:

Más detalles

Representación de datos y aritmética básica en sistemas digitales

Representación de datos y aritmética básica en sistemas digitales Representación de datos y aritmética básica en sistemas digitales DIGITAL II - ECA Departamento de Sistemas e Informática Escuela de Ingeniería Electrónica Rosa Corti 1 Sistemas de Numeración: Alfabeto:

Más detalles

Computación 1. Representación Interna de Números

Computación 1. Representación Interna de Números Computación 1 Representación Interna de Números Contenido Representación de Enteros Sin Signo Representación de Enteros Con Signo con magnitud y signo exceso a M Complemento a 1 Números Enteros Representación

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

APUNTES DE CATEDRA: SISTEMAS DE NUMERACION - REPRESENTACION INTERNA DE NUMEROS Y CARACTERES

APUNTES DE CATEDRA: SISTEMAS DE NUMERACION - REPRESENTACION INTERNA DE NUMEROS Y CARACTERES Cátedra de COMPUTACION Carreras: Licenciatura en Matemática Profesorado en Matemática Profesora: Mgr. María del Carmen Varaldo APUNTES DE CATEDRA: SISTEMAS DE NUMERACION - REPRESENTACION INTERNA DE NUMEROS

Más detalles

Fundamentos de Computadores. Tema 5. Circuitos Aritméticos

Fundamentos de Computadores. Tema 5. Circuitos Aritméticos Fundamentos de Computadores Tema 5 Circuitos Aritméticos OBJETIVOS Conceptuales: Suma y resta binaria Implementaciones hardware/software Circuito sumador y semi-sumador básico Sumadores/restadores de n

Más detalles

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

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

Más detalles

Organización de Computadoras

Organización de Computadoras Organización de Computadoras SEMANA 1 UNIVERSIDAD NACIONAL DE QUILMES Qué vimos? Sistema Binario Interpretación Representación Aritmética Sistema Hexadecimal Hoy! Lógica proposicional Compuertas lógicas:

Más detalles

5.2. Sistemas de codificación en binario

5.2. Sistemas de codificación en binario 5.2. Sistemas de codificación en binario 5.2.1. Sistemas numéricos posicionales [ Wakerly 2.1 pág. 26] 5.2.2. Números octales y hexadecimales [ Wakerly 2.2 pág. 27] 5.2.3. Conversión general de sistemas

Más detalles

Tema 2: Sistemas y códigos numéricos

Tema 2: Sistemas y códigos numéricos Tema 2: Sistemas y códigos numéricos Sistemas numéricos posicionales En este sistema la posición de cada digito tiene un peso asociado. El valor de un número es una suma ponderada de los dígito, por ejemplo:

Más detalles

Operaciones en Datos

Operaciones en Datos Universidad Nacional de Ingeniería Facultad de Ciencias Introducción a la Ciencia de la Computación Operaciones en Datos Prof: J. Solano 2011-I Objetivos Despues de estudiar este cap. el estudiante sera

Más detalles

1.- Sistemas Numéricos 2.- Diferencia entre señal analógica y Digital 3.- Postulados básicos del Algebra de Boole

1.- Sistemas Numéricos 2.- Diferencia entre señal analógica y Digital 3.- Postulados básicos del Algebra de Boole Profesor/a(s) Nivel o Curso/s Ramon E. Flores Pino 4º D GUÍA Nº 1 Unidad/Sub Unidad 1. Fundamentos de Electronica Digital Contenidos 1.- Sistemas Numéricos 2.- Diferencia entre señal analógica y Digital

Más detalles

Sección de procesamiento: El camino de datos

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

Más detalles

3 - DISEÑO RTL. Existen dos tipos de descripciones a nivel de comportamiento en Verilog:

3 - DISEÑO RTL. Existen dos tipos de descripciones a nivel de comportamiento en Verilog: 3 - DISEÑO RTL Un diseño a nivel funcional o de comportamiento (behavioral description) permite describir circuitos digitales atendiendo únicamente a las relaciones existentes entre las entradas y salidas

Más detalles

TEMA II SISTEMAS DE NUMERACIÓN USUALES EN INFORMÁTICA.

TEMA II SISTEMAS DE NUMERACIÓN USUALES EN INFORMÁTICA. TEMA II SISTEMAS DE NUMERACIÓN USUALES EN INFORMÁTICA. INTRODUCCIÓN. Codificación de la información. Codificación consiste en representar los elementos de un conjunto mediante los elementos de otro conjunto.

Más detalles

UNIDAD II CIRCUITOS LÓGICOS COMBINATORIOS

UNIDAD II CIRCUITOS LÓGICOS COMBINATORIOS UNIDAD II CIRCUITOS LÓGICOS COMBINATORIOS. SUMADORES Y RESTADORES 2. CODIFICADORES Y DECODIFICADORES 3. MULTIPLEXOR Y DEMULTIPLEXOR 4. MEMORIA DE SÓLO LECTURA 2- 2.. SUMADORES Y RESTADORES. SUMADORES Y

Más detalles

Lógica Computacional. Aritmética binaria

Lógica Computacional. Aritmética binaria Lógica Computacional Aritmética binaria Aritmética binaria - Suma Para sumar dos (o más) números en sistema binario seguimos el mismo procedimiento que para sistema decimal, teniendo en cuenta que: 1 +

Más detalles

Práctica 1. Sistemas de Numeración y Representación de la Información

Práctica 1. Sistemas de Numeración y Representación de la Información Práctica 1 UNlVERSlDAD DE BUENOS AIRES FACULTAD DE CIENCIAS EXACTAS Y NATURALES Organización Del Computador I Práctica I Sistemas de Numeración y Representación de la Información - Alcance Unidad 3.1 Sistemas

Más detalles

Computación I Representación Interna Curso 2011

Computación I Representación Interna Curso 2011 Computación I Representación Interna Curso 2011 Facultad de Ingeniería Universidad de la República Temario Representación de Números Enteros Representación de Punto Fijo Enteros sin signo Binarios puros

Más detalles

Multiplicación. Multiplicación. Martín Vázquez Arquitectura I - Curso 2013 UNICEN. Notación dot

Multiplicación. Multiplicación. Martín Vázquez Arquitectura I - Curso 2013 UNICEN. Notación dot Multiplicación Martín Vázquez Arquitectura I - Curso 23 UNICEN Multiplicación 2 Multiplicación p b 3.a. 3 b 2.a. 2 b.a. b.a. b x a Notación dot p b 3.a.2 3 b 2.a.2 2 b.a.2 b.a.2 b x a Multiplicación decimal

Más detalles

FUNDAMENTOS DE SISTEMAS DIGITALES. Tema 2: Lógica combinacional (I): Funciones aritmético-lógicas

FUNDAMENTOS DE SISTEMAS DIGITALES. Tema 2: Lógica combinacional (I): Funciones aritmético-lógicas FUNDAMENTOS DE SISTEMAS DIGITALES Tema 2: Lógica combinacional (I): Funciones aritmético-lógicas 1 Programa 1. Representación conjunta de números positivos y negativos. 2. Sumadores y restadores. 3. Sumadores

Más detalles

Aritmética de Enteros y

Aritmética de Enteros y 1 Aritmética de Enteros y Flotantes 2013 Transversal de Programación Básica Proyecto Curricular de Ingeniería de Sistemas 2 1. Introduccion La aritmética de enteros es aritmética modular en complemento

Más detalles

Sistemas de Numeración. I semestre 2011

Sistemas de Numeración. I semestre 2011 Sistemas de Numeración I semestre 2011 Sistema Decimal 7392 7 10 3 + 3 10 2 + 9 10 1 + 2 10 0 10 símbolos: 0 9 Un número decimal puede ser expresado por una serie de coeficientes: a 3 a 2 a 1 a 0, a 1

Más detalles

Representación binaria de números enteros en complemento a 2

Representación binaria de números enteros en complemento a 2 Representación binaria de números enteros en complemento a 2 Jorge Juan Chico jjchico@dte.us.es Departamento de Tecnología Electrónica. Universidad de Sevilla 23 de octubre de 2016 Índice Prefacio 2 1.

Más detalles

Tema 3. Operaciones aritméticas y lógicas

Tema 3. Operaciones aritméticas y lógicas Tema 3. Operaciones aritméticas y lógicas Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 28 Índice Operaciones lógicas: OR, AND, XOR y NOT Operaciones

Más detalles

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

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

Más detalles

Sistemas numéricos. Sistemas numéricos. Notación posicional o ponderada. Números en base 10. Notación posicional regular. Notación posicional regular

Sistemas numéricos. Sistemas numéricos. Notación posicional o ponderada. Números en base 10. Notación posicional regular. Notación posicional regular Sistemas numéricos Prof. Mario Medina mariomedina@udec.cl Sistemas numéricos Representación posicional Números en ase Números en ases, y 6 Conversión de enteros y decimales entre ases Operaciones aritméticas

Más detalles

HOJA DE PROBLEMAS 6: MÓDULOS COMBINACIONALES BÁSICOS

HOJA DE PROBLEMAS 6: MÓDULOS COMBINACIONALES BÁSICOS f Universidad Rey Juan Carlos Grado en Ingeniería Informática Fundamentos de Computadores HOJA DE PROBLEMAS 6: MÓDULOS COMBINACIONALES BÁSICOS. Dado el módulo combinacional de la figura se pide dibujar

Más detalles

+- S x B +-E. Este estándar presupone una representación normalizada. Es decir, los números a representar obedecen a la siguiente forma:

+- S x B +-E. Este estándar presupone una representación normalizada. Es decir, los números a representar obedecen a la siguiente forma: 3.6 Codificación Punto Flotante Esta codificación nace por la necesidad de tener un rango más amplio de representatividad numérica, o cobertura. Los esquemas antes mencionados ofrecen un rango limitado

Más detalles

Instituto Tecnológico de Morelia

Instituto Tecnológico de Morelia Instituto Tecnológico de Morelia Microcontroladores Representación de datos en las computadoras M.C.Miguelangel Fraga Aguilar http://sagitario.itmorelia.edu.mx/mfraga mfraga@itmorelia.edu.mx Representaciones

Más detalles

LECCIÓN Nº 02 FUNCIONES DE LOGICA COMBINACIONAL (PARTE 1)

LECCIÓN Nº 02 FUNCIONES DE LOGICA COMBINACIONAL (PARTE 1) LECCIÓN Nº 02 FUNCIONES DE LOGICA COMBINACIONAL (PARTE 1) 1. CONVERSORES DE CODIGO La disponibilidad de una gran variedad de códigos para los mismos elementos discretos de información origina el uso de

Más detalles

Tema 3: Operaciones aritméticas y lógicas

Tema 3: Operaciones aritméticas y lógicas Tema 3: Operaciones aritméticas y lógicas S Suma-resta en base dos S Operaciones lógicas: OR, AND, XOR y NOT S Operaciones de desplazamiento S Suma-resta en los diferentes sistemas de representación de

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

BLOQUE V. CONTROL Y PROGRAMACIÓN DE SISTEMAS AUTOMÁTICOS

BLOQUE V. CONTROL Y PROGRAMACIÓN DE SISTEMAS AUTOMÁTICOS Bloque V. Control y programación de sistemas automáticos pág. 1 Bloque V. Control y programación de sistemas automáticos pág. 2 BLOQUE V. CONTROL Y PROGRAMACIÓN DE SISTEMAS AUTOMÁTICOS 1. LA INFORMACIÓN

Más detalles

BLOQUE V. CONTROL Y PROGRAMACIÓN DE SISTEMAS AUTOMÁTICOS

BLOQUE V. CONTROL Y PROGRAMACIÓN DE SISTEMAS AUTOMÁTICOS Bloque V. Control y programación de sistemas automáticos pág. 1 BLOQUE V. CONTROL Y PROGRAMACIÓN DE SISTEMAS AUTOMÁTICOS 1. LA INFORMACIÓN BINARIA 1.1. Sistemas de numeración y códigos Def. Sistema de

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

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

https://dac.escet.urjc.es/docencia/etc-sistemas/teoria-cuat1/tema2.pdf

https://dac.escet.urjc.es/docencia/etc-sistemas/teoria-cuat1/tema2.pdf 1.3 Sistemas numéricos 1.3.1. Introducción Un sistema de representación numérica es un lenguaje que consiste en: Un conjunto ordenado de símbolos (dígitos o cifras) y otro de reglas bien definidas para

Más detalles

Suma Resta Multiplica. División Alg. Boole Tbla Verdad Circuitos Karnaugh

Suma Resta Multiplica. División Alg. Boole Tbla Verdad Circuitos Karnaugh Sistemas de Numeración Operaciones Aritméticas Con SIGNO 2007-0808 Sistemas de Numeración 1 Suma SUMA: Cuatro posibles casos: AyBsonpositivos => >A+B> >= 0 A y B son negativos => A+B < 0 A positivo y B

Más detalles

Sumadores. Tipos de sumadores: Half-adder. Full-Adder. Carry-Look-Ahead. Carry-select.

Sumadores. Tipos de sumadores: Half-adder. Full-Adder. Carry-Look-Ahead. Carry-select. Sumadores En electrónica un sumador es un circuito lógico que calcula la operación suma. En los computadores modernos se encuentra en lo que se denomina Unidad aritmético lógica (ALU). Generalmente realizan

Más detalles

Ingeniería en Computación

Ingeniería en Computación Universidad Autónoma del Estado de México Centro Universitario UAEM Valle de México Ingeniería en Computación Unidad de Aprendizaje: Lenguaje Ensamblador Tema: Sistemas Numéricos E l a b o r ó : D r. en

Más detalles

ELO311 Estructuras de Computadores Digitales. Algoritmos de Multiplicación y División

ELO311 Estructuras de Computadores Digitales. Algoritmos de Multiplicación y División ELO311 Estructuras de Computadores Digitales Algoritmos de Multiplicación y División Tomás Arredondo Vidal Este material está basado en: material de apoyo del texto de David Patterson, John Hennessy, "Computer

Más detalles

Sistemas numéricos -aritmética- Taller de programación

Sistemas numéricos -aritmética- Taller de programación Sistemas numéricos -aritmética- Taller de programación I semestre, 2016 Aritmética en sistemas numéricos Temas Precisión En computadoras todas las operaciones se dan entre números binarios con tamaño finito,

Más detalles

Arquitectura de Computadores. Resumen para Certamen 2 Por Franco Zuccar

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

Más detalles

ESCUELA POLITÉCNICA NACIONAL

ESCUELA POLITÉCNICA NACIONAL ESCUELA POLITÉCNICA NACIONAL Campus Politécnico "J. Rubén Orellana R." FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA Carrera de Ingeniería Electrónica y Control Carrera de Ingeniería Electrónica y Telecomunicaciones

Más detalles

3.8 Construcción de una ALU básica

3.8 Construcción de una ALU básica 3.8 Construcción de una ALU básica En este punto veremos como por medio de compuertas lógicas y multiplexores, se pueden implementar las operaciones aritméticas básicas de una ALU. Esencialmente en este

Más detalles

BIBLIOGRAFIA TEORIA DE CIRCUITOSY DISPOSOTIVOS BOYLESTAD ELECTRONICA DIGITAL TOKHEIM SISTEMAS DIGITALES TOCCI

BIBLIOGRAFIA TEORIA DE CIRCUITOSY DISPOSOTIVOS BOYLESTAD ELECTRONICA DIGITAL TOKHEIM SISTEMAS DIGITALES TOCCI Guía de preparación para el examen ELECTRONICA CxTx En esta materia básicamente se evalúan temas tales como son: MULTIVIBRADORES, MEMORIAS, CONTADORES Y COMPUERTAS LOGICAS, SUMADOR RESTADOR Y MICROPOCESADORES

Más detalles

ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES II Curso PROBLEMAS TEMA 4: Unidad Aritmético Lógica

ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES II Curso PROBLEMAS TEMA 4: Unidad Aritmético Lógica Problemas propuestos en examen PROBLEMAS TEMA 4: Unidad Aritmético Lógica 4.1 Se desea realizar una Unidad Aritmético Lógica que realice dos operaciones, suma y comparación de dos números X (x 2 ) e Y

Más detalles

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

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

Más detalles

Sistemas Numéricos. Introducción n a los Sistemas Lógicos y Digitales 2009

Sistemas Numéricos. Introducción n a los Sistemas Lógicos y Digitales 2009 Sistemas Numéricos Introducción n a los Sistemas Lógicos y Digitales 2009 Sergio Noriega Introducción a los Sistemas Lógicos y Digitales - 2009 MSB = Most Significative Bit LSB = Less Significative Bit

Más detalles

MATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO 1. SISTEMAS NUMÉRICOS

MATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO 1. SISTEMAS NUMÉRICOS MATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO 1. SISTEMAS NUMÉRICOS SUMA DE DOS CANTIDADES EN COMPLEMENTO A 2. AUTOR: JOSÉ ALFREDO JIMÉNEZ MURILLO AVC APOYO VIRTUAL PARA EL CONOCIMIENTO SUMA DE DOS CANTIDADES

Más detalles

Organización del Computador 1 Lógica Digital 1: álgebra de Boole y

Organización del Computador 1 Lógica Digital 1: álgebra de Boole y Introducción Circuitos Bloques Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires

Más detalles

Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL

Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL Cualquier duda sobre el contenido de este tema se puede enviar al foro TEORIA2. 2.1.- El tipo de datos entero (byte,

Más detalles

6.1. Operadores aritméticos en binario natural

6.1. Operadores aritméticos en binario natural 6.1. Operadores aritméticos en binario natural 6.1.1. Puertas OR-Exclusiva y circuitos de paridad [ Wakerly 5.8. pág. 410] 6.1.2. Comparadores [ Wakerly 5.9. pág. 419] 6.1.3. Sumadores, restadores y ALUs

Más detalles

Unidad Didáctica 6 Electrónica Digital 4º ESO

Unidad Didáctica 6 Electrónica Digital 4º ESO Unidad Didáctica 6 Electrónica Digital 4º ESO ELECTRÓNICA DIGITAL SEÑALES ELECTRICAS LÓGICA BINARIA CIRCUITOS INTEGRADOS DIGITALES DISEÑO DE CTOS. COMBINACIONALES Y CTOS. IMPRESOS TIPOS SISTEMAS DE NUMERACIÓN

Más detalles

Práctica 2 - Lógica Digital

Práctica 2 - Lógica Digital Práctica 2 - Lógica Digital Organización del Computador 1 Primer cuatrimestre de 2012 Todas las compuertas mencionadas en esta práctica son de 1 ó 2 entradas, a menos que se indique lo contrario. Usaremos

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

En este capítulo se habla sobre las distintas arquitecturas y algoritmos de multiplicación rápida que se encontraron en la bibliografía.

En este capítulo se habla sobre las distintas arquitecturas y algoritmos de multiplicación rápida que se encontraron en la bibliografía. Capítulo 4 Algoritmos de multiplicación rápida En este capítulo se habla sobre las distintas arquitecturas y algoritmos de multiplicación rápida que se encontraron en la bibliografía. Los sistemas en un

Más detalles

TRABAJO DE INVESTIGACION SOBRE LAS CONVERCIONES DE LOS SISTEMAS NUMERICOS JIMMY DADNOVER ROZO GUERRERO

TRABAJO DE INVESTIGACION SOBRE LAS CONVERCIONES DE LOS SISTEMAS NUMERICOS JIMMY DADNOVER ROZO GUERRERO TRABAJO DE INVESTIGACION SOBRE LAS CONVERCIONES DE LOS SISTEMAS NUMERICOS JIMMY DADNOVER ROZO GUERRERO UNISANGIL LOGICA DE PROGRAMACION INGENIERIA DE SISTEMAS CHIQUINQUIRA BOY 2015 P á g i n a 1 19 TRABAJO

Más detalles

I. INTRODUCCIÓN. A cada valor de una señal digital se le llama bit y es la unidad mínima de información.

I. INTRODUCCIÓN. A cada valor de una señal digital se le llama bit y es la unidad mínima de información. I. INTRODUCCIÓN 1. SEÑALES Y TIPOS Como vimos en el tema anterior, 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

Más detalles

Tema 9. SISTEMAS COMBINACIONALES PROGRAMABLES SISTEMAS COMBINACIONALES PROGRAMABLES NO UNIVERSALES

Tema 9. SISTEMAS COMBINACIONALES PROGRAMABLES SISTEMAS COMBINACIONALES PROGRAMABLES NO UNIVERSALES Fundamentos de Computadores. Sistemas Combinacionales Programables. T9-1 Tema 9. SISTEMAS COMBINACIONALES PROGRAMABLES INDICE: INTRODUCCIÓN CLASIFICACION DE LOS SCP SISTEMAS COMBINACIONALES PROGRAMABLES

Más detalles

Sistemas numéricos -números negativos- Taller de programación

Sistemas numéricos -números negativos- Taller de programación Sistemas numéricos -números negativos- Taller de programación I semestre, 2016 Números negativos Temas Números binarios negativos Problema: cómo representar números negativos en un mecanismo computacional?

Más detalles

2. Representación de números 1

2. Representación de números 1 2. Representación de números 1 Julio C. Carrillo E. Escuela de Matemáticas, UIS 2. Representación de números 2 1. Representación de punto flotante normalizada La notación científica es un tipo de representación

Más detalles

Un sistema de numeración está compuesto por el conjunto de símbolos y reglas que se utilizan para representar cantidades.

Un sistema de numeración está compuesto por el conjunto de símbolos y reglas que se utilizan para representar cantidades. Repaso Sistemas Numéricos Un sistema de numeración está compuesto por el conjunto de símbolos y reglas que se utilizan para representar cantidades. A la cantidad de símbolos, que componen dicho conjunto,

Más detalles

Organización de Computadoras. Clase 2

Organización de Computadoras. Clase 2 Organización de Computadoras Clase 2 Temas de Clase Representación de datos Números con signo Operaciones aritméticas Banderas de condición Representación de datos alfanuméricos Notas de Clase 2 2 Representación

Más detalles

Universidad de San Buenaventura - Facultad de Ingeniería

Universidad de San Buenaventura - Facultad de Ingeniería Aproximaciones Para trabajar con números decimales que tienen muchas cifras decimales, o infinitas, hacemos aproximaciones. Decimos que la aproximación de un número es por defecto cuando es menor que el

Más detalles

Representación digital de la información

Representación digital de la información Tema 1: Representación digital de la información Fundamentos de computadores José Manuel Mendías Cuadros Dpto. Arquitectura de Computadores y Automática Universidad Complutense de Madrid 2 Introducción

Más detalles

ESCUELA POLITÉCNICA NACIONAL

ESCUELA POLITÉCNICA NACIONAL ESCUELA POLITÉCNICA NACIONAL Campus Politécnico "J. Rubén Orellana R." FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA Carrera de Ingeniería Electrónica y Control Carrera de Ingeniería Electrónica y Telecomunicaciones

Más detalles

Circuitos Lógicos Combinatorios. Ing. Jorge Manrique 2004 Sistemas Digitales 1

Circuitos Lógicos Combinatorios. Ing. Jorge Manrique 2004 Sistemas Digitales 1 Circuitos Lógicos Combinatorios Ing. Jorge Manrique 2004 Sistemas Digitales 1 Circuitos Combinatorios Un circuito combinatorio es un arreglo de compuertas lógicas con un conjunto de entradas y salidas.

Más detalles

Estudio del impacto de implementaciones de operadores aritméticos en dispositivos lógicos programables FPGA

Estudio del impacto de implementaciones de operadores aritméticos en dispositivos lógicos programables FPGA Estudio del impacto de implementaciones de operadores aritméticos en dispositivos lógicos programables FPGA Marino, Ariel Alberto Grupo de Investigación y Servicios en Electrónica y Control Facultad Regional

Más detalles

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 3 UNIDAD ARITMÉTICO- LÓGICA JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 3 UNIDAD ARITMÉTICO- LÓGICA JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ ARQUITETURAS DE OMUTADORES 2º URSO INGENIERÍA TÉNIA EN INFORMÁTIA DE GESTIÓN TEMA 3 UNIDAD ARITMÉTIO- LÓGIA JOSÉ GARÍA RODRÍGUEZ JOSÉ ANTONIO SERRA ÉREZ Tema 3. La Unidad entral de roceso. A.L.U. 1 La

Más detalles

TEMA 6 UNIDAD ARITMÉTICO LÓGICA

TEMA 6 UNIDAD ARITMÉTICO LÓGICA FUNDMENTOS DE TEM 6 UNIDD RITMÉTICO LÓGIC. OPERDORES LÓGICOS. 2. PROPIEDDES DE L UL. 3. OPERDORES DE DESPLZMIENTO. Desplazamientos lógicos. Desplazamientos circulares. Desplazamientos aritméticos. 4. OPERCIONES

Más detalles

Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas

Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas Dr. Marcelo Risk Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 2017 Lógica

Más detalles

Plataformas de soporte computacional: arquitecturas avanzadas,

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

Más detalles

Bloques Combinacionales

Bloques Combinacionales Bloques Combinacionales 1. Comparadores 2. Sumadores y Semisumadores 3. Multiplexores Demultiplexores 4. Codificadores Decodificadores 5. Convertidores de código 6. Generadores /comprobadores de paridad

Más detalles

HOJA DE PROBLEMAS 2. SISTEMA BINARIO DE REPRESENTACIÓN NUMÉRICA. 1. Convertir los siguientes números binarios a sus equivalentes decimales: a.

HOJA DE PROBLEMAS 2. SISTEMA BINARIO DE REPRESENTACIÓN NUMÉRICA. 1. Convertir los siguientes números binarios a sus equivalentes decimales: a. Universidad Rey Juan Carlos Grado en Ingeniería de Computadores Tecnología de Computadores HOJA DE PROBLEMAS 2. SISTEMA BINARIO DE REPRESENTACIÓN NUMÉRICA 1. Convertir los siguientes números binarios a

Más detalles

Aritmética del computador

Aritmética del computador Aritmética del computador Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain. Estructura del curso. Evolución y caracterización

Más detalles

5 centenas + 2 decenas + 8 unidades, es decir: = 528

5 centenas + 2 decenas + 8 unidades, es decir: = 528 Sistemas de numeración Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan

Más detalles

TEMA 5.3 SISTEMAS DIGITALES

TEMA 5.3 SISTEMAS DIGITALES TEMA 5.3 SISTEMAS DIGITALES TEMA 5 SISTEMAS DIGITALES FUNDAMENTOS DE ELECTRÓNICA 08 de enero de 2015 TEMA 5.3 SISTEMAS DIGITALES Introducción Sistemas combinacionales Sistemas secuenciales TEMA 5.3 SISTEMAS

Más detalles

Bloques Aritméticos - Multiplicadores

Bloques Aritméticos - Multiplicadores Bloques Aritméticos - Multiplicadores La multiplicación es una operación cara (en términos de recursos) y lenta Este hecho ha motivado la integración de unidades completas de multiplicación en los DSPs

Más detalles

Desarrollo de Problemas

Desarrollo de Problemas Desarrollo de Problemas Diseñe a nivel de Circuitos Lógicos una memoria de 2 X 2. Considere pastillas de memoria de 2 X 2 para elaborar una memoria de 16 X 8. Ejemplifique su utilización para la escritura

Más detalles

Tema 3. Operaciones aritméticas y lógicas

Tema 3. Operaciones aritméticas y lógicas Enunciados de problemas Tema 3. Operaciones aritméticas y lógicas Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Tema 3: Hoja: 2 / 18 Tema 3: Hoja: 3 / 18 Base teórica

Más detalles

Representación de números enteros: el convenio exceso Z

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

Más detalles

TEMA II: SISTEMAS DE NUMERACIÓN

TEMA II: SISTEMAS DE NUMERACIÓN 2012 UNAN LEÓN Departamento de Computación Autor: Ing: Karina Esquivel Alvarado. Asignatura: FUNDAMENTOS DE INFORMÁTICA TEMA II: SISTEMAS DE NUMERACIÓN 2.1 INTRODUCCIÓN: TEMA 2: SISTEMAS DE NUMERACIÓN

Más detalles