Aritmética de punto fijo - Universidad Nacional del...

74
Organización de Computadoras Organización de Computadoras Depto. Cs. e Ing. de la Comp. Depto. Cs. e Ing. de la Comp. Universidad Nacional del Sur Universidad Nacional del Sur Módulo 03 Módulo 03 Aritmética de Aritmética de Punto Fijo Punto Fijo

Transcript of Aritmética de punto fijo - Universidad Nacional del...

Page 1: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de ComputadorasDepto. Cs. e Ing. de la Comp.Depto. Cs. e Ing. de la Comp.Universidad Nacional del SurUniversidad Nacional del Sur

Módulo 03Módulo 03Aritmética deAritmética de

Punto FijoPunto Fijo

Page 2: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 22

CopyrightCopyrightCopyright © 2011-2015 A. G. StankeviciusCopyright © 2016 Leonardo de - Matteis

Se asegura la libertad para copiar, distribuir y modificar este documento de acuerdo a los términos de la GNU Free Documentation License, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation,sin secciones invariantes ni textos de cubierta delantera o trasera.

Una copia de esta licencia está siempre disponible enla página http://www.gnu.org/copyleft/fdl.html.

Page 3: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 33

ContenidosContenidosClasificación de las operaciones.

Codificación decimal en binario (BCD).

Representación SM.

Representación RC.

Representación DRC.

Operaciones de suma y de resta.

Detección de overflow.

Otras codificaciones.

Page 4: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 44

Tipos de operacionesTipos de operacionesLas operaciones aritméticas se clasificanen tres grandes categorías:

Operaciones aritméticas estándares.

Funciones aritméticas elementales.

Operaciones pseudo-aritméticas.

A su vez, se dispone esencialmentede dos modos de operación:

Operación en punto fijo.

Operación en punto flotante.

Page 5: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 55

Tipos de operacionesTipos de operacionesOperaciones aritméticas estándares:

Esta categoría incluye las cuatro funciones aritméticas primitivas: suma, resta, multiplicación y división,tanto en punto fijo como en punto flotante.

Toda otra función matemática podrá ser expresadacomo una composición de estas cuatro operaciones.

Page 6: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 66

Tipos de operacionesTipos de operacionesFunciones aritméticas elementales:

Esta categoría incluye aquellas operaciones usadas frecuentemente en cómputos matemáticos, tales como exponencial, raíz cuadrada, funciones hiperbólicas, etc.

No todas las computadoras implementan estas funciones en hardware, por lo que en generalse suelen implementar en software o en firmware(a nivel de microcódigo).

Page 7: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 77

Tipos de operacionesTipos de operacionesOperaciones pseudo-aritméticas:

Estas categoría incluye operaciones que requierenun cierto grado de cálculo aritmético, pero están relacionadas con la ejecución de un programa.

Consta de dos subcategorías:

Aritmética de direccionamiento: operaciones relacionadas al cómputo de la dirección efectivaen memoria de los datos.

Aritmética de edición de datos: operaciones lógicas y de transformación de datos tales como, load/store, empaquetado/desempaquetado, etc.

Page 8: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 88

Modos de operaciónModos de operaciónOperación en punto fijo:

Este modo de operación es usado en problemas comerciales o cálculos estadísticos y se caracteriza por tener el punto decimal en una posición prefijada.

Consta de dos subcategorías:

Operación entera: los resultado se alinean enel extremo derecho, como si el punto decimalocupara esa posición.

Operación fraccionaria: los resultados se alinean enel extremo izquierdo, como si el punto decimal ocupara esa posición.

Page 9: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 99

Modos de operaciónModos de operaciónOperación en punto flotante:

Este modo de operación es usado en problemasde tipo ingenieril o científico, donde frecuentemente se requiere escalamiento para manejar tanto magnitudes muy grandes como muy pequeñas.

Consta de dos subcategorías:

Operación normalizada: el resultado de toda operación es normalizado antes de ser retornado.

Operación no normalizada: el resultado de toda operación es retornado tal cual fuera obtenido.

Page 10: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 1010

Precisión de las operacionesPrecisión de las operacionesLas instrucciones aritméticas también pueden ser clasificadas de acuerdo a su precisión:

Precisión simple (SP): se refiere a las operaciones definidas sobre operandos de tamaño estándar,esto es, con operando de longitud igual a una palabra.

Precisión doble (DP): se refiere a las operaciones definidas sobre operandos de tamaño doble, esto es, con operandos de longitud igual a dos palabras.

Triple, cuádruple y las restantes precisiones pueden definirse de manera análoga.

Page 11: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 1111

Binario vs. decimalBinario vs. decimalAlgunas arquitecturas ofrecen la posibilidadde operar directamente sobre la base decimal.

La conversión (operaciones de pack y de unpack), requiere de instrucciones para manejar los datos directamente en formato decimal.

Por caso, la instrucción ADD puede hacer referenciaa 16 operaciones aritméticas distintas, a saber:

SP ó DPFXPó

FLP

entero ófraccionario

normalizado óno normalizado

binarioó

decimal

Page 12: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 1212

Codificación de dígitosCodificación de dígitosPara codificar cada dígito decimal es necesario hacer uso de k bits, donde:

k = é log2 10 ù = 4

Es posible postular múltiples codificaciones para cada dígito decimal haciendo usode esos bits. Por ejemplo:

0123

0000000100100011

0000000100110111

0011010001010110

0000000100110101

Page 13: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 1313

Código BCD-2421Código BCD-2421El código Binary Coded Decimal 2421 denota en su nombre el peso asignado a cada posiciónen la codificación.

Se trata de un sistema posicional.

Presenta una línea de simetría porautocomplementación.

Esta característica facilita el cómputode la diferencia entre magnitudes deigual signo y la suma de magnitudesde distinto signo.

0123456789

24210000000100100011010010111100110111101111

Page 14: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 1414

Código BCD-8421Código BCD-8421El código BCD-8421 codifica cada dígito decimal directamente en binario.

También se lo conoce como códigoBCD natural.

Se trata de un sistema posicional.

El peso de cada posición coincide conlas sucesivas potencias de dos.

No es posible encontrar ninguna líneade simetría que resulte de utilidad.

0123456789

84210000000100100011010001010110011110001001

Page 15: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 1515

Código BCD exceso-3Código BCD exceso-3El código BCD exceso-3 también codifica cada dígito decimal en binario, si bien les sumapreviamente un exceso.

Producto del exceso, deja de serun sistema posicional.

Como se puede apreciar, resultasimétrico por autocomplementación.

En esta codificación el acarreo binariocoincide con el acarreo decimal.

0123456789

----0011010001010110011110001001101010111100

Page 16: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 1616

Código BCD exceso-3Código BCD exceso-3Es un código decimal donde la suma y la resta son más sencillas de implementar que en otro códigos decimales.

Útil al principio de la historia de la computación moderna, cuando las personas no querían convertir de binario a decimal.

Utilizado más ampliamente en la década de 1970 en calculadoras electrónicas y máquinas registradoras.

Page 17: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 1717

Código GrayCódigo GrayEl código Gray es simétrico por construcción.

También se lo conoce como códigoprogresivo cíclico.

Se trata de una codificaciónno posicional.

Como se puede observar presentamúltiples líneas de simetría.

Nótese que entre la codificación deun dígito y el siguiente se modificaa lo sumo un bit.

0123456789

----0000000100110010011001110101010011001101

Page 18: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 1818

Aritmética de punto fijoAritmética de punto fijoRecordemos que elegida una base r y una precisión p (cantidad de dígitos), el aportede cada dígito al valor denotado depende exclusivamente de su posición.

La idea es que los primeros n dígitos denoten la parte entera y los restante k dígitos la parte fraccionaria.

La elección de n y de k tiene como efecto colateral fijar la posición del punto decimal, razón por la cualhablamos de aritmética de punto fijo (FXP).

Usualmente, n = 0 o bien k = 0.

Page 19: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 1919

Aritmética de punto fijoAritmética de punto fijoUn número signado representará una magnitud positiva o negativa, pero no ambas.

Usualmente se reserva el dígito de más a la izquierda (esto es, el más significativo), para denotar el signo.

De los r dígitos válidos sólo se han de utilizar dos para codificar el signo.

Por caso, sea X = (dn-1, …, d1, d0, d-1, …, d-k)r

un número representado en una base r, entonces:

dn-1 = 0 cuando X ≥ 0

r-1 cuando X < 0

Page 20: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 2020

Aritmética de punto fijoAritmética de punto fijoLas posiciones del punto decimal y del signo dependerán de n y de k.

Cuando k = 0, el signo se ubica en el extremo izquierdo y el punto decimal en el extremo derecho.

Cuando n = 0, el signo se ubica en el extremo izquierdo y el punto decimal inmediatamente a su izquierda (justo antes del primer dígito fraccionario).

La conversión entre estas dos variantes es sencilla, basta con multiplicar o dividir por una potencia de r.

Page 21: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 2121

Aritmética de punto fijoAritmética de punto fijoLa representación interna del punto decimales implícita, no requiere reservar espaciode almacenamiento.

Para representar un número positivo, todos los dígitos salvo el de signo codifican su magnitud.

Todas las representaciones que estudiaremos coinciden al codificar número positivos.

En cambio, para representar a un número negativo aparecen múltiples alternativas.

Page 22: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 2222

Signo-magnitud (SM)Signo-magnitud (SM)Esta representación es análoga a la utilizada cotidianamente:

La ausencia de signo representa un número positivo,y la presencia del signo – representa a un número negativo.

En la codificación signo-magnitud, el dígito de signo toma el valor 0 en los positivos y r-1 en los negativos.

Nótese que +0 y -0 denotan al mismo valor,por lo que la representación del cero no es única.

Page 23: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 2323

Signo-magnitud (SM)Signo-magnitud (SM)Sea X el complemento de un dado número X.

En esta representación, X y X difieren sóloen el dígito que codifica al signo.

Comprobemos esta situación con un ejemplo parauna base r = 2 y con una precisión p = 8:

(00101011)2 = +(43)10 (10101011)2 = -(43)10

(01111111)2 = +(127)10 (11111111)2 = -(127)10

(00000000)2 = +(0)10 (10000000)2 = -(0)10

Page 24: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 2424

Signo-magnitud (SM)Signo-magnitud (SM)¿Qué rango de representación brinda usar SM con n dígitos en una base r?

El menor número posible es (r-1 r-1 r-1 … r-1)r.

El mayor número posible es (0 r-1 r-1 … r-1)r.

Es decir, el rango de representación parasigno-magnitud es [-(rn-1 - 1), rn-1 - 1].

Por caso, para una base r = 2, con n = 8 dígitos binarios, el rango se calcula como:

[-(27 - 1), 27 - 1] = [-127, 127]

Page 25: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 2525

Complemento a la base (RC)Complemento a la base (RC)Las computadoras suelen hacer uso de algún esquema de complementación para representara los números negativos.

Recordemos que esto simplifica las operaciones suma de números de distintos signo, o lo que es lo mismo, de resta de números de igual signo.

Imaginemos el odómetro de un auto el cual queremos vender. Le pedimos a un mecánico amigo que le rebobine el odómetro, pero él se descuida y se pasa de largo... ¿qué sucede?

Page 26: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 2626

Complemento a la base (RC)Complemento a la base (RC)Supongamos que el odómetro tiene sólo tres dígitos (a manera de simplificación).

¿Qué sucede al tratar de retroceder 5 kilómetros estando inicialmente en el kilómetro 003?

003 → 002 → 001 → 000 → 999 → 998

En algún sentido, 998 tiene que representaral número -2.

Nótese que al sumar un valor positivo con su complemento negativo, se obtiene siempre el mismo resultado... ¿cuál es ese valor? ¿y al tener n dígitos?

Page 27: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 2727

Complemento a la base (RC)Complemento a la base (RC)El resultado anterior permite determinaren general el valor de X para cualquier X.

Como comprobamos, X + X = rn, por lo que despejando X nos queda X = rn – |X|.

No es conveniente tener que computar una resta toda vez que se desee saber qué valor representa un cierto número negativo en complemento a la base.

Por suerte, como rn = (rn – 1) + 1, se puede expresar a X como X = ((rn – 1) – |X|) + 1.

Obsérvese que rn – 1 es un número especial, está compuesto de n dígitos iguales, de valor r-1.

Page 28: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 2828

Complemento a la base (RC)Complemento a la base (RC)En síntesis, el mecanismo simplificado para expresar un cierto número negativo en complemento a la base consiste en:

Primero expresar el valor absoluto del número en cuestión en el sistema complemento a la base(que por tratarse de un número positivo coincidecon su representación en SM).

Complementar cada dígito del número, esto es, reemplazar cada dígito di por el valor (r-1) – di

(nótese que el signo también es complementado)

Finalmente, incrementar en 1 el valor obtenido.

Page 29: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 2929

Complemento a la base (RC)Complemento a la base (RC)Para r = 2 y n = 8 se desea saber qué valores codifican las siguientes cadenas de bits:

Cuando el bit de signo es 0, la cosa es fácil:

En cambio, si el bit de signo es 1, se trata de un número negativo el cual se debe complementar:

(00001111)2 = +(15)10 (01001101)2 = +(77)10

(01111111)2 = +(127)10 (00000000)2 = +(0)10

(10001111)2 =-[(01110000)2 + 1] = -(113)10

(10000000)2 =-[(01111111)2 + 1] = -(128)10

Page 30: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 3030

Complemento a la base (RC)Complemento a la base (RC)¿Qué rango de representación brinda usar complemento a la base r con n dígitos?

El menor número posible es (r-1 0 0 … 0)r.

El mayor número posible es (0 r-1 r-1 … r-1)r.

Es decir, el rango de representación en complemento a la base es [-rn-1, rn-1 – 1].

Por caso, para una base r = 2, con n = 16 dígitos binarios, el rango se calcula como:

[-215, 215 – 1] = [-32768, 32767]

Page 31: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 3131

Complemento a la base disminuida (DRC)Complemento a la base disminuida (DRC)Recordemos que al representar un número negativo en complemento a la base debemos incrementar en 1 luego de complementar.

Esta operación puede ser costosa en tiempo de ejecución, sobre todo si existen múltiples acarreos.

Una posibilidad para evitar esta operación consisteen representar los números negativos haciendo uso del complemento a la base disminuida.

Por caso, para un cierto número positivo X,su complemento a la base disminuida X se calcula directamente como X = (rn – 1) – |X|.

Page 32: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 3232

Complemento a la base disminuida (DRC)Complemento a la base disminuida (DRC)Revisitando el ejemplo del odómetro, el valor representado se debe retrasar una unidad (ya que falta tener en cuenta el incremento final).

0003 → 0002 → 0001 → 0000 → 9999 → 9998 → 9997

+3 → +2 → +1 → +0 → -0 → -1 → -2

Como se puede apreciar existen nuevamente dos representaciones para el cero:

+0 = (0 0 … 0 0)r

-0 = (r-1 r-1 … r-1 r-1)r

Page 33: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 3333

Complemento a la base disminuida (DRC)Complemento a la base disminuida (DRC)El mecanismo simplificado para expresarun cierto número negativo en complementoa la base disminuida ahora consiste en:

Primero expresar el valor absoluto del númeroen cuestión en el sistema complemento a la base disminuida (que por tratarse de un número positivo coincidirá con su representación en signo-magnitudy en complemento a la base).

Finalmente, complementar cada dígito del número, esto es, reemplazar cada dígito di por el valor(r-1) – di (el signo también es complementado).

Page 34: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 3434

Complemento a la base disminuida (DRC)Complemento a la base disminuida (DRC)Para la base r = 2 se desea saber qué números codifican las siguientes cadenas de bits:

Cuando el bit de signo es 0, la cosa sigue siendo fácil:

En cambio, si el bit de signo es 1, se trata deun número negativo el cual se debe complementar:

(00001111)2 = +(15)10 (01001101)2 = +(77)10

(01111111)2 = +(127)10 (00000000)2 = +(0)10

(10001111)2 =-(01110000)2 =-(112)10

(10000000)2 =-(01111111)2 =-(127)10

Page 35: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 3535

Complemento a la base disminuida (DRC)Complemento a la base disminuida (DRC)¿Qué rango brinda usar complemento a la base disminuida con n dígitos para una base r?

El menor número es (r-1 0 0 … 0)r.

El mayor número es (0 r-1 r-1 … r-1)r.

Es decir, el rango de representación en complemento a la base disminuida es [-(rn-1 – 1), rn-1 – 1].

Por caso, para una base r = 2, con n = 16 dígitos binarios, el rango se calcula como:

[-(215 – 1), 215 – 1] = [-32767, 32767]

Page 36: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 3636

Ejemplo comparativoEjemplo comparativoA manera de comparación, contrastemosla representación del número (547)10 usandon = 16 dígitos y una base r = 2.

Tener en cuenta que (547)10 = (1000100011)2.

signo-magnitudcomplemento a 1complemento a 2

000000100010001100000010001000110000001000100011

signo-magnitudcomplemento a 1complemento a 2

+(547)10

100000100010001111111101110111001111110111011101

-(547)10

Page 37: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 3737

Extensión de signoExtensión de signoEn el ejemplo anterior el número en binario no contaba con la cantidad requerida de dígitos.

El mecanismo para obtener la cantidad deseada de dígitos se denomina extensión de signo.

En el caso de representar un número positivo se debe completar con ceros, mientras que al representarun número negativo se debe completar con unos, ya que de esa forma no se altera el valor representado.

Es decir, en ambos casos se replica o “extiende”el dígito de signo.

Page 38: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 3838

AnálisisAnálisisEn la elección de un sistema de representación de números signados se deben tener en cuenta diversos aspectos:

¿Qué tan sencillo resulta detectar el signo?

¿Resultan equivalentes los rangos de representaciónpara positivos y negativos?

¿El cero tiene una representación unívoca?

¿Qué tan eficiente resulta la implementaciónde las operaciones básicas y de la operaciónde complementación?

Page 39: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 3939

AnálisisAnálisisAnalicemos los tres sistemas a la luzde los criterios recién introducidos:

La detección del signo es equivalente en los tres casos, consiste en inspeccionar el primer dígito.

En relación a la simetría del rango, signo-magnitud y complemento a la base disminuida resultan simétricos, mientras que complemento a la base no.

El cero tiene representación doble en signo-magnitud y en complemento a la base disminuida, pero en complemento a la base no.

Resta analizar la eficacia de las operaciones.

Page 40: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 4040

Suma en SMSuma en SMPara sumar dos números codificados en SMse aplica el siguiente algoritmo:

Sean X = (Xn-1 … X1X0) e Y = (Yn-1 … Y1Y0)los números a ser sumados.

Si Xn-1 = Yn-1 (números de igual signo), se sumanlas magnitudes (Xn-2 … X1X0) e (Yn-2 … Y1Y0).

En este caso el signo del resultado será Xn-1.

Si hay acarreo en la posición del signo, entoncesel resultado es inválido pues se produjo un overflow.

Page 41: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 4141

Suma en SMSuma en SMContinúa:

En cambio, si Xn-1 ≠ Yn-1 se deben compararlas magnitudes y en caso que |X| < |Y|,se procede a intercambiar los valores X e Y.

Independientemente de que se haya intercambiadoo no, el resultado buscado se obtiene restandola magnitud (Yn-2 … Y1Y0) a (X

n-2 … X

1X0).

En este caso el signo del resultado también será Xn-1 (nótese que será el signo correcto, es decir, el signo del número más grande en valor absoluto).

Page 42: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 4242

EjemploEjemploAsumida una base r = 2 y una precisión n = 8, se desean realizar las siguientes sumas entre números codificados en SM:

Con operandos de un mismo signo:

Con operandos de distintos signo:

(0 00011001)2 = +(25)10

+(0 0111110)2 = +(62)10

(0 1010111)2 = +(87)10

(0 1010100)2 = +( 84)10 (1 01111000)2 = -(120)10

+(1 1111000)2 = -(120)10 -(0 1010100)2 = +( 84)10

(1 0100100)2 = -( 36)10

Page 43: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 4343

Detección de overflowDetección de overflowAl operar en signo-magnitud sólo se puede producir overflow al sumar númerosde igual signo.

El mecanismo de detección del overflow consiste en inspeccionar el acarreo a la posición del signo: si hubo acarreo, se debe descartar el resultado por inválido.

En contraste, no es posible provocar un overflowal sumar números de distinto signo.

En ese caso el resultado siempre será más pequeño (en valor absoluto) que el mayor de los operandos (también en valor absoluto).

Page 44: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 4444

EjemploEjemploAsumida una base r = 2 y una precisión n = 8, se desean realizar las siguientes operaciones entre números codificados en SM:

Con operandos positivos:

Con operandos negativos:

(0 11010111)2 = +(87)10

+(0 0111110)2 = +(62)10

(0 0010101)2 = OV

(1 10010100)2 = -( 20)10

+(1 1111110)2 = -(126)10

(1 0010010)2 = OV

Page 45: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 4545

Suma en DRCSuma en DRCPara sumar dos números en complemento a la base disminuida se usa el siguiente algoritmo:

Sean X e Y los números a ser sumados y seanS = (Sn-1 … S1S0) los dígitos del resultado yC = (CnCn-1 … C1) los acarreos que se generen.

La suma preliminar se obtiene sumando la totalidad de los dígitos, signo incluido.

Si Xn-1 = Yn-1 = 0 (ambos operandos positivos), Cn

es necesariamente 0, y el resultado preliminar esel definitivo, pero si Sn-1 = 1, se produjo overflow.

Page 46: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 4646

Suma en DRCSuma en DRCContinúa:

Si Xn-1 ≠ Yn-1 (operandos de distinto signo),se estudia el acarreo de salida (Cn).

Si Cn = 0, el resultado preliminar es el definitivo.

Si Cn = 1, se descarta el acarreo e incrementandoen 1 al resultado preliminar se obtiene el definitivo.

Finalmente, si Xn-1 = Yn-1 = 1 (ambos operandos negativos), Cn es necesariamente 1, y el resultado definitivo se obtiene incrementando en 1 al resultado preliminar, pero si Sn-1 = 0, se produjo overflow.

Page 47: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 4747

EjemploEjemploAsumida una base r = 2 y una precisión n = 8, se desean realizar las siguientes operaciones entre números codificados en DRC:

Con operandos positivos:

Como era de esperar, Cn = 0. Por otra parte, comoSn-1 = 0, el resultado preliminar es el definitivo:

(000101001)2 = +(41)10

+( 00100110)2 = +(38)10

( 01001111)2 = +(79)10

(01001111)2 = +(79)10

Page 48: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 4848

EjemploEjemploContinúa:

Con operandos de distinto signo:

En esta oportunidad, Cn = 1. Se descarta el acarreo de salida, pero se debe incrementar en 1 el resultado preliminar para obtener el definitivo:

(111010110)2 = -(41)10

+( 01100010)2 = +(98)10

( 00111000)2 = +(56)10

(00111001)2 = +(57)10

Page 49: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 4949

Detección de overflowDetección de overflowAl operar en complemento a la base disminuida sólo se puede producir overflow al sumar números de igual signo.

El mecanismo de detección del overflow consisteen inspeccionar el bit de signo del resultado: en caso de no ser el esperado, se produjo un overflow.

Esta detección equivale a computar Cn Å Cn-1. Verificar que está expresión cubre todos los casos.

Al igual que en las restantes representaciones,no es posible provocar un overflow al sumarnúmeros de distinto signo.

Page 50: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 5050

EjemploEjemploAsumida una base r = 2 y una precisión n = 8, se desea realizar la siguiente operación entre números codificados en DRC:

Con operandos negativos:

Como era de esperar, Cn = 1. No obstante, el signo del resultado es incorrecto, se produjo overflow.

Nótese que Cn Å Cn-1 = 1, pues Cn = 1 y Cn-1 = 0.

(110110111)2 = -(72)10

+( 11000000)2 = -(63)10

( 01110111)2 = OV

Page 51: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 5151

Suma en RCSuma en RCPara sumar dos números en complementoa la base se usa el siguiente algoritmo:

Sean X e Y los números a ser sumados, seanS = (Sn-1 … S1S0) los dígitos del resultado yC = (CnCn-1 … C1) los acarreos que se generen.

La suma definitiva se obtiene sumando la totalidadde los dígitos, signo incluido.

Si Xn-1 = Yn-1 = 0 (ambos operandos positivos),Cn es necesariamente 0, pero si Sn-1 = 1 (el signodel resultado es incorrecto), se produjo overflow.

Page 52: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 5252

Suma en RCSuma en RCContinúa:

Si Xn-1 ≠ Yn-1 (operandos de distinto signo), en casode generarse acarreo de salida, se descarta.

Finalmente, si Xn-1 = Yn-1 = 1 (ambos operandos negativos), Cn es necesariamente 1, este acarreo también se descarta, pero si Sn-1 = 0 (el signodel resultado es incorrecto), se produjo overflow.

Page 53: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 5353

EjemploEjemploAsumida una base r = 2 y una precisión n = 8, se desean realizar las siguientes sumas entre números codificados en RC:

Con operandos positivos:

Como era de esperar, Cn = 0. A su vez, considerando que Sn-1 = 0, el resultado es correcto pues no se produjo overflow.

(000010110)2 = +(22)10

+( 00010010)2 = +(18)10

( 00101000)2 = +(40)10

Page 54: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 5454

EjemploEjemploContinúa:

Con operandos de distinto signo:

En esta oportunidad, Cn = 1. Se descarta el acarreo de salida y como no se puede producir overflow con operandos de distinto signo el resultado obtenidoes necesariamente correcto.

(111010111)2 = -(41)10

+( 01100010)2 = +(98)10

( 00111001)2 = +(57)10

Page 55: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 5555

Detección de overflowDetección de overflowAl operar en complemento a la base sólo se puede producir overflow al sumar númerosde igual signo.

El mecanismo de detección del overflow es análogo al anterior: se inspecciona el bit de signo del resultado y si no es el esperado, es porque se produjo overflow.

Esta detección equivale a computar Cn Å Cn-1.

Recordemos que al igual que en las restantes representaciones, no es posible provocar overflowal sumar números de distinto signo.

Page 56: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 5656

EjemploEjemploAsumida una base r = 2 y una precisión n = 8, se desea realizar la siguiente operación entre números codificados en RC:

Con operandos negativos:

Como era de esperar, Cn = 1. No obstante, el signo del resultado es incorrecto, se produjo overflow.

Nótese que Cn Å Cn-1 = 1, pues Cn = 1 y Cn-1 = 0.

(110000000)2 = -(128)10

+( 11111111)2 = -( 1)10

( 01111111)2 = OV

Page 57: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 5757

AnálisisAnálisisPara completar el análisis comparativo de las tres representaciones alternativas nos resta estudiar la eficiencia de sus implementaciones:

Para SM, debe considerarse que para implementar una suma se debe llevar adelante una comparación de magnitudes; esta comparación se implementa a nivel de hardware analizando el signo de la diferencia entre las magnitudes.

Es decir, toda vez que se sume en SM, se debeen el peor caso primero restar y luego sumar(por lo que hay que disponer de ambos circuitos).

Page 58: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 5858

AnálisisAnálisisContinúa:

Para DRC sucede algo análogo: en el peor caso (esto es, cuando se produce acarreo de salida), para sumar dos magnitudes se debe realizar también dos operaciones sucesivas de suma.

RC se destaca por ser la representación más eficiente, para realizar una suma simplemente se lleva adelante la suma propiamente dicha.

Finalmente, RC y DRC permiten implementar la operación de resta usando el propio circuito sumador al combinarlo con la operación de complementación.

Page 59: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 5959

Cambio de precisiónCambio de precisiónAl cambiar la precisión de un cierto operandose debe tener en cuenta la representación numérica subyacente.

En el caso de SM, aumentar la precisión de un operando consiste en agregar ceros a la izquierdade la magnitud representada, sin afectar al signo.

En el caso de RC y de DRC, aumentar la precisiónde un operando consiste en extender su signo, replicando su valor tantas veces como seanecesario.

Page 60: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 6060

DesplazamientosDesplazamientosLa implementación de las operaciones de desplazamiento también debe tener en cuenta la representación numérica subyacente.

Para desplazar a derecha o izquierda un número codificado en SM, se desplazan libremente todoslos bits salvo el de signo, el cual debe quedar fijo.

Para desplazar a derecha un número codificado en RC o en DRC, se desplazan todos los bits recordando que deben ir ingresando copias del bit de signo.

En contraste, para desplazar a izquierda se desplazan todos los bits salvo el de signo, el cual queda fijo.

Page 61: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 6161

Suma en BCD exceso-3Suma en BCD exceso-3En caso de operar usando la codificación BCD exceso-3, se debe contemplar qué sucede con el acarreo en cada uno de los dígitos decimales.

Si al sumar la codificación en binario de dos dígitos decimales se produce acarreo, los excesos se cancelan, por lo que debe ser restaurado.

Caso contrario, si al sumar la codificación en binario de dos dígitos decimales no se produce acarreo,los excesos se acumulan, por lo que se debe contrarrestar el exceso adicional.

Page 62: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 6262

EjemploEjemploSe desea calcular la suma de los siguientes operandos codificados en BCD exceso-3, usando el esquema signo-magnitud.

+(148)10 = ( 00110 01001 01110 1011 )BCD-3

+(71)10 = +( 0011 0011 1010 0100 )BCD-3

( 0011 1000 0001 1111 )

-0011 +0011 -0011

+(219)10 = ( 0011 0101 0100 1100 )BCD-3

en rojo se indicael acarreo de salida

de cada dígito decimal

en verde se destacael ajuste de los excesos

Page 63: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 6363

EjemploEjemploSe desea calcular la suma de los siguientes operandos codificados en BCD exceso-3, usando el esquema DRC (complemento a 9).

-(148)10 = (1 11001 10110 10000 0100 )BCD-3

-(71)10 = +( 1100 1100 0101 1011 )BCD-3

( 1001 0111 1101 1111 )

+0011 +0011 -0011 -0011

(0 11000 10100 10101 1100 )BCD-3

+( 0011 0011 0011 0100 )BCD-3

( 1111 1101 1110 0000 )

-0011 -0011 -0011 +0011

-(219)10 = ( 1100 1010 1011 0011 )BCD-3

Page 64: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 6464

Detección de overflowDetección de overflowEl operar usando la codificación BCD exceso-3 no afecta al mecanismo de detección dede overflow del esquema de representaciónpara números negativos que se haya elegido.

En otras palabras, al emplear SM se inspeccionael acarreo a la posición del signo, mientras queal adoptar RC o DRC se analiza el signo del resultado,o bien directamente se contrastan los acarreosde salida y a la posición del signo (Cn y Cn-1).

Page 65: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 6565

Codificación EBCDICCodificación EBCDICEl código EBCDIC es una extensión del código BCD diseñado por IBM en la década del '60.

Codifica directamente caracteres de texto,usando 8 bits por cada carácter.

Los bits se organizan de la siguiente manera:

7 6 5 4 3 2 1 0

00: reservado01: caracteres especiales10: minúsculas11: mayúsculas y números

00: de la 'A' a la 'I'01: de la 'J' a la 'R'10: de la 'S' a la 'Z'11: del '0' al '9'

codificación en binariodel carácter

Page 66: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 6666

Codificación ASCIICodificación ASCIIEl código ASCII es un estándar también creado en los 60' específicamente para EEUU.

Codifica cada carácter usando 7 bits, lo que permite 128 combinaciones (razón por la cual no contempla, entre otros, vocales acentuadas ni la letra eñe).

Los bits se organizan de la siguiente manera:

6 5 4 3 2 1 0

00: caracteres de control01: valores numéricos10: mayúsculas11: minúsculas 0: de la 'A' a la 'O'

1: de la 'P' a la 'Z'

codificación en binariodel carácter

Page 67: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 6767

Codificación ASCII extendidoCodificación ASCII extendidoEl código ASCII extendido es una extensióndel código ASCII original.

Con el objeto de codificar algunos de los caracteres faltantes se incorpora un bit más por carácter.

Existen múltiples extensiones (de ISO 8859-1 a ISO 8859-15), una para cada región o zona del planeta.

Se organiza de la siguiente manera:

7 6 5 4 3 2 1 0

0: ASCII básico1: ASCII extendido

codificación en binariodel carácter

Page 68: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 6868

Codificación UNICODECodificación UNICODEEl código UNICODE fue propuesto paraunificar las codificaciones incompatibles existentes al momento de su concepción

Al tratarse de un estándar reciente, el comité que lo diseño tuvo la chance de corregir los inconvenientes identificados en los restantes códigos

Actualmente cubre 137.994 caracteres

Usa un esquema de codificación extensible, por loque se puede seguir agregando nuevos caracteres

La versión más reciente (12.1) data de mayo de 2019

Page 69: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 6969

Codificación UNICODECodificación UNICODEDefine un standard de uso en informática.

Desarrollado por un consorcio de organizaciones.

Compuesto por: Adobe Systems, Apple, Facebook, Google, Huawei, IBM, Microsoft, Oracle Corporation, Yahoo!, SAP SE y otras.

Se desarrolla en cooperación con: ISO (International Organization for Standardization), W3C, IETF y ECMA.

Page 70: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 7070

UTF-8UTF-8La codificación UTF-8 es una de las maneras que existe codificar el código UNICODE.

La codificación se compone de una cantidad variable de bloques de 8 bits.

Como objetivo de diseño se desea maximizarla compatibilidad con el código ASCII.

Por esta razón, las primeras 128 codificaciones coinciden con el mapeo del código ASCII.

De ahí en adelante entra en acción el esquema extensible, agregando nuevos bloques de 8 bitsa medida que vayan siendo requeridos.

Page 71: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 7171

UTF-8UTF-8Adopción de UTF-8 en páginas web nivel mundial.

Page 72: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 7272

Otras codificacionesOtras codificacionesISO/IEC 8859-1 (Latin 1): 191 caracteres del alfabeto latino. Para idiomas originarios de Europa occidental.

ISO/IEC 8859-2 (Latin 2): Países de europa central y del este.

Shift JIS: Shift Japanese Industrial Standards.

Code page 437 (CP437): Utilizado en la PC IBM y en DOS, se definían 256 caracteres.

IEC: International Electrotechnical Commission

Page 73: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 7373

UTF-16 y UTF-32UTF-16 y UTF-32Las codificaciones UTF-16 y UTF-32 aparecen como alternativas a la codificación UTF-8.

UTF-16 sólo codifica una porción del código UNICODE (¡solamente 1.112.064 caracteres!).

Hace uso de una cantidad variable de bloquesde 16 bits.

UTF-32 codifica el mismo subconjunto que UTF-16.

La principal diferencia es que hace uso de exactamente un único bloque de 32 bits.

Page 74: Aritmética de punto fijo - Universidad Nacional del Surldm/mypage/data/oc/apuntes/2019-modulo3.pdf · Aritmética de punto fijo Las posiciones del punto decimal y del signo dependerán

Organización de ComputadorasOrganización de Computadoras 7474

¿Preguntas?¿Preguntas?