La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Arquitecturas de Computadoras Aritmética Computacional

Presentaciones similares


Presentación del tema: "Arquitecturas de Computadoras Aritmética Computacional"— Transcripción de la presentación:

1 Arquitecturas de Computadoras Aritmética Computacional
INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INVESTIGACION EN COMPUTACION LABORATORIO DE MICROTECNOLOGÍA Y SISTEMAS EMBEBIDOS Grupo de Arquitectura de Computadoras y Sistemas Embebidos Arquitecturas de Computadoras Curso Propedéutico Capitulo 2 Aritmética Computacional La presentación tiene como finalidad explicarles cual es el nicho de oportunidad y por que es importante trabajar en el Marco Antonio Ramírez Salinas Herón Molina Lozano

2 Números Decimales (base 10)
Recordatorio del Capitulo 1: Dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Ejemplo: 3271 = (3x103) + (2x102) + (7x101) + (1x100) Ley de moore

3 Números Binarios (base 2)
Recordatorio del Capitulo 1: Dígitos: 0, 1 Ejemplo: 1011 = (1x23) + (0x22) + (1x21) + (1x20) = 1110 Ley de moore

4 Codificación numérica de enteros
Notación: W: número de bits en una “palabra” Tipo de datos en C Dato de 32 bits (Pentium 4) Dato de 64 bits (Alpha) Long int 32 64 Int Short 16 Char 8 Ley de moore Enteros: se expresaran en minúsculas (x, y, z) Vectores de bits: se expresaran con mayúsculas (A, B, C) A=AW-1, AW-2, AW-2, … AW0

5 Codificación de Enteros
Sin Signo: Complemento a 2: B2U( )=1x27+0x26+1x25+0x24+1x23+0x22+1x21+0X20= AA16= 17010 B2T( )=-1x27+0x26+1x25+0x24+1x23+0x22+1x21+0X20= AA16=-8610 Ley de moore Bit de Signo: Para complemento a dos (2’s), el bit mas significativo indica el signo 0: Positivo 1: Negativo

6 Ejemplo de Codificación de enteros
Posición Peso 2010 Sumatoria -2100 20=1 1 21=2 2 22=4 4 3 23=8 8 24=16 16 5 25=32 32 6 26=64 64 7 27=128 128 28=256 256 9 29=512 512 10 210=1024 1024 11 211=2048 2048 12 212=4096 4096 13 213=8192 8192 14 214=16384 16384 15 215=32768 -32768 -2010 Ley de moore

7 Codificación de Enteros en C
Capitulo 2 Short int x: ; Short int y: ; Variable Decimal Hexadecimal Binario x 2010 07DA y -2010 F826 Ley de moore

8 Rangos Numéricos W=5 00000 00001 11111 11110 -1 1 11101 -2 2 -3 11100
1 11101 -2 2 -3 11100 -4 . . -15 15 -16 10001 01111 10000

9 Valores sin signo: Umin = 0 000…0 Umax = 2W-1 111…1
Rangos Numéricos Valores sin signo: Umin = 0 000…0 Umax = 2W-1 111…1 Valores complemento a 2: Tmin = -2W-1 100…0 Tmax = 2W-1-1 0111…1 W=16 Decimal Hexadecimal Binario UMAX 65535 FF FF TMAX 32767 7F FF TMIN -32768 80 00 -1 00 00

10 Valores para diferentes tamaños de Palabra
W 8 16 32 64 UMAX 255 65,535 4,294, 967, 295 18, 446, 744, 073,709, 551,615 TMAX 127 32,767 2,147, 483, 647 9, 223,372, 036, 854, 775, 807 TMIN -128 -32,768 -2,147, 483, 648 9, 223,372, 036, 854, 775, 808 Programación en C: #include <limits.h> declaración de constantes ULONG_MAX LONG_MAX LONG_MIN Valores específicos para la plataforma Observaciones: |Tmin| = Tmax+1 Rango asimétrico Umax= 2*Tmax+1

11 1 PASO. Inversión: Se realiza bit a bit
Complemento a 2 1 PASO. Inversión: Se realiza bit a bit = b b 2 PASO. Sumar b = b Este método esta basado en que la suma de un numero y su representación invertida da como resultado 111…111. Lo que representa al -1. Si X+~X =-1 luego X+~X +1 = 0 entonces se puede expresar ~X +1 = -X

12 Negación de un número (+)
= b b b = b Un número negativo (complemento a 2) tiene un número infinito de 1’s a la izquierda

13 Negación de un número (-)
= b b b 510 = b Un número positivo (complemento a 2) tiene un número infinito de 0’s a la izquierda

14 Extensión de una palabra c/signo
Capitulo 2 Dado un número entero con signo x de tamaño de palabra w-bits , realizar su conversión a un número entero con w+k bits con el mismo valor. Regla: Hacer k copias del bit de signo x’= (xw-1, …xw-1),xw-1, xw-2, …x0

15 Representación Hexadecimal
El Tamaño de datos de muchas computadoras son múltiplos de 4, (8, 16, 32, 64) Base 16 es múltiplo de 2. Cada digito binario puede ser remplazar por un digito hexadecimal . Hex Bin 0000 4 0100 8 1000 C 1100 1 0001 5 0101 9 1001 D 1101 2 0010 6 0110 A 1010 E 1110 3 0011 7 0111 B 1011 F 1111

16 Binario a Hexadecimal 1110 1100 1010 1000 0110 0100 0010 0000 E C A 8
6 4 2

17 Datos con Signo y sin Signo en C
Constantes: Por defecto se consideran enteros con signo si tiene U como sufijo, son considerados sin signo 0U, U Casting (conversión de tipo de datos): Conversión explicita entre datos con signo y sin signo similar a U2T y T2U int tx, ty; unsigned ux, uy; tx = (int) ux; uy = (unsigned) ty;

18 Conversión de tipo de Datos (Casting )
Implícitas: expresiones cuyos operando mezclan variables y constantes de tipos diferentes. int x; float y; float z; z = x+y; El operador + convierte x a float (por compilación) Explicitas: long y = (long)x;

19 Reglas de promoción automática
Todos los char y short se convierten a int. todos los unsigned char y unsigned short se convierten a unsigned. Si la expresión es de tipo mixto, el operando de menor rango se promueve al tipo de operando de mayor rango y se convierte toda la expresión a ese tipo. int < unsigned < long < unsignedlong < float < doble A este proceso se le conoce como promoción

20 Por que la promoción? Unidades funcionales de enteros, solo realizan operaciones (+,*, /, &, |, !, >>, << ) sobre números enteros.

21 Razón de la promoción Las operaciones de punto flotante son calculadas por unidades de P. F., ¡sus entradas deben contener el mismo tipo de datos!.

22


Descargar ppt "Arquitecturas de Computadoras Aritmética Computacional"

Presentaciones similares


Anuncios Google