I.N.E.T. Organización de Computadores Es el estudio de las unidades funcionales y sus interconexiones, que dan lugar a especificaciones arquitectónicas; conjunto de instrucciones, número de bits para representar tipos de datos, mecanismos de E/S y técnicas de direccionamiento de memoria. Instituto Normal de Enseñanza Técnica (INET), Prof. Daniel Zavadski ADOLFO MONTIEL VALENTINI ©
2 3 6 7 8 9 10 11 12 16 19 22 26 32 33 36 ORGANIZACI ÓN de COMPUTADOR • Secuencia de Contenidos: • 3. Sistemas Numéricos . 3.1 Sistema Binario . 3.1.1 Aritmética Binaria . 3.2 Sistema Octal . 3.2.1 Aritmética Octal . 3.3 Sistema Hexadecimal . 3.3.1 Aritmética Hexadecimal . 3.4 Cambio de base de un sistema a otro • 4. Representación Interna de Datos . 4.1 Representación de Enteros . 4.1.1 Módulo y Signo . 4.1.2 Complemento a 1 4.1.2.1 Aritmética C1 4.1.2.2 Corolario . 4.1.3 Complemento a 2 . 4.1.4 Exceso 2n-1 . 4.2 Reales, Punto Flotante . 4.2.1 Aritmética con Punto Flotante . 4.2.3 Tabla de valores del e SESGADO Haciendo clik encima del número del índice se dirige 20 24 25 30 I.N.E.T. 2. directamente al tema ADOLFO MONTIEL VALENTINI ©
• • • ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 3. 3. Sistema de Numeración: Un sistema de numeración es un conjunto de símbolos o numerales y reglas de generación que permiten construir todos los números válidos en el sistema. Un sistema de numeración puede representarse como: N= (S, R) Donde: • N es el sistema de numeración considerado, por ejemplo: decimal, binario, etc. S es el conjunto de símbolos permitidos en el sistema. En el caso del sistema decimal son: 0,1,2,3, 4, 5,,6,7,8,9; en el caso binario son: 0, 1; en el octal son: 0,1,2,3, 4, 5,,6,7; en el hexadecimal: 0,1,2,3, 4, 5,,6,7,8,9, A,B,C,D,E,F, …etc. R son las reglas que nos indican que números son válidos en el sistema y cuales no. En un sistema posicional las reglas son bastante simples, mientras que en la numeración romana requiere algo más elaboradas. Estas reglas son diferentes para cada sistema de numeración considerado, pero una regla común a todos es que para construir números válidos en un sistema determinado solo se pueden utilizar los símbolos permitidos en dicho sistema. VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
• • • • • • 8 8 ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 4. 3. Sistema de Numeración: REGLAS o PRINCIPIOS: Estas son establecidas para diferenciar cada sistema numérico. NUMERALES: Los símbolos o numerales un conjunto pueden pertenecer aotro sistema. NIDENTIFICACIÓN: Un sistema numérico se identifica por el subíndice a la derecha. PRINCIPIO de ORDEN: Toda cifra de un numeral tiene un orden de jerarquía : 568 1er ORDEN 2do ORDEN 3er ORDEN PRINCIPIO de BASE: Todo sistema de numeración nos alude a como agrupar. ** ** * ***** ***** ** * * * = 23(8) = 19(10) = * * * * * = 13(H)=* * * * * = 10011(2) ** ** * ***** ***** ** ** **** **** PRINCIPIO POSICIONAL: Toda cifra de un numeral tiene un orden de jerarquía : 5 6 8(10) 8 x 100 = + 6 x 101 = 60 5 x 102 = 500 5 6 8(8) 8 x 80 = + 6 x 81 = 5 x 82 = 48 320 VOLVER AL INDICE 568(10) 376(10) ADOLFO MONTIEL VALENTINI ©
0 1 0 1 ORGANIZACI ÓN de COMPUTADOR 3. Sistema de Numeración: I.N.E.T. 5. TABLA de CORRESPONDENCIA TABLA de CORRESPONDENCIA: A todas las series numéricas se les asigna un cero como punto de referencia o inicio, siendo el propio cero un elemento de la serie, cuyo valor siempre estará determinado por la posición en la cifra. DECIMAL 0 1 2 3 HAXADECIMAL 0 1 2 3 OCTAL 0 1 2 3 BINARIO 0 0 0 0 0 0 0 0 1 0 0 1 4 4 4 0 1 0 0 EL NÚMERO: El número se representa mediante una secuencia de cifras : N=nn+nn-1+nn-2+… +nn2+nn1+nn0 CIFRA SIGNIFICATIVA: Se llama cifra significativa a toda cifra diferente a CERO. VALOR NUMÉRICO: El valor numérico o rango de representación, se obtiene mediante el cálculo del polinomio de su representación, respetando el principio posicional del numeral. Snibi = nnbn+nn-1bn-1+nn-2bn-2+… +n2b2+n1b1+n0 b0 i 5 6 7 8 9 10 11 12 13 14 15 5 6 7 8 9 A B C D E F 5 6 7 10 11 12 13 14 15 16 17 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 I = es el rango , ej.: -3 < i < 4 b = es la base y n = numeral 16 10 20 1 0 0 0 0 VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 6. 3.1. Sistemas de Representación: SISTEMA BINARIO o de BASE 2: Referido a la electrónica, más específicamente a la computación, entenderemos que se trata de la apertura o cierre de compuertas en el fluido electrónico. Cero (0) será entonces el no pasaje de electricidad* y uno (1) el pasaje eléctrico. Para su representación utilizaremos dos dígitos ( 0, 1) binarios, de tal modo que en la ecuación Snibi, n representara tanto 1 como 0, mientras que b será 2 a la potencia de la posición en el numeral. ej.: 1010.011 (2) = 10.375 (10) Snibi = 1*23+0*22+1*21+0*20.0*2-1+1*2-2+1*2-3 = -3 < i < 4 Snibi = 8 + 0 + 2 + 0 . 0 + 0.25+0.125 = 10.375 (10) -3 < i < 4 1010.011 (2) = 1*23+0*22+1*21+0*20.0*2-1+1*2-2+1*2-3 = 8 + 0 + 2 + 0 . 0 + 0.25+0.125 = 10.375 (10) 1101002 = (1· 25) + (1· 24) + (1 · 22) = 25 + 24 + 22 = 32 + 16 + 4 = 5210 0,101002 = 2-1 + 2-3 = (1/2) + (1/8) = 0,5 + 0,125 = 0,62510 VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
0 0 1 0 1 0 0 0 0 1 1 1 A B ORGANIZACI ÓN de COMPUTADOR 3.1.1. Arimétrrica Binaria: I.N.E.T. 7. SUMA BINARIA: La suma binaria al igual que la suma decimal o de otra base, suma los dígitos ordenadamente y por orden exponencial de la base, acarreando el exceso al exponencial inmediato siguiente. RESTA BINARIA: La resta binaria al igual que la resta decimal o de otra base, resta los dígitos ordenadamente y por orden exponencial de la base, acarreando el déficit del exponencial inmediato mayor. Multiplicación y División BINARIA: Al igual que las anteriores se opera de la misma forma. Veamos los ejemplos: A 0 0 1 1 A 0 0 1 1 SUMA B 0 1 0 1 RESTA B 0 1 0 1 A+B o 1 1 0 (1) A-B 0 1 (1) 1 0 SUMA RESTA Multiplicación División A MULTIPLICACIÓN B A*B 1110101 + 1110110 1101010 _ 1010011 1101010 1101011 X -101 11 00110 -1 0 1 101 10.101 DIVISIÓN 11101011 0010011 1101010 00111 A/B 1101010 100111110 -101 10 0 0 1 1 0 1 0 1 ___ 0 ___ 1 VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
(10) ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 8. 3.2. Sistemas de Representación: SISTEMA OCTAL o de BASE 8: Referido a la electrónica, es más comparable con el sistema de vías o de buses, por su similitud aplicada al Byte y su codificación numérica, pero menos útil que el Hexadecimal. Para su representación utilizaremos los dígitos del 0 al 7, de tal modo que en la ecuación Snibi, n representará cualquiera de los dígitos comprendidos, mientras que b será 8 a la potencia de la posición en el numeral. ej.: 4 5 7 . 5 (8) = 3 0 3. 6 2 5 Snibi = 4*82+5*81+7*80 +5*8-1 = -3 < i < 4 Snibi = 256 + 40 + 7 + 0.625 = 3 0 3 . 625 (10) 0
+1 + _ 0 ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 9. 3. 2.1. Aritmética Octal: En la aritmética Octal(8)(q) ó utilizamos los mismos recursos y a la misma lógica de la aritmética decimal, recurrimos al acarreo de unidades a la posición del exponente siguiente, le sustrae al dígito del exponente inmediato superior, utilizamos la propiedad distributiva y la suma en la multiplicación; y por, en la división usamos el procedimiento de cascada. SUMA RESTA DIVISIÓN acarreo =7+1=8 -> 0(1) 1 =8+0=8 -> 8-4=4 1 =8+2=10 -> 10-4= 6 2×8=16= 2 7 3 4 (8) 3(8) 3 7 1 2 (8) 1 4 4 (8) 6 0 3 7 1 2 (8) 1 4 4 (8) 16+7=23 2 3 7×3=21 7 6 4 (8) -2 1 2×8=16= 2 16+3=19 1 9 6×3=18 4 0 5 6 (8) 3 5 4 6 (8) MULTIPLICACIÓN 1×8=8= -1 8 1 3×7=21 21= (2×8)+5 3×5=15 15=8+7 3×4=12 12=8+4 7 5 4 (8) 8+4=12 1 2 4×3=12 -12 x 3 (8) (5+1+1) 7+1 de acarreo=8=10(8) VOLVER AL INDICE 2 7 0 4 (8) ADOLFO MONTIEL VALENTINI ©
ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 10. 3.3. Sistemas de Representación: SISTEMA HEXADECIMAL o de BASE 16: En electrónica, por su multiplicidad aplicada al número de bits en relación al Byte se utiliza en buses multidireccionales,, pero de notación más compleja que el Octal. Para su representación numérica utilizaremos los dígitos del 0 al 9 y las letras de la ‘A ‘a la ‘F’ para designar los valores del 10 al 16, de tal modo que en la ecuación Snibi, n representará cualquiera de los dígitos comprendidos, mientras que b será 16 a la potencia de la posición en el numeral. ej.: 2 5 D F . B A (16) = 9 6 9 5 . 7265 (10) Snibi = 2*163+ 5*162+ D*161 + F*160 + B*16-1 + A*16-2 = -3 < i < 4 Snibi = 8192 + 1280 + 280 + 15 + 0.6875 + 0.039 = 9 6 9 5 . 7265 (10) 0
+ 1 ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 11. 3.3.1. Aritmética Hexadecimal: En la aritmética Hexadecimal(16)(H) ó utilizamos los mismos recursos y a la misma lógica de la aritmética decimal, recurrimos al acarreo de unidades a la posición del exponente siguiente, le sustrae al dígito del exponente inmediato superior, utilizamos la propiedad distributiva y la suma en la multiplicación; y por, en la división usamos el procedimiento de cascada. SUMA acarreo +1 =3+F=18 -> 16+2 A 3 B (H) _ 4 F 3 (H) F 2 E (H) RESTA A-1=9-4=5 Le pido a A uno (1) 1=16+3=19 -> 19-F= 4 A 3 B (16) 4 F 3 (16) 5 4 8 (16) MULTIPLICACIÓN FxA=150->150+2=152=(9×16)+8 Fx2=30->30+11=41=(2×16)+9 FxC=180->180=(11×16)+4 16=1 2xA=20-> 20=16+4 2×2=4 -> 4+1=5 2xC=24-> 24=16+8 A 2 C (H) x F 2 (H) 4 5 8 (H) DIVISIÓN E 2 C (16) 3(16) E=14 14 4×3=12 4 B 9.5(16) -12 2 2×16=32 32+2 Bx3=33 34 -33 1+C 9×3=27 9 8 9 4 1×16=16+C(12)= 28 28 -27 VOLVER AL INDICE 9 9 D 9 8 (H) 1×16=16 1 16 5×3=15 -15 ADOLFO MONTIEL VALENTINI ©
+ = ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 12. 3.4. CAMBIO de BASE: CAMBIO de BASE de un SISTEMA a Otro : Es posible realizar un cambio de base de un sistema numérico a otro teniendo en cuenta su representación polinómica . 110101(2) = 65(8) = 53(10) = 35(16) Notemos que cuanto más grande es la base menor es el numeral representado, manteniendo siempre el mismo valor numérico. Método 1. 3 C F 6 (H) = 3 x 163 + C x 162 F x 161 + 6 x 160 = 3 x 4096 + (C = 12) x 256 + (F = 15) x 16 + 6 x 1 12288 + 3072 + 240 + 6 = 1 5 6 0 6 (10) Este método principalmente nos permite cambiar a uma base decimal y puede ser usado para cualquier cambio de base no importa lo arbitrario de la base elegida. VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
8 8 6 8 6 ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 13. 3.4. CAMBIO de BASE: CAMBIO de BASE de un SISTEMA a Otro MÉTODO 2: El cambio de base también puede realizarse usando la conversión a decimal para pasar a cualquier base, de modo que teniendo un numeral decimal, podemos con sucesivas divisiones en forma de cascada resolver el cambio de base deseado. Método 1. 3 C F 6 (H) = 3 x163+C x162+F x161+6 x160 = 1 5 6 0 6 (10) 15606 3 C F 6 (H) = 1 5 6 0 6 (10) = 3 6 3 6 6 (8) 156 00 1950 1944 243 6 240 3 30 24 8 3 Este método de divisiones sucesivas o de arrastre: 1. El DIVIDENDO es el numeral a cambiar y el DIVISOR la base de cambio, 2. La división NO admite cocientes fracionários, 3. La cascada de divisiones culmina cuando el RESTO ya es indivisible, 4. El nuevo numeral toma como 1er dígito el último COCIENTE , como cifra de mayor exponente, 5. Y construye el numeral em forma “ascendente”, de atrás para delante:. ej.: 3, 6, 3, 6, 6. VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
8 8 6 8 8 3 ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 14. 3.4. CAMBIO de BASE: CAMBIO de BASE de un SISTEMA a Otro MÉTODO 2 con parte fraccional: El cambio de base con numerales que contienen parte fraccional también puede realizarse usando la conversión a decimal para pasar a cualquier base, de modo que teniendo un numeral decimal, podemos con sucesivas divisiones de la parte entera, en forma de cascada y multiplicaciones sucesivas, de la parte fraccionaria, resolver el cambio de base deseado. Método 1. 3 C F 6.A3 (H) = 3 x163+C x162+F x161+6 x160 +A x16-1 +3 x16-2 = 15606 3 C F 6.A3 (H) = 1 5 6 0 6.63671875 (10) = 3 6 3 6 6. 777888 (8) 156 00 1950 1944 243 6 240 30 0.6367187 x8 5.0937496 0.937496 x8 7.499968 0.499968 x8 3.999744 0.999744 x8 7.997952 0.997952 x8 7.983616 0.983616 x8 7.868928 3 24 6 En el caso fraccionario, debemos saber que precisión debe de tener después de la “coma”: 2, 4, 6… Las multiplicaciones deben ser por la base elegida, comenzando desde la parte fraccional conocida y tomando la parte fraccional sucesiva. La parte significativa será la parte entera de la cifra. VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 15. 3.4. CAMBIO de BASE: CAMBIO de BASE de un SISTEMA a Otro : MÉTODO 3, Otros procesos: Proceso Empaquetado: Es posible realizar un cambio de base de un sistema numérico binario al Octal o Hexadecimal empaquetando según definición y viceversa. 1 6 6 (16) = 1 6 6 (16) C B 5 (H) = C B 5 (H) 0 0 1 0 1 1 0 0 1 1 0 (2) = 3 5 8 (10) 1 1 0 0 1 0 1 1 0 1 0 1 (2) = 3 2 5 3 (10) 0´s NO 5 4 6 (8) = 5 4 6 (8) 6 2 6 5 (8) = 6 2 6 5 (8) Significativos Con este procedimiento podemos pasar de una base a otra sin usar el procedimiento de transformar a decimal el numeral de base 2, 8 y 16, respetando el empaquetado en bites o Bytes. En el caso de base Octal se tomarán 3 dígitos correspondientes al desarrollo binario del Byte. Diferente en el caso Hexadecimal, en el cual tomaremos 4 dígitos que corresponden al desarrollo de dos Bytes. Viceversa, tomaremos cada cifra ordenadamente y la traduciremos a la base deseada. VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
ORGANIZACI ÓN de COMPUTADOR 4. Representación Interna de Datos: Todo dato tiene una representación interna en la máquina, el cual a través de un código instruye a la máquina de un proceder específico. Este código o lenguaje entendible por la máquina se lo conoce como “firmware”, Lenguaje de Máquina o Microcódigo. El firmware es un bloque de instrucciones de programa para propósitos específicos, grabado en una memoria de tipo no volátil (ROM, EEPROM, Flash, etc.), que establece la lógica de más bajo nivel que controla los circuitos electrónicos de un dispositivo de cualquier tipo. Definición del IEEE El glosario estándar de terminología del software del Institute of Electrical and Electronics Engineers (IEEE), Std 610.12-1990, define el firmware como sigue: "La combinación de instrucciones de un dispositivo de hardware e instrucciones y datos de computadora que residen como software de solo lectura en ese dispositivo". VOLVER AL INDICE I.N.E.T. 16. ADOLFO MONTIEL VALENTINI ©
ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 17. 4. Representación Interna de Datos: BIT o bit: BIT o bit, acrónimo de Binary digIT. El bit es la unidad mínima de información empleada en informática, en cualquier dispositivo digital, o en la teoría de la información. Dígito binario refiere a la utilización de dos valores únicos, el 1 y el 0. En el universo máquina, específicamente en electrónica, podemos asignar a cada uno de esos valores el estado de "apagado" (0), y el otro al estado de "encendido" o “abierto” y “cerrado”. cero 0 apagada cerrado uno 1 o encendida abierto uno 1 “ON” cerrado cero 0 “OFF” abierto La máquina, sólo tiene la capacidad de entender la apertura o cierre de interruptores eléctricos, el dejar pasar un flujo de electricidad de un valor dado, o no. No comprende otra instrucción. El interprete o compilador será el encargado de traducir el dato impuesto por nosotros en forma de código. A esto se reduce el código binario o bit: es la unidad mínima de información a nivel máquina. VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 18. 4. Representación Interna de Datos: Byte u Octeto: Byte u Octeto: Byte es el acrónimo de BinarY TuplE. también conocido como "byte de 8 bits", reforzando la noción de que era una tupla de n bits y que se permitían otros tamaños. El término "byte" viene de "bite" (en Inglés "mordisco"), como la cantidad más pequeña de datos que un ordenador podía "morder" a la vez. Byte es el universo compuesto por una secuencia de bits binarios contiguos, cuya cantidad está determinada por elección según el tipo de código (3, 4, 6, 7, 8, 9, 10 y 12). Byte = 8 bits Word = 16 bits = 2 Bytes bit Un byte es la unidad de medida básica para memoria, almacenando el equivalente a un carácter. El Octeto o Byte de 8 bits, ha llegado a ser casi ubicua. Las variaciones de mayor o menor número de bits se utilizan solo para casos puntuales. VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
0 1 ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 19. 4.1. Representación de Enteros: Como dijimos anteriormente, la máquina, en este caso la computadora, solo conoce de ceros y unos. Por lo tanto la computadora desconoce la existencia de valores negativos así como de puntos decimales. Aquí comienza la primer desarrollo de un código primario, establecer la representación de Enteros = Z, y Racionales = Q, para poder obtener algebraicamente resultados legibles en el universo computacional. Así mismo, por las limitaciones propias de la máquina, delimitar los alcances de las representaciones numéricas a los efectos de resultados prácticos. Aquí es donde se aplicará la Matemática Discreta, como conjunto acotado de relaciones y sus funciones correspondientes. En principio, la matemática infinitesimal no puede aplicarse en el computador si no existe una limitante de acción, so pena de caer en resoluciones infinitas e interminables, lo que en computación llamaríamos “entrar en loopings” o “looping”, soluciones no conclusivas. Se dispondrá, entonces, en la notación binaria, de un primer bit, el más significativo (notación a la izquierda) para determinar el signo del número a representar: NÚMEROS con SIGNO 0 = Positivo VOLVER AL INDICE Byte = 8 bits 0 0 0 0 0 0 0 1 = Negativo Byte = 8 bits 0 0 0 0 0 0 0 ADOLFO MONTIEL VALENTINI ©
0 ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 20. 4.1. Representación de Enteros: 4.1.1. SIGNO y MAGNITUD (Módulo y Signo): SIGNO y MAGNITUD, es una de las notaciones con la cual podemos representar los Enteros = Z Byte = 8 bits Byte = 8 bits 0 0 0 0 0 0 0 palabra 1 0 0 0 0 0 0 0 signo magnitud signo magnitud La representación binaria SIGNO-MAGNITUD puede representarse genéricamente como: Palabra de n bits: del 0 hasta n-1, n elementos an-1 n an-22n-2 an-32n-3 an-42n-4 an-42n-4 … i=n-2 … … n-1 bits a323 a222 a121 a020 i=n-2 En el caso de ser positivo Si an-1=0 A= Sai2i ; En el caso de ser negativo Si an-1=1 A= -Sai2i A= valor decimal VOLVER AL INDICE i=0 i=0 ADOLFO MONTIEL VALENTINI ©
ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 21. 4.1. Representación de Enteros: 4.1.1. SIGNO y MAGNITUD (Módulo y Signo): DESVENTAJAS de la representación Signo y Magnitud: 1. Las operaciones aritméticas de SUMA y RESTA requieren consideraciones especiales, en cuanto a los signos de los números como en sus magnitudes relativas, a fin de poder realizar dichas operaciones. 2. Existen dos (2) representaciones del CERO (0): +0 = 0 0000000 – 0 = 1 0000000 3. La cantidad de bit requerida para la representación numérica, varía el valor de la misma: Ej.: 115(10) = 0 1 1 1 0 0 1 1 requiere de 8 bits -218 (10) = 1 1 1 0 1 1 0 1 0 requiere de 9 bits -305 (10) = 1 1 0 0 1 1 0 0 0 1 requiere de 10 bits No se logra con ello una estandarización. VENTAJAS de la representación Signo y Magnitud : 1. Posee un rango simétrico: los números van del +12710 = 011111112 2. pasando por el +010 = 000000002 y el -010 = 100000002 3. hasta el -12710 = 111111112. VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
Ej.: ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 22. 4.1. Representación de Enteros: 4.1.2. COMPLEMENTO a 1: COMPLEMENTO a 1, es una de las notaciones con la cual podemos representar los Enteros = Z El formato de Complemento a uno que nos permite codificar en binario en punto fijo con 8 bits (un byte), al igual que con la representación en Signo y Magnitud, esto nos otorga 1 bit para el signo y 7 bits para la magnitud. Con 8 bits, podemos representar, en teoría al menos 28 = 256 números. Los cuales, según éste formato, van a estar repartidos entre 128 números positivos (bit de signo en 0) y 128 números negativos (bit de signo en 1). Un número Entero negativo se representará colocando como bit de signo un 1 y como mantisa su complementario en valor absoluto. Complementario a 1 -9710 |-9710|= 9710 9710 = 11000012 9710 = 00111102 1 por Negativo SIGNO 1 0 0 1 1 1 1 0 -9710 = 9710 (complementario de 9710 ) C1 (1100001) = 0011110 MAGNITUD Al representar en Complemento a uno, aparece nuevamente el cero signado: 000000002 (+010) y 111111112 (-010). VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 23. 4.1. Representación de Enteros: 4.1.2. COMPLEMENTO a 1: DESVENTAJAS de la representación COMPLEMENTO a 1 : 1. Posee doble representación del cero. Al representar en Complemento a uno, aparece nuevamente el cero signado: +0 = 000000002 (+010) y – 0 = 111111112 (-010) VENTAJAS de la representación COMPLEMENTO a 1 : 1. Posee un rango simétrico: los números van del +12710 = 011111112, pasando por el +010 = 000000002 y el -010 = 111111112, hasta el -12710 = 100000002. Y en forma general, para n-bits, el rango (en decimal) para Complemento a uno es (-2n-1-1; 2n-1-1), o bien ± 2n-1-1. 2. Permite operar aritméticamente. NOTA: al operar se debe sumar el acarreo obtenido al final de la adición/resta realizadas (conocido como end-around carry), en caso de haberlo obtenido, para conseguir el resultado correcto. VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
+ + + 1 2do Paso: ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 24. 4.1. Representación de Enteros: 4.1.2. Aritmética de COMPLEMENTO a 1: Por ejemplo: 2110 +( -9710) = -7610 1er Paso: 2do Paso: Resolver -9710 = |-9710| = 9710 = |11000012| = 100111102 Resolver 2110 + 9710 = 101012 + 0111102 = 01100112 101012 100111102 101100112 2110 ( -9710) ( -7610) Por ejemplo: 210 +( -110) = 110 1er Paso: 2do Paso: Resolver -110 = |-110| = 110 = |000000012| = 111111102 Resolver 210 + 110 = 000000102 + 111111102 = 01100112 000000102 + 111111102 210 ( -110) 1000000002 (end-around carry) acarreo circular Por ejemplo: 10012 + ( – 11112) Resolver -11112 = |-11112| = 100002 1er Paso: Resolver 10012 + ( – 11112) = 10012 + 100002 = 1100112 = (-1102) El acarreo final circular es 0 y por tanto 000000012 110 VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 25. 4.1. Representación de Enteros: 4.1.2. Corolario de COMPLEMENTO a 1: Los protocolos de internet IPv4, ICMP, UDP y TCP usan todos el mismo algoritmo de suma de verificación de 16 bits en complemento a uno. Aunque la mayoría de la computadoras carecen del hardware para manejar acarreo del último bit (end- around carry), la complejidad adicional es aceptada ya que es igualmente sensible a errores en todas las posiciones de bits. En UDP, una representación de todos ceros indica que la suma de verificación opcional ha sido omitida. La otra representación, todos unos, indica un valor 0 en la suma de verificación (las sumas de verificación son obligatorias para IPv4, TCP e ICMP; fueron omitidas en IPv6). VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
Ej.: ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 26. 4.1.3 COMPLEMENTO a 2: COMPLEMENTO a 2 Es necesario solamente cuando vamos a buscar la representación de un número negativo o cuando vamos a leer un formato que corresponde a negativo. Es un formato para representar números con signo fundamentado en el sistema posicional de escritura con base dos: el sistema binario. Primero, se establece el espacio de trabajo, es decir, el número de posiciones binarias de escritura o bits. A m bits tenemos 2m representaciones disponibles. Con 8 bits, podemos representar, 28 = 256 números, los cuales, según éste formato, van a estar repartidos entre 128 números positivos (bit de signo en 0) y 128 números negativos (bit de signo en 1). La representación del cero y la asignada a cada entero positivo corresponde a su escritura en sistema binario, tan sólo añadimos ceros al frente para completar el total de bits a la escritura fija de ser necesario. Reconoceremos que una representación corresponde a un número positivo porque siempre comienza con un bit de Cero. Un número Entero negativo se representará colocando como bit de signo un 1 y como mantisa su complementario en valor absoluto y todos sus ceros menos significativos los invertiremos a unos . -9710 |-9710|= 9710 9710 = 11000012 9710 = 00111102 1 por Negativo SIGNO Complementario a 1 1 1 1 1 1 1 1 0 -9710 = 9710 (complementario de VOLVER AL INDICE 9710 ) C1 (1100001) = 0011110 MANTISA ADOLFO MONTIEL VALENTINI ©
ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 27. 4.1.3 COMPLEMENTO a 2: COMPLEMENTO a 2: Su utilidad principal se encuentra en la sustracción, dado que el procesador solo conoce la adición (suma de binarios binarios negativos). La resta de un número binarios positivo (minuendo) y otro negativo (sustraendo), puede obtenerse sumando al minuendo el complemento a dos (C 2) del sustraendo. Los números binarios positivos se mantienen inalterables El complemento a 2 de un numero binario se obtiene tomando el complemento a 1, y sumándole 1 al bit menos significativo. A continuación se ilustra este proceso para el numero 1001 = 9 Complementario a 1en 8 bits Representación de -9 en un Byte de 8 bits 1 1 1 1 0 1 1 1 Este es un sistema que nos permite representar números binarios de forma negativa, en dónde el bit más significativo (MSB: most significant bit) es el bit del signo. Cuando se agrega el bit del signo 1 al MSB en un Byte de 8 bits, el número Complemento a 2 con signo se convierte en 11110111 y es el número equivalente a – 9. Los Ceros menos significantes se invierten hasta completar la palabra. VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
+ 1 ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 28. 4.1. Representación de Enteros: 4.1.2. Aritmética de COMPLEMENTO a 2: El Complemento a 2 de un número binario se puede considerar equivalente a su negativo de tal manera que la RESTA de un numeral positivo y otro negativo puede resolverse a través de la suma binaria: n(a-b) = a + (C2 de b) En caso de restar sumando utilizando el complemento a 1 (C1), el 1 de arrastre que sale fuera del registro se suma nuevamente al resultado, quedando en el registro el resultado de la resta. Por ejemplo: 210 +( -110) = 110 1er Paso: 2do Paso: Resolver -110 = |-110| = 110 = |000000012| = 111111102 Resolver 210 + 110 = 000000102 + 111111102 = 01100112 000000102 + 111111102 210 ( -110) 1000000002 (end-around carry) acarreo circular 000000012 110 VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 29. 4.1. Representación de Enteros: 4.1.2. Resumen Simplificado: SIGNO y MAGNITUD Para diferenciar el positivo del COMPLEMENTO a 1 Para construir el negativo basta COMPLEMENTO a 2 Para convertir en Complemento a negativo solo se le cambia el bit del con invertir los ceros y unos y por 2, al Complemento a 1 se le debe signo (0 x 1) binario Normal 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 Signo y Magnitud VOLVER AL INDICE ende, cambiar el bit del signo binario Normal 0 0 0 0 1 0 1 0 1 1 1 1 0 1 0 1 Complemento a 1 adicionar (sumar) 1 Complemento a 1 1 1 1 1 0 1 0 1 +1 1 1 1 1 0 1 1 0 Complemento a 2 ADOLFO MONTIEL VALENTINI ©
POSIT. NEGATIVOS POSITIVOS NEG. ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 30. 4.1.4 EXCESO a 2n-1 : EXCESO a 2n-1: Por lo general se considera positivos a los 128 primeros (desde 0 a 127) y negativos a los 128 restantes (desde 128 a 255). Aunque en el Z-80 los considera casi siempre, todos positivos De esta forma, 255 sería equivalente a "-1", 254 a "-2", 253 a "-3", y así sucesivamente hasta 128 que sería en realidad, "-128". Km 0 Km 128 Km -128 Km -127 … Km -3 km -2 Km -1 Km 0 IPor un lado nos acercamos al cero: por Exceso IPor un lado nos alejamos, aumentamos, crecemos | I I I … I … … … I I I I I I Km 0 En los binarios positivos no hay cambios Km 127 Km 128 Km 127 … …Km 253 Km 254 Km 255 0 -1 -2 … … -126 -126 -128 De Forma paralela con el recorrido de un automóvil, que mientras avanza aumenta sus Km y a su vez disminuye la distancia al destino, lo mismo sucede con el Exceso a 2n-1 disminuye de manera proporcional respecto al Complemento a 2. Tabla Representación de Enteros=Z en 8 bits (Simplificada) Decimal Complemento a 2 EXCESO a 2^n-1 Decimal Complemento a 2 EXCESO a 2^n-1 Decimal Complemento a 2 EXCESO a 2^n-1 1 2 7 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 1 . . . . . . . . . 1 1 1 2 2 2 6 5 4 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 2 2 2 5 6 7 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 . . . . . . . . . 0 0 2 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 2 8 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 31. 4.1.4 EXCESO a 2n-1 : EXCESO a 2n-1: Este procedimiento no utiliza bit de signo y considera toda cifra complementaria a 2 como positiva, estableciendo como resultante lea diferencia entre ésta y el rango mayor. En el caso de una cifra de 8 bits será la diferencia entre el C 2 y 127 para números menores a Cero; en el caso de numerales mayores o iguales a Cero, la diferencia se establecerá contra 128, debido a que los rangos de C2 no son simétricos. A ésta diferencia ente C2 y Exceso a 2 se la denomina “desplazamiento”. Pongamos un ejemplo (byte=8 bits): DECIMAL: 118 -118 BINARIO 00111010 10001111 EXCESO a 2n-1 : 00001001 00001001 -125 10000100 00000010 n-1 Para un valor en base 10 de un número entero (N) escrito en Exceso a 2 , se utiliza la fórmula: i=n-1 Nex = [ ( S ai*2i)-2n-1]10 i=n-1 i=0 00001001ex a -118 = [ ( S ai*2i)-2n-1]10 = [ ( 1·23 + 1·20) – 27 ]10 = [ (8 + 1) – 127 ]10 = -11810 i=0 VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 31. 4.1.4 EXCESO a 2n-1 : EXCESO a 2n-1: Este procedimiento no utiliza bit de signo y considera toda cifra complementaria a 2 como positiva, estableciendo como resultante lea diferencia entre ésta y el rango mayor. En el caso de una cifra de 8 bits será la diferencia entre el C 2 y 127 para números menores a Cero; en el caso de numerales mayores o iguales a Cero, la diferencia se establecerá contra 128, debido a que los rangos de C2 no son simétricos. A ésta diferencia ente C2 y Exceso a 2 se la denomina “desplazamiento”. Pongamos un ejemplo (byte=8 bits): DECIMAL: 118 -118 BINARIO 00111010 10001111 EXCESO a 2n-1 : 00001001 00001001 -125 10000100 00000010 n-1 Para un valor en base 10 de un número entero (N) escrito en Exceso a 2 , se utiliza la fórmula: i=n-1 Nex = [ ( S ai*2i)-2n-1]10 i=n-1 i=0 00001001ex a -118 = [ ( S ai*2i)-2n-1]10 = [ ( 1·23 + 1·20) – 27 ]10 = [ (8 + 1) – 127 ]10 = -11810 i=0 VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
0100 1 ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 32. 4.2 Reales, Punto FLOTANTE La representación de los números Reales con coma flotante en los sistemas de numeración del computador, están basados en la notación científica exponencial, de modo que su formato pueda ser representado en un espacio normativo llamado Norma IEEE 754, de 32 ó 64 bits, los cuales están divididos en tres (3) bloques. Cada bloque representa una parte del número representado. De izquierda a derecha, el primer bloque tiene una capacidad de 1 bit y se utiliza para representar el signo (0 = positivos y 1= negativos). El segundo bloque con capacidad de 8 ó 11 bits para representar el exponente y el bloque de más a la derecha, de 23 ó 52 bits para la representación de la mantisa o número representado. Existe también una representación llamada EXTENDIDA, que contiene 80 bits ó 10 Bytes. 26,1875 10 26,187510=11010,00112 2610 = 11012 0,187510= 0,00112 26,1875 10 = 2,61875 x 10 1 = 11010.0011 = 1.10100011 x 2 4 = 1.10100011 x 2 OVERFLOW MANTISA BASE EXPONENTE 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 Signo 0=positivo 1=Negativo CEROS NO SIGNIFICATIVOS EXPONENTE MANTISA (NORMA IEEE 754 de 32 bits) CEROS NO SIGNIFICATIVOS ADOLFO MONTIEL VALENTINI ©
0100, ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 33. 4.2.1 Aritmética con Punto Flotante En el caso de simple precisión, o de 32 bits, el valor del exponente (e) varía de 0 = (00000000)2 hasta 255 = (11111111)2 para enteros positivos y no permitiría representar negativos; por esa razón el almacenamiento de dicho valor se realiza en forma sesgada como un valor NO negativo (s). Para determinar dicho valor de almacenamiento o valor sesgado del exponente (v), se toma de forma arbitraria un cero o punto medio al centro de este rango de valores, obteniendo una partición a la izquierda de 127 bits y una partición a la derecha de 128 bits. De esta manera podremos registrar los valores positivos y negativos del exponente (e) en forma positiva. Para determinar dichos valores utilizaremos la siguiente fórmula: e=v – s Para poder realizar esta conversión de forma manual directamente, podemos utilizar en el cálculo primario la numeración decimal, traduciéndola a binaria para poderla registrar en su representación mecanicista, o de modo inverso, podemos desde la representación mecanicista re-expresarla en forma decimal para su cálculo. En el caso anterior, donde 26,1875 10 es equivalente a 1.10100011 x 2 4 = 1.10100011 x 2 el exponente de la base es 4 (e = 4), entonces e = v – s es 4 = v – 127, de lo que deducimos que v = 131 o lo que es igual a v = 10000011 VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
0 ORGANIZACI ÓN de COMPUTADOR 4.2.1 Aritmética con Punto Flotante Otro ejemplo podría ser: Sea X = 13,625 = 1101.1012 1101.1012 = 1.1011012 x 2 3 I.N.E.T. 34. Entonces si e = v – s , y conocemos e=3 = v – 127, deducimos que v = 130 o lo que es igual a v = 10000010 SIGNO del NÚMERO EXPONENTE SESGADO 1000001 PARTE FRACCIONARIA de la MANTISA 10110100000000000000000 Debemos recordar que la notación en el bloque de la mantisa es solamente de la parte fraccionaria del numeral, quedando fuera el primer 1 (uno), o parte entera, debido a que por norma siempre está presente y es una forma de aprovechamiento del recurso espacial de la memoria. Los ceros de relleno completan los espacios libres y carecen de valor. VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
1 ORGANIZACI ÓN de COMPUTADOR I.N.E.T. 35. Tabla de valores del EXPONENTE SESGADO 4.2.1 Aritmética con Punto Flotante e10 e = -127 e = -126 V10 = e10(-e10) + KS V = 127 – 127 V = 127 – 126 S10 0 V2 = Exponente Sesgado 0000 0000 0000 0001 … … … … … e = -15 e = -14 e = -13 e = -12 V = 127 – 15 V = 127 – 14 V = 127 – 13 V = 127 – 12 112 113 114 115 0111 0000 0111 0001 0111 0010 0111 0011 e10 = exponente en base decimal; V10 = valor sesgado en base decimal; e10(-e10) = KS = constante de sesgamiento ; V2 = Exponente Sesgado en base binaria e = -11 e = -10 e = -9 e = -8 e = -7 e = -6 e = -5 e = -4 e = -3 e = -2 e = -1 e=0 e=1 e=2 e=3 e=4 e=5 e=6 e=7 e=8 e=9 e = 10 e = 11 e = 12 e = 13 e = 14 V = 127 – 11 V = 127 – 10 V = 127 – 9 V = 127 – 8 V = 127 – 7 V = 127 – 6 V = 127 – 5 V = 127 – 4 V = 127 – 3 V = 127 – 2 V = 127 – 1 V = 0 + 127= 127 V = 1 + 127 V = 2 + 127 V = 3 + 127 V = 4 + 127 V = 5 + 127 V = 6 + 127 V = 7 + 127 V = 8 + 127 V = 9 + 127 V = 10 + 127 V = 11 + 127 V = 12 + 127 V = 13 + 127 V = 14 + 127 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 0111 0100 0111 0101 0111 0110 0111 0111 0111 1000 0111 1001 0111 1010 0111 1011 0111 1100 0111 1101 0111 1110 0111 1111 1000 0000 1000 0001 1000 0010 1000 0011 1000 0100 1000 0101 1000 0110 1000 0111 1000 1000 1000 1001 1000 1010 1000 1011 1000 1100 1000 1101 … … … … … e = 127 e = 128 V = 127 + 127 V = 128 + 127 254 255 1111 1110 1111 1111 VOLVER AL INDICE ADOLFO MONTIEL VALENTINI ©
ORGANIZACI ÓN de COMPUTADOR MATERIAL REFERENCIAL I.N.E.T. 3. M Morris Mano – Lógica Digital y Diseño De Computadores J. L. Hennessy-D. Patterson Arquitectura de Computadores Mc Graw-Hill William Stallings Org. y Arquitectura de computadores Prentice Hall Andrew Tanenbaum Erika Vilches Ing. J.L. Jiménez Hans Rautenberg Carlos J. Pes Rivas VOLVER AL INDICE Organización de Computadoras Organización Computacional Teoría Electrónica Sistemas numéricos, Diseño de Circ. Prentice Hall ITSM 2008 Ladelec Univ. Concepción, CL ADOLFO MONTIEL VALENTINI ©
ORGANIZACIÓN del COMPUTADOR I.N.E.T. 29. Propósito General: El propósito de realizar ésta presentación, es el abordar los temas del bolillado de Organización del Computador I, como guía e introducción a los diferentes temas. La profundización y ampliación de los mismos la puede obtener a través de la bibliografía citada. Todos los aportes posibles, serán recibidos y analizados para su posible incorporación en la reedición de este material. Correo de recepción de aportes: [email protected] Análisis y compilación del material ante expuesto: Adolfo Montiel Valentini ® 2011 Prof. Daniel Zavadski– Organización del Computador I Instituto Normal de Enseñanza Técnica (INET) VOLVER AL INDICE I.N.E.T