TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP).

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

Download "TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP)."

Transcripción

1 TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). ÍNDICE: 4.1. Introducción: Aplicaciones científicas y multimedia Arquitecturas vectoriales segmentadas clásicas Extensiones multimedia y núcleos SIMD Técnicas de vectorización. Bucles paralelizables Procesado condicional Precarga software Temporización Modelo del Tejado Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 1

2 4.1. Introducción: Aplicaciones científicas y multimedia Multimedia publicitario. Más correcto: Arquitecturas SIMD (Single Instruction Multiple Data) o de paralelismo de datos DLP (Data Level Parallelism) en lugar de ILP. Vectores/Matrices igual operación sobre múltiples elementos Código científico y multimedia (procesamiento imágenes, sonido, etc.) Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 2

3 4.2 Arquitecturas vectoriales segmentadas clásicas. ORIGEN: Años 70 Arquitecturas Vectoriales (supercomputadores, Ej: CRAY). Sólo existían programas de Problemas científico-técnicos Procesador Vectorial: Registros e Instrucciones Vectoriales o Múltiples datos por registros (ej. 256 doubles: 2KB cada registro!!! ) o instrucciones que operan sobre registros completos. Ingeniosas cadenas (pipeline) para operar con elem. de registro vectorial Tb existían operaciones entre Reg vectoriales y escalares Tb registros especiales de control del número de elem. (iteraciones) Ej. DAXPY en ensamblador vectorial: LDV VX,(RX) LDV VY,(RY) MULDV VX,VA,VX //previamente se replicó la cte a en VA ADDDV VX,VX,VY SDV (RY),VX Parecía que en los 90s habían muerto pero Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 3

4 Ejemplos Procesadores Vectoriales Actuales Supercomputadores, lista Benchmark usado: LINPACK, Álgebra Lineal (solución sistema de ecc lineales) Se usan para programas científicos (simulación meteorológica, etc.) Suelen ser Multicomputadores (tema 3) de miles de procesadores. PERO: Nov Earth Simulator (NEC, Japón). Al fabricarlo 5 veces más rápido que el segundo del Durante tres años supercomputador más potente CPUs vectoriales 500 MHz fabricados por NEC Corporation Nov Primero en top500 Tianhe-1A 2.93Ghz Mezcla de Procesadores (total: cores): Intel Xeon X5670 (CPU) 7168 Nvidia Tesla M2050 (GPU con tratamiento DLP masivo junto a ingenioso paralelismo de hilos). Operaciones FP por Seg : 2507 petaflops (Rmáx), 4669 petaflops (Rpeak) Nov. 2011: el primero es otra vez un Multicomputador (tema 3): un total de 705,024 cores (SPARC64, 8 cores por procesador a 2.0 Ghz) NOTA: Los propias ediciones de Hennessy & Patterson van poniendo en apéndices o en texto principal los proc. Vectoriales!!! Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 4

5 4.3. Extensiones multimedia y núcleos SIMD. Ejemplos Núcleos Vectoriales SIMD Actuales Intel: (128 bits) Streaming SIMD Extensions (SSE) (1999) (128 bits) SSE2 (2001) SSE3 (2004) SSE4 (2006) (256 bits) Advanced Vector Extensions (AVX) (2008) SPARC: Visual Instruction Set (VIS) (64 bits) MIPS: MDMX MIPS-3D (64 bits) POWER: AltiVec, VSX (128 bits) AMD: 3DNow! Pro (128 bits) fueron abandonadas en 2010 XOP and FMA4 (128 o 256 bits): compatibilidad con SSE4 Henn-Patt 5ª Ed afirma que se podrían doblar su tamaño cada 4 años muy optimista visto los últimos años? Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 5

6 Modelo Núcleo Multimedia (SIMD): RISCMM Similar a vectorial pero: Registros con menor número de elementos (de 2 a 16) Diferentes tipos de datos (char, int, float, double ) Operaciones realizadas sobre todo un registro a la vez La temporización se obtiene de forma análoga a los escalares (número de iteraciones menor). Modelo que proponemos: RISCMM. Basado en SSE/SSE2/SSE3 de Intel. Similar a otras arquitecturas multimedia. Modelo de registros (de 128 bits). En total 1 Kbit MM0 Float3 Float2 Float1 Float0 MM MM MM7 Double1 Double0 Los registros pueden emplearse para contener 4 flotantes de simple precisión float (4x32), o 2 de doble precisión double (2x64). Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 6

7 Instrucciones Ensamblador Veremos instrucciones con operandos en coma flotante (Para enteros serían análogas) Existen operaciones que operan sobre el registro completo y otras sólo sobre su parte menos significativa. Emplearemos una notación similar a la de Intel para SSE/SSE2 (Streaming SIMD Extensions) pero con 3 operandos (como en RISC 32 BITS). Para instrucciones que operan sobre todos los elementos de un registro multimedia: OPER p{s d} MMd,MMs1,MMs2 La p (packet) indica que la instrucción opera sobre múltiples datos empaquetados en un solo registro multimedia. SUFIJOS ss sd ps pd Las instrucciones que operan sobre 4 flotantes de simple precisión incluyen el identificador de datos s, las que operan sobre datos de doble precisión incluyen el identificador de datos d. Las instrucciones que operan sobre un único dato en la parte menos significativa del registro, sustituyen la p (packed) por s (scalar): OPER s{s d} MMd,MMs1,MMs2 NOTA: En Intel sólo hay 2 operandos (el segundo puede estar en memoria) Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 7

8 Tipos de Instrucciones: Aritméticas Similares a las existentes en modo escalar. Usaremos notación vectorial C para registros Multimedia. Si MM6={1.0,2.0,3.0,4.0}, 1.0 estaría en componente 0 (la más baja). Multiplicación: mult{p s}{s d} MMd,MMs1,MMs2. o Ej: Multps MM0,MM1,MM2 Si MM2={1.0,2.0,3.0,4.0} y MM1={0.5,-1.0,-1.0,0.25} tendríamos: MM0={0.5,-2.0,-3.0,1.0} División: div{p s}{s d} MMd,MMs1,MMs2. o ej: divpd MM0,MM1,MM2 Si MM2={1.0, 4.0}, MM1={0.5,8.0} MM0={1.0,5.0} MM0={0.5,2.0} Suma: add{p s}{s d} MMd,MMs1,MMs2. o ej: addss MM0,MM1,MM2 Si MM2={1.0,2.0,3.0,4.0}, MM1={0.5,-1.0,-1.0,0.25} MM0={1.0,2.0,3.0,4.0} tendríamos: MM0={1.5, 2.0,3.0,4.0} Resta: sub{p s}{s d} MMd,MMs1,MMs2. o ej: subsd MM0,MM1,MM2 Si MM2={1.0, 4.0}, MM1={0.5,8.0} MM0={1.0,2.0} MM0={-0.5,2.0} Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 8

9 Tipos de Instrucciones: Lógicas Bit a Bit Son operaciones entre registros bit a bit. Supondremos que sólo existen en versión de registro completo (sufijo p, 128 bits). Aunque puede indicarse el tipo de dato {s d} en realidad corresponden a la misma instrucción (opcode) para los 3 tipos de datos. And: andp{s d} MMd,MMs1,MMs2. ej: Andps MM0,MM1,MM2 Si MM2={0x7FFFFFFF, 0x7FFFFFFF,x7FFFFFFF, 0x7FFFFFFF } y MM1={0.5,- 1.0,-1.0,0.25} tendríamos valor absoluto: MM0={0.5,1.0,1.0,0.25} //Recordar que el bit más significativo es el signo en float (formato IEEE754) Or: orp{s d} MMd,MMs1,MMs2. ej: orps MM0,MM1,MM2 Si MM2={0x , 0x , 0x , 0x } y MM1={0.5,-1.0,-1.0,0.25} tendríamos: MM0={-0.5,-1.0,-1.0,-0.25}. // Este ejemplo calcula el valor absoluto cambiado de signo. Xor: xorp{s d} MMd,MMs1,MMs2. ej: xorps MM0,MM1,MM2 Si MM2={0x , 0x , 0x , 0x } y MM1={0.5,-1.0,-1.0,0.25} tendríamos: MM0={-0.5,1.0,1.0,-0.25}. //Este ejemplo cambia el signo. Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 9

10 Tipos de Instrucciones: Comparaciones Estas operaciones son muy similares a las instrucciones de comparación del RISC 32 bits (scc Rd,Rs1,Rs2). cc = código de condición Emplearemos la terminología SSE denominándolas: cmp{gt ge eq le lt ne}{p s}{s d} {> >= == <= <!=} Estas instrucciones realizan la comparación componente a componente de los registros fuente. o Si la condición de comparación es Falsa, todos los bits de la componente correspondiente del registro destino se pone a valor 0. o Si la condición es Verdadera, todos los bits de la componente correspondiente del registro destino se ponen a 1. o Ejemplo: cmpgeps MM0,MM1,MM2. Si MM2={1.0,2.0,3.0,4.0 } y MM1={0.5,10.0,-1.0,25.0} tendríamos:mm0={0,0xffffffff,0,0xffffffff} Para qué sirve poner todo a 1 o todo a 0? Las instrucciones de comparación (junto a las lógicas de bits) serán la base del procesado condicional en los procesadores con extensiones multimedia. Este tema se estudiará en un apartado posterior. Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 10

11 Instrucciones de Acceso a memoria En el caso de las instrucciones de carga y almacenamiento, existen versiones vectoriales (p) y escalares (s). Las versiones vectoriales ld{p}{s d}, st{p}{s d} corresponden en realidad a una misma instrucción que transfiere 16 bytes (128 bits) desde memoria a registro o viceversa. Los modos de direccionamiento suelen ser análogos a los de las instrucciones escalares. CUIDADO: Alineación en frontera de 16 bytes requerida. Dirección múltiplo de 16 (el último dígito hexadecimal es 0). En algunos núcleos multimedia existen Ld/St para accesos no alineados. Las versiones escalares de las instrucciones de carga y almacenamiento ld{s}{s d}, st{s}{s d} transfieren: o 4 bytes en el caso de operandos s (simple precisión) o 8 bytes en el caso de operandos d (doble precisión). Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 11

12 Movimiento de Datos: Barajado (shuffle) Instrucciones de barajado que permiten almacenar en cada componente de un registro destino, cualquiera de las de un registro fuente. El formato es: shufp{s d} MMd,MMs, selector. Uso común: replicar la componente menos significativa en todas las componentes de un registro (selector=0): shufps MM0,MM0,0. o Útil para multiplicar un vector por un escalar (no existen instrucciones de multiplicación de escalar por vector en la mayoría de CPU s Multimedia). Ejemplo: descripción barajado Intel SS3 Para simple precisión, el selector es una constante de 8 bits agrupados en 4 parejas. o Las dos parejas menos significativas indican qué componente del registro destino se eligen para las componentes 0,1 del propio registro destino. o Las dos parejas más significativas indican qué componente del registro fuente se eligen para las componentes 2,3 del registro destino o Ej. Shufps MM1,MM2, El selector debe leerse como (2 ó, en decimal, En el ejemplo, MM1 cargará su componente 0 con la componente 3 (11(2) de MM1, su 1 con la 2 de MM1, su 2 con la 1 de MM2 y su 3 con la 0 de MM2. Así si MM2={0.5,10.0,-1.0,25.0}, MM1={8.0,- 7.0,6.0,-5.0}, MM1={-5.0,6.0,10.0,0.5}. Otros ejemplos: rotar o dar la vuelta al orden de los elementos o La versión de doble precisión shufpd emplea un selector de dos campos (cada uno de un bit) para seleccionar las dos componentes de forma análoga. Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 12

13 4.4. Técnicas de vectorización: bucle SAXPY R4 apunta al vector x, R1 apunta al vector y, R2 apunta el final del vector x, R3 apunta a la constante a. Ldss MM2,(R3) //Carga a en la componente baja de MM2 Shufps MM2,MM2,0 //Replica a en todas las componentes de MM2 Saxpy: Ldps MM0,(R4) //Carga 4 componentes de x en MM0 Ldps MM1,(R1) //Carga 4 componentes de y en MM1 Multps MM0,MM0,MM2 //multiplica las componentes de x por a Addps MM0,MM0,MM1 //y+a*x Stps (R1),MM0 //almacena y Addi R1,R1,16 Addi R4,R4,16 //Actualiza punteros Seq R5,R4,R2 //Fin de x? Beqz R5,Saxpy //si no hemos acabado, seguimos Ejercicio: desenrollar código anterior Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 13

14 Procesado Condicional Cuando empleamos instrucciones multimedia no es posible implementar las estructuras if mediante saltos, dado que diferentes componentes del registro pueden satisfacer o no las condiciones. Esto implica que las estructuras if deben implementarse transformando las dependencias de control en dependencias de datos utilizando, para ello, las instrucciones lógicas de bits y las instrucciones de comparación. Hasta qué tamaño del cuerpo del if es rentable este procesado condicional?: o No muchas instrucciones (se ejecutarían demasiadas operaciones inútiles) Qué ocurre si hay N ramas (N>2) (varios if/else)? En teoría se pueden generar las N ramas, pero (actualmente) no suele traer cuenta por lo anterior. Ej: si en cada rama hay vectores de salida diferentes: trabajar con ambos EJER El método para realizar esta transformación lo explicaremos mediante un ejemplo: Supongamos el código: int i; float x[10000],y[10000]; for(i=0;i<10000;i++) if (x[i]>0) x[i]=x[i]+y[i]; else x[i]=x[i]-y[i]; Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 14

15 Procesado Condicional: Ejemplo (I) En este caso hay que (ver figura): 1. Crear una máscara correspondiente al resultado de la comparación x[i]>0 (cond. Cierta) y otra correspondiente a la condición opuesta (cond. Falsa). 2. Calcular los x[i] correspondientes a que se cumpla la condición if y hacer and con la máscara correspondiente. 3. Calcular los x[i] correspondientes a la condición else y hacer and con la máscara correspondiente. 4. Hacer or con los valores obtenidos de las dos operaciones and (cada uno de ellos contiene ceros donde el otro contiene valores). 5. Este es el valor que se almacena. Ambas ramas son independientes; se pueden ejecutar en paralelo: más ILP (deben existir suficientes UF: CPU actuales 2 o 3 de SSE) Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 15

16 Procesado Condicional: Ejemplo (II) Código suponiendo que: R4 vector x, R1 vector y R2 al final del vector x (sig byte) xorps MM0,MM0,MM0 //Pone MM0 a 0. En IEEE es caso //especial con todos los bits a 0 Bucle: Ldps MM1,(R4) //Carga 4 comp. de x. Ldps MM4,(R1) //Carga 4 comp. de y. Cmpgtps MM2,MM1,MM0 //MM2 es la máscara cond. cierta. Cmpleps MM3,MM1,MM0 //MM3 es la máscara cond. falsa Addps MM5,MM1,MM4 //MM5 contiene x+y Subps MM6,MM1,MM4 //MM6 contiene x-y Andps MM5,MM2,MM5 //and cond. Cierta. Andps MM6,MM3,MM6 //and cond. Falsa Orps MM5,MM5,MM6 //Resultado a almacenar. Stps (R4),MM5 Addi R4,R4,16 Addi R1,R1,16 Seq R3,R4,R2 Beqz R3,Bucle Ejercicio: desenrollar código anterior (si tuviéramos registros suficientes) Ejercicio: Pensar en como se haría usando CMOVZps, CMOVNZps. Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 16

17 Uso de instruc. de precarga (software) En las aplicaciones multimedia es habitual que los próximos datos que necesite el programa, no sean los últimos accedidos, pero que sean fáciles de predecir. En general, el programador es quien mejor conoce qué datos se necesitarán en el futuro. Por ello, en muchos casos, conviene precargar datos en el caché y, así, asegurar que las cargas posteriores acertarán en el mismo. Una técnica tradicional en RISC consiste en usar instrucciones ld R0,(Ra) (R0 no puede escribirse; vale siempre 0) para hacer cargas con tal fin. El inconveniente de usar instrucciones Load es que pueden generar excepciones (fallos de página, accesos a zonas protegidas) no deseadas.ejerc: bucle simple Para evitar el problema de las excepciones, los procesadores con extensiones multimedia suelen implementar instrucciones específicas de precarga (prefetch). Son equivalentes a ld R0,(Rx) pero no provocan excepciones. Si el acceso provocara excepciones, no se realizaría. En Intel hay instr. prefetch para L1 y L2, o sólo para L2 Más tarde cuando el procesador ejecute la instrucción de carga: o Se acertará en caché, o O se accederá a memoria y se atenderán las excepciones si se producen. No abusar de prefetch: podrían consumir AB inútilmente Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 17

18 Temporización con Instrucciones Multimedia. Generalmente Planificación dinámica para GPP, pero estática para DSP En los procesadores vectoriales existen instrucciones de carga/almacenamiento cuya zancada (distancia entre los elementos que se van a cargar en un mismo registro vectorial) puede definirse. En los multimedia aún no existen. Esto supone un inconveniente si usamos vector de estructuras (AOS) en lugar de estructura de vectores (SOA). A diferencia del caso de los procesadores vectoriales, las instrucciones multimedia se comportan como instrucciones habituales de un procesador convencional no existiendo ninguna diferencia importante en el cálculo del tiempo de ejecución de un programa. Las únicas diferencias estarían en el cálculo del rendimiento en MFLOPs. Tener en cuenta que las operaciones multps, addps, etc realizan 4 operaciones en coma flotante mientras multpd, addpd, etc. realizan 2. Las comparaciones y operaciones lógicas no se tienen en cuenta en el cálculo del rendimiento en MFLOPs. Cuando se usa procesado condicional, se ejecutan las dos ramas del if. Realmente, una de las ramas se ejecuta inútilmente. De esa forma, se suele medir el rendimiento calculando MFLOPs útiles (en lugar de MFLOPs totales) Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 18

19 Rendimiento de pico: Modelo del Tejado Roofline model. Propuesto en 2009 (Ver Henn-Patt 5ª Ed.) Calcula Rendimiento de pico para: o FP: float (SP) o double(dp) o Bucle paralelizable o Zancada unidad (datos contiguos en memoria) o Se usan núcleos SIMD de forma ideal. o Grado superescal. m suficientemente grande para que no suponga cota Cuáles son los Límites del rendimiento (máximo)? EJEMPLO SAXPY LFx LFy MULTF ADDF SFy 4 instr. overhead Ldps x Ldps y MULTps ADDps Stps y 4 instr. overhead limitaciones actuales de hw (1 core): - m= UF FP ó 2 UF MMX - AB MEM = 16 GB/s. f CPU = 3 GHz Suele ser el AB MEM Nº UF de Oper. Aritméticas Nº UF * f CPU (supone 1 dato por ciclo) Acceso a jerarquía memoria: AB MEM * D A, es decir: G Byte/s * FLOP/Byte o D A es la densidad aritmética (arithmetic intensity): Nº oper. FP dividido por bytes accedidos (Sólo depende del algoritmo, independiente de hw). Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 19

20 Ejemplo Rendimiento de pico: Modelo del Tejado Intel Core i7 Nehalem (2.666 GHz, 2 cores, 2 UF AVX 256 bits: VMULT,VADD) Nº UF * f CPU : GHz * 2 cores * 2 UF AVX * 256/64 = 42.6 GFLOPs DAXPY Double precision: o LDx LDy MULTD ADDD SD o D A = 2 FLOP / 24 bytes = 1/12 AB MEM * D A : 16.4 GB/s*1/12 = 1.36 GFLOPs AB RAM limita (y en la realidad puede no llegar a AB RAM máxima) AB L1 =85.3 GB/s No es fácil imaginar un algor. que tenga D A > 42.66/16.4 = 2.6 para que AB RAM no sea el factor limitante. o 8 bytes más de 20 FLOP Si datos en L1: AB L1 puede no ser el factor limitante: 2 puertos * 128 bits * GHz = GB/s o D A > 42.66/85.33 GB/s = ½ Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 20 D A

21 Otros DLP: GPU GPU (Graphics Processing Units): sólo para DLP masivo Científicos usaron tarjetas gráficas para computar: los fabricantes generalizaron la cadena gráfica para computar (casi) cualquier código El Thread Scheduler (planificador de hilos) lleva el control del paralelismo. o Se estudian en Asignatura CAP del MICR (Máster Ing. Computadores y Redes) Dpto. Arquitectura y Tecnología de Computadores. Univ. Sevilla. SPD TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). Pág 21

Familia de procesadores Intel x86

Familia de procesadores Intel x86 Familia de procesadores Intel x86 Mario Medina C. mariomedina@udec.cl Intel 8086 y 8088 8086: 1978, 29K transistores 8 Registros de 16 bits Bus de datos de 16 bits Bus de dirección de 20 bits Multiplexado

Más detalles

Febrero 2012. Departamento de Electrónica e Sistemas Universidade da Coruña. Introducción a las Extensiones Multimedia

Febrero 2012. Departamento de Electrónica e Sistemas Universidade da Coruña. Introducción a las Extensiones Multimedia a a Departamento de Electrónica e Sistemas Universidade da Coruña Febrero 2012 3 a Índice a 3 1 2 3 4 5 6 3 a Qué son extensiones multimedia? a Son nuevas instrucciones añadidas al repertorio de instrucciones

Más detalles

Extensiones multimedia Intel

Extensiones multimedia Intel Facultad de Informática Grado de Ingeniería Informática Ingeniería de Computadores Extensiones multimedia Intel Autor: Mikel Sagastibelza Azcarate Tutor: Clemente Rodríguez Lafuente San Sebastián, Junio

Más detalles

COMPUTADORES SEGMENTADOS (DLX)

COMPUTADORES SEGMENTADOS (DLX) DEPARTAMENTO DE AUTOMÁTICA ARQUITECTURA Y TECNOLOGÍA DE COMPUTADORES Laboratorio de Arquitectura e Ingeniería de Computadores PRÁCTICA I COMPUTADORES SEGMENTADOS (DLX) OBJETIVO El objetivo de la práctica

Más detalles

Tecnologías y Arquitecturas

Tecnologías y Arquitecturas Tecnologías y Arquitecturas Parte II Andrés Djordjalian Seminario de Sistemas Embebidos 19 de mayo de 2011 Facultad de Ingeniería de la UBA 06:13 1 de 22 Temas de esta Clase Medición

Más detalles

TEMA 3 PLANIFICACIÓN O REORDENAMIENTO (SCHEDULING) DE INSTRUCCIONES ÍNDICE

TEMA 3 PLANIFICACIÓN O REORDENAMIENTO (SCHEDULING) DE INSTRUCCIONES ÍNDICE TEMA 3 PLANIFICACIÓN O REORDENAMIENTO (SCHEDULING) DE INSTRUCCIONES ÍNDICE 3.1. CONCEPTOS FUNDAMENTALES 3.2, 3.4 PLANIFICACIÓN ESTÁTICA. DESENROLLADO DE BUCLES. 3.3. PLANIFICACIÓN DINÁMICA (Algoritmo Tomasulo).

Más detalles

Programación Vectorial

Programación Vectorial Programación Vectorial Rafael Valdés Valdazo, Angel María Vilaboa Pérez UO196558@uniovi.es, UO197092@uniovi.es Resumen. Este documento trata sobre los fundamentos básicos de la programación vectorial,

Más detalles

ARQUITECTURA DE COMPUTADORES I

ARQUITECTURA DE COMPUTADORES I ARQUITECTURA DE COMPUTADORES I Tema 5: Procesadores Vectoriales Lección 18: Características Generales de los Procesadores Vectoriales Curso 2011/2012 Bibliografía 1. J. L. HENNESSY and D. A. PATTERSON.

Más detalles

Ingeniería Informática. Ampliación de Estructura de Computadores. Curso 2010-11

Ingeniería Informática. Ampliación de Estructura de Computadores. Curso 2010-11 6.3.3 Riesgo de Control. Los riesgos por control en DLX son menos frecuentes que los riesgos por dependencia de datos, pero al no haber una solución tan buena como el adelantamiento de datos, se convierten

Más detalles

Capítulo 1: Sistemas de representación numérica Introducción. Dpto. de ATC, Universidad de Sevilla - Página 1 de 8

Capítulo 1: Sistemas de representación numérica Introducción. Dpto. de ATC, Universidad de Sevilla - Página 1 de 8 Dpto. de ATC, Universidad de Sevilla - Página de Capítulo : INTRODUCCIÓN SISTEMAS DE REPRESENTACIÓN NUMÉRICA Introducción Bases de numeración Sistema decimal Sistema binario Sistema hexadecimal REPRESENTACIÓN

Más detalles

Procesadores Vectoriales

Procesadores Vectoriales Procesadores Vectoriales Curso 2011-2012 Por qué procesamiento vectorial? La segmentación tiene límites: Si se aumenta mucho el número de etapas, baja el ciclo de reloj, pero aumentan las dependencias.

Más detalles

ORDENADORES VECTORIALES

ORDENADORES VECTORIALES ORDENADORES VECTORIALES Un ordenador vectorial es una máquina diseñada específicamente para realizar de forma eficiente operaciones en las que se ven involucrados elementos de matrices, denominados vectores.

Más detalles

Estructura de Computadores

Estructura de Computadores Estructura de Computadores Tema 2. Representación de la información Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido

Más detalles

Introducción a la Programación 11 O. Humberto Cervantes Maceda

Introducción a la Programación 11 O. Humberto Cervantes Maceda Introducción a la Programación 11 O Humberto Cervantes Maceda Recordando En la sesión anterior vimos que la información almacenada en la memoria, y por lo tanto aquella que procesa la unidad central de

Más detalles

Tema 5 Diseño del Set de Instrucciones (ISA) Arquitectura de Computadoras

Tema 5 Diseño del Set de Instrucciones (ISA) Arquitectura de Computadoras Tema 5 Diseño del Set de Instrucciones (ISA) Arquitectura de Computadoras http://www.herrera.unt.edu.ar/arqcom dcohen@herrera.unt.edu.ar Temario 1. Evolución histórica. 2. Repaso de conceptos importantes.

Más detalles

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones Instruction Set Architecture (ISA) Arquitectura del conjunto de instrucciones software Conjunto de instrucciones hardware Universidad

Más detalles

Arquitectura de los Ordenadores (Teoría) Final Junio 2008. Mañana Pág 1 APELLIDOS Y NOMBRE GRUPO Nº EXPEDIENTE

Arquitectura de los Ordenadores (Teoría) Final Junio 2008. Mañana Pág 1 APELLIDOS Y NOMBRE GRUPO Nº EXPEDIENTE Arquitectura de los Ordenadores (Teoría) Final Junio 2008. Mañana Pág 1 1).- Dada la estructura de unidades funcionales (FD i : unidades de fetch y decodificación; EJ 1 y EJ 2 : unidades de ejecución de

Más detalles

Arquitectura de Computadores. Tema 4 PROCESADORES SEGMENTADOS

Arquitectura de Computadores. Tema 4 PROCESADORES SEGMENTADOS Arquitectura de Computadores Tema 4 PROCESADORES SEGMENTADOS 1. Arquitecturas RISC y CISC. 2. Unidad de Control monociclo y multiciclo. 3. Segmentación. 3.1. Ruta de datos del MIPS R2000. 3.2. Control

Más detalles

Arquitectura de Computadores II Clase #17

Arquitectura de Computadores II Clase #17 Arquitectura de Computadores II Clase #17 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Arquitecturas Paralelas 1 Taxonomía de Arquitecturas Paralelas (Flynn)

Más detalles

Estructura de Datos. Unidad I Tipos de Datos

Estructura de Datos. Unidad I Tipos de Datos Estructura de Datos Unidad I Tipos de Datos Conceptos Básicos Algoritmo: es una secuencia finita de pasos o instrucciones ordenadas crono-lógicamente que describen un método para resolver un problema específico.

Más detalles

Estructura de Computadores

Estructura de Computadores Estructura de Computadores Tema 4. El procesador Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido Elementos de un

Más detalles

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

Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles Organización del Computador 1 Máquina de von Neumann Jerarquía de Niveles Inicios de la computación Turing y Church sientan las bases teóricas de la computación Máquina de Turing Máquina teórica compuesta

Más detalles

La arquitectura del 8086/8088

La arquitectura del 8086/8088 Repasamos aquí la arquitectura de un PC. Para más información sobre lo aquí expuesto se puede consultar [PA01] y los capítulos iniciales de [Tej01], [Rod00] y [Nor01]. Anatomía del PC A grandes rasgos,

Más detalles

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Tema 4: Familia x86 Carlos Garre 1 Familia x86 Contenidos Concepto de familia: la familia x86. Generaciones de la familia x86. Primera generación: 8086. Segunda generación: 80286. Tercera generación: 80386.

Más detalles

Apuntes de arquitectura de computadoras. Unidad 1 Modelo de arquitecturas de cómputo. 1.1 Modelos de arquitecturas de cómputo.

Apuntes de arquitectura de computadoras. Unidad 1 Modelo de arquitecturas de cómputo. 1.1 Modelos de arquitecturas de cómputo. Apuntes de arquitectura de computadoras Unidad 1 Modelo de arquitecturas de cómputo. 1.1 Modelos de arquitecturas de cómputo. 1.1.1 Arquitecturas Clásicas. Estas arquitecturas se desarrollaron en las primeras

Más detalles

Procesadores Superescalares: Paralelismo Explícito a Nivel de Instrucción

Procesadores Superescalares: Paralelismo Explícito a Nivel de Instrucción Tema 8 Procesadores Superescalares: Paralelismo Explícito a Nivel de Instrucción IA-64 es una arquitectura de 64 bits desarrollada conjuntamente por Intel y HP (Hewlett- Packard). Está basado en una tecnología

Más detalles

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores 1. Introducción 2. La CPU 3. Lenguaje Máquina 4. La Memoria 5. Sistemas de Entrada/Salida 6. CPU Segmentada (Pipeline) 7. Memoria Caché 8. Arquitecturas RISC Arquitectura de

Más detalles

Evaluación del rendimiento de procesadores Intel Nehalem. Modelos x7550, x5670 y x5570

Evaluación del rendimiento de procesadores Intel Nehalem. Modelos x7550, x5670 y x5570 Evaluación del rendimiento de procesadores Intel Nehalem. Modelos x7550, x5670 y x5570 Juan Carlos Fernández Rodríguez. Área de HPC. Centro Informático Científico de Andalucía (CICA) Junta de Andalucía

Más detalles

Práctica 4 - Arquitectura CPU

Práctica 4 - Arquitectura CPU Práctica 4 - Arquitectura CPU Organización del Computador 1 1er. Cuatrimestre 2006 Programación en Assembler Ejercicio 1 Dados los siguientes valores de la memoria y del registro R0 de la arquitectura

Más detalles

ITT-327-T Microprocesadores

ITT-327-T Microprocesadores ITT-327-T Microprocesadores Introducción al Microprocesador y al Microcomputador. al Microcomputador. Profesor Julio Ferreira. Sistema Microcomputador. Un Sistema Microcomputador tiene dos componentes

Más detalles

Aritmética finita y análisis de error

Aritmética finita y análisis de error Aritmética finita y análisis de error Escuela de Ingeniería Informática de Oviedo (Dpto. de Matemáticas-UniOvi) Computación Numérica Aritmética finita y análisis de error 1 / 47 Contenidos 1 Sistemas decimal

Más detalles

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles José Ignacio Martínez Torre Ángel Serrano Sánchez de León.

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles José Ignacio Martínez Torre Ángel Serrano Sánchez de León. Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles José Ignacio Martínez Torre Ángel Serrano Sánchez de León Programa 1. Introducción. 2. Operaciones lógicas. 3. Bases de la aritmética

Más detalles

Arquitectura de aceleradores. Carlos Bederián IFEG CONICET GPGPU Computing Group FaMAF UNC bc@famaf.unc.edu.ar

Arquitectura de aceleradores. Carlos Bederián IFEG CONICET GPGPU Computing Group FaMAF UNC bc@famaf.unc.edu.ar Arquitectura de aceleradores Carlos Bederián IFEG CONICET GPGPU Computing Group FaMAF UNC bc@famaf.unc.edu.ar Contenidos Cómo llegamos hasta acá Qué hay ahora Qué hace Cómo lo uso Hacia dónde parece que

Más detalles

DEPARTAMENTO DE ELECTRONICA. Microprocesadores 1121060

DEPARTAMENTO DE ELECTRONICA. Microprocesadores 1121060 DEPARTAMENTO DE ELECTRONICA Microprocesadores 1121060 Microprocesadores 1121060 Tema 1. Operación básica de un Microprocesador 1. a los microprocesadores 2. Arquitectura Básica de un microprocesador. 3.

Más detalles

Capitulo 12. Tira de bits

Capitulo 12. Tira de bits Capitulo 12. Tira de bits 12.1 Representación de números naturales (enteros positivos) base 10 base 2 base 16 decimal binario hexadecimal 0 0 0 1 1 1 2 10 2 3 11 3 4 100 4 5 101 5 6 110 6 7 111 7 8 1000

Más detalles

Modelo de aplicaciones CUDA

Modelo de aplicaciones CUDA Modelo de aplicaciones CUDA Utilización de GPGPUs: las placas gráficas se utilizan en el contexto de una CPU: host (CPU) + uno o varios device o GPUs Procesadores masivamente paralelos equipados con muchas

Más detalles

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES. 1.- a) Explica qué es un bit de información. Qué es el lenguaje binario? Bit es la abreviatura de Binary digit. (Dígito binario). Un bit es un dígito del lenguaje binario que es el lenguaje universal usado

Más detalles

UNIDAD 2 Configuración y operación de un sistema de cómputo Representación de datos Conceptos El concepto de bit (abreviatura de binary digit) es fundamental para el almacenamiento de datos Puede representarse

Más detalles

Aritmética del computador. Departamento de Arquitectura de Computadores

Aritmética del computador. Departamento de Arquitectura de Computadores Aritmética del computador Departamento de Arquitectura de Computadores Contenido La unidad aritmético lógica (ALU) Representación posicional. Sistemas numéricos Representación de números enteros Aritmética

Más detalles

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Tema 4: Familia x86 Carlos Garre 1 Familia x86 Contenidos Concepto de familia: la familia x86. Generaciones de la familia x86. Primera generación: 8086. Segunda generación: 80286. Tercera generación: 80386.

Más detalles

2.4. Modos de direccionamiento Distintas formas que tiene la arquitectura para especificar la ubicación de los operandos.

2.4. Modos de direccionamiento Distintas formas que tiene la arquitectura para especificar la ubicación de los operandos. 2.4. Modos de direccionamiento Distintas formas que tiene la arquitectura para especificar la ubicación de los operandos. Objetivos: - Reducir el número de bits para especificar un operando en memoria.

Más detalles

OPERADORES: Maquinaria para realizar las instrucciones. Capítulo Tercero Fundamentos de Computadores Ingeniería de Telecomunicación

OPERADORES: Maquinaria para realizar las instrucciones. Capítulo Tercero Fundamentos de Computadores Ingeniería de Telecomunicación OPERADORES: Maquinaria para realizar las instrucciones. Capítulo Tercero Fundamentos de Computadores Ingeniería de Telecomunicación 1 Introducción (I) ALU / Arquitectura Von Neumann CPU banco de registros

Más detalles

El microprocesador. Alberto Molina Coballes David Sánchez López. Noviembre 2011. Fundamentos de Hardware

El microprocesador. Alberto Molina Coballes David Sánchez López. Noviembre 2011. Fundamentos de Hardware El microprocesador Alberto Molina Coballes David Sánchez López Fundamentos de Hardware Noviembre 2011 Índice 1. Concepto 2. Arquitectura Interna 3. Elementos de un Microprocesador 4. Arquitectura Externa.

Más detalles

Arquitectura de Computadores y laboratorio Clase 15: Arquitectura MIPS Pt.3. Departamento de Ingeniería de Sistemas Universidad de Antioquia 2011 2

Arquitectura de Computadores y laboratorio Clase 15: Arquitectura MIPS Pt.3. Departamento de Ingeniería de Sistemas Universidad de Antioquia 2011 2 Arquitectura de Computadores y laboratorio Clase 15: Arquitectura MIPS Pt.3 Departamento de Ingeniería de Sistemas Universidad de Antioquia 2011 2 Instrucciones de control de flujo Arquitectura de Computadores

Más detalles

Dr.-Ing. Paola Vega Castillo

Dr.-Ing. Paola Vega Castillo EL-3310 DISEÑO O DE SISTEMAS DIGITALES Dr.-Ing. Paola Vega Castillo Información n General Curso: Diseño de Sistemas Digitales Código: EL-3310 Tipo de curso: Teórico Créditos/Horas por semana: 4/4 Requisito:

Más detalles

Tema: Historia de los Microprocesadores

Tema: Historia de los Microprocesadores Universidad Nacional de Ingeniería Arquitectura de Maquinas I Unidad I: Introducción a los Microprocesadores y Microcontroladores. Tema: Historia de los Microprocesadores 1 Contenidos La década de los

Más detalles

valentin.puente@unican.es pablo.abad@unican.es Curso 1011

valentin.puente@unican.es pablo.abad@unican.es Curso 1011 Arquitectura e Ingeniería de Computadores valentin.puente@unican.es pablo.abad@unican.es Curso 1011 Revisión 10/02/2011 1 Qué es Arquitectura de Computadores? La arquitectura de Computadores es la ciencia

Más detalles

Los Microprocesadores MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Evolución Histórica de los Microprocesadores Intel Evolución de los microprocesadores Intel de la década de los 70 4004

Más detalles

Lección 1. Representación de números

Lección 1. Representación de números Lección 1. Representación de números 1.1 Sistemas de numeración Empecemos comentando cual es el significado de la notación decimal a la que estamos tan acostumbrados. Normalmente se escribe en notación

Más detalles

Lógica Binaria. Arquitectura de Ordenadores. Codificación de la Información. Abelardo Pardo abel@it.uc3m.es. Universidad Carlos III de Madrid

Lógica Binaria. Arquitectura de Ordenadores. Codificación de la Información. Abelardo Pardo abel@it.uc3m.es. Universidad Carlos III de Madrid Arquitectura de Ordenadores Codificación de la Información Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Lógica Binaria COD-1 Internamente el ordenador

Más detalles

Planificación estática

Planificación estática Planificación estática Planificación de bloques básicos Planificación de bucles Planificación global Serafín Benito AIC: Planificación estática 1 Planificación de bloques básicos.. Técnica sencilla. Eficiencia

Más detalles

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Estructura de un computador: conceptos básicos Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa 1. Introducción 2. Elementos

Más detalles

MICROPROCESADOR RISC SINTETIZABLE EN FPGA PARA FINES DOCENTES

MICROPROCESADOR RISC SINTETIZABLE EN FPGA PARA FINES DOCENTES MICROPROCESADOR RISC SINTETIZABLE EN FPGA PARA FINES DOCENTES J.D. MUÑOZ1, S. ALEXANDRES1 Y C. RODRÍGUEZ-MORCILLO2 Departamento de Electrónica y Automática. Escuela Técnica Superior de Ingeniería ICAI.

Más detalles

Técnicas SuperEscalares en la Paralelización de Bibliotecas de Computación Matricial sobre Procesadores Multinúcleo y GPUs

Técnicas SuperEscalares en la Paralelización de Bibliotecas de Computación Matricial sobre Procesadores Multinúcleo y GPUs Técnicas SuperEscalares en la Paralelización de Bibliotecas de Computación Matricial sobre Procesadores Multinúcleo y GPUs Enrique S. Quintana-Ortí quintana@icc.uji.es High Performance Computing & Architectures

Más detalles

Arquitecturas RISC v.2014

Arquitecturas RISC v.2014 Arquitecturas RISC v.2014 William Stallings, Organización y Arquitectura de Computadores, Capítulo 12: Computadores de repertorio reducido de instrucciones. John Hennessy David Patterson, Arquitectura

Más detalles

1. Objetivo y evolución de los procesadores ILP.

1. Objetivo y evolución de los procesadores ILP. Arquitectura de Computadores Tema 3: Procesadores ILP Índice. Objetivo y evolución de los procesadores ILP. 2. Segmentación (Pipeline).. Concepto y medida de rendimiento. i 2. Pipeline de instrucciones..

Más detalles

Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato

Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato Bibliografía: William Stallings Organización y Arquitectura de computadores 5ta. Edition. Editorial Pearson Educación.- Objetivos:

Más detalles

ARQUITECTURA E INGENIERÍA DE COMPUTADORES

ARQUITECTURA E INGENIERÍA DE COMPUTADORES III III Jornadas: Docencia de de ISA ISA en en Informática y Computadores ARQUITECTURA E INGENIERÍA DE COMPUTADORES José José Sánchez Moreno Dpto. Dpto. Informática y Automática E.T.S.I. Informática UNED

Más detalles

Arquitectura Von Neumann

Arquitectura Von Neumann Arquitectura Von Neumann Arquitectura Von Neumann Establecida en 1945 por Von Neumann Modelo básico de arquitectura utilizado en la mayoría de los computadores Su idea es la de conectar permanentemente

Más detalles

Procesadores vectoriales comerciales

Procesadores vectoriales comerciales Procesadores vectoriales comerciales Roberto Fernández Rodríguez, Iván Menéndez González y Francesco Buccini Arquitectura y Tecnología de Computadores (4º curso de Ingeniería en Informática). EPSIG, Universidad

Más detalles

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CONCEPTOS BASICOS DEL LENGUAJE JAVA CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten

Más detalles

Apuntes de Microcontroladores (Repaso de temas previos)

Apuntes de Microcontroladores (Repaso de temas previos) Apuntes de Microcontroladores (Repaso de temas previos) Por M. C. Miguelangel Fraga Aguilar Enero 2015 Representaciones numéricas En estos apuntes se usara el posfijo b para denotar un número escrito en

Más detalles

Presentación de la materia Historia de las computadoras

Presentación de la materia Historia de las computadoras de la materia de las computadoras Organización de computadoras Universidad Nacional de Quilmes http://orga.blog.unq.edu.ar Horarios Dos bandas horarias: Banda Clase Aula Horario Docente Matutina Teoría

Más detalles

TUTORIAL: COMPUTACIÓN de ALTO DESEMPEÑO

TUTORIAL: COMPUTACIÓN de ALTO DESEMPEÑO TUTORIAL : COMPUTACIÓN de ALTO DESEMPEÑO SERGIO NESMACHNOW Centro de Cálculo, Instituto de Computación FACULTAD DE INGENIERÍA, UNIVERSIDAD DE LA REPÚBLICA, URUGUAY CONTENIDO Introducción Computadores paralelos

Más detalles

Tema 2 Representación de la información. Fundamentos de Computadores

Tema 2 Representación de la información. Fundamentos de Computadores Tema 2 Representación de la información Fundamentos de Computadores septiembre de 2010 Índice Índice 2.1 Introducción 2.2 Representación de enteros 2.2.1 Representación posicional de los números. 2.2.2

Más detalles

Procesadores segmentados. El DLX.

Procesadores segmentados. El DLX. Procesadores segmentados. El DLX. Curso 2011-2012 Características de las Arquitecturas Tipos de Arquitectura Organización de la Memoria Direccionamiento de Memoria Operaciones en el Repertorio de Instrucciones

Más detalles

Sistemas Multiprocesador de Memoria Compartida Comerciales

Sistemas Multiprocesador de Memoria Compartida Comerciales Sistemas Multiprocesador de Memoria Compartida Comerciales Florentino Eduardo Gargollo Acebrás, Pablo Lorenzo Fernández, Alejandro Alonso Pajares y Andrés Fernández Bermejo Escuela Politécnia de Ingeniería

Más detalles

Tema 2. La Información y su representación

Tema 2. La Información y su representación Tema 2. La Información y su representación 2.1 Introducción. Un ordenador es una máquina que procesa información. La ejecución de un programa implica la realización de unos tratamientos, según especifica

Más detalles

Arquitecturas CISC y RISC

Arquitecturas CISC y RISC Arquitecturas CISC y RISC Diseño de Sistemas Digitales EL-3310 I SEMESTRE 2008 2. ARQUITECTURA DEL CONJUNTO DE INSTRUCCIONES 2.1 Elementos de la arquitectura Clasificación de la arquitectura Organización

Más detalles

PROGRAMACIÓN EN C. PRÁCTICA 2: Operaciones con bits. Práctica 2: Índice. 2.1 Introducción 2.2 Representación de información binaria en C

PROGRAMACIÓN EN C. PRÁCTICA 2: Operaciones con bits. Práctica 2: Índice. 2.1 Introducción 2.2 Representación de información binaria en C PROGRAMACIÓN EN C PRÁCTICA 2: Operaciones con bits Práctica 2: Índice 2.1 Introducción 2.2 Representación de información binaria en C 2.3 Operando con bits en C 2.4 Máscaras 2.5 Desplazamientos 2.6 Ejercicios

Más detalles

Capítulo 2 REPRESENTACIÓN DE LOS DATOS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Capítulo 2 REPRESENTACIÓN DE LOS DATOS. Presentación resumen del libro: EMPEZAR DE CERO A PROGRAMAR EN lenguaje C Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas (correo@carlospes.com) Capítulo 2 REPRESENTACIÓN DE LOS DATOS 1 OBJETIVOS Entender cómo la computadora

Más detalles

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción

Más detalles

Unidad 2: Gestión de Memoria

Unidad 2: Gestión de Memoria Unidad 2: Gestión de Memoria Tema 3, Gestión de Memoria: 3.1 Definiciones y técnicas básicas. 3.2 Gestión de memoria contigua: Partición, fragmentación, algoritmos de ubicación... 3.3 Paginación: Estructura

Más detalles

Nibble Sirve para representar números hexadecimales. ( 0-9 A F) Sirve para representar números BCD (0...9)

Nibble Sirve para representar números hexadecimales. ( 0-9 A F) Sirve para representar números BCD (0...9) Formatos Binarios (80x86 ) 8 bits x 7 x 6 x 5 x 4 x 3 x 2 x 1 x 0 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 Alta orden ó más significativo significativo baja orden ó menos 16 bits x 15 x 14 x 13 x 12 x 11 x 10 x

Más detalles

COMPUTADORES MULTINUCLEO. Stallings W. Computer Organization and Architecture 8ed

COMPUTADORES MULTINUCLEO. Stallings W. Computer Organization and Architecture 8ed COMPUTADORES MULTINUCLEO Stallings W. Computer Organization and Architecture 8ed Computador multinucleo Un computador multinúcleocombina dos o mas procesadores (llamados núcleos) en una única pieza de

Más detalles

EL PROCESADOR. 2.1. Estructura de un ordenador propuesta por Von Neumann.

EL PROCESADOR. 2.1. Estructura de un ordenador propuesta por Von Neumann. 2 EL PROCESADOR 2.1. Estructura de un ordenador propuesta por Von Neumann. Un hito importante en la breve e intensa historia de los ordenadores es la idea de Von Neumann, expuesta en 1946, de construir

Más detalles

EMISION MULTIPLE DE INSTRUCCIONES ARQUITECTURA AVANZADA. Uciel Cohen

EMISION MULTIPLE DE INSTRUCCIONES ARQUITECTURA AVANZADA. Uciel Cohen EMISION MULTIPLE DE INSTRUCCIONES Uciel Cohen Tabla de contenido PROCESADORES VECTORIALES... 2 PROCESAMIENTO VECTORIAL... 2 TIEMPOS DE EJECUCION VECTORIAL... 3 TIEMPO DE ARRANQUE VECTORIAL Y TASA DE INICIALIZACIÓN...

Más detalles

ARQUITECTURA DE LAS COMPUTADORAS PRACTICA

ARQUITECTURA DE LAS COMPUTADORAS PRACTICA ARQUITECTURA DE LAS COMPUTADORAS PRACTICA SISTEMAS NUMÉRICOS INTRODUCCIÓN TEÓRICA: Definimos Sistema de Numeración como al conjunto de reglas que permiten, con una cantidad finita de símbolos, representar

Más detalles

Introducción. Por último se presentarán las conclusiones y recomendaciones pertinentes.

Introducción. Por último se presentarán las conclusiones y recomendaciones pertinentes. Introducción En el presente documento se explicarán las consideraciones realizadas para implementar la convolución bidimensional en la arquitectura CUDA. En general se discutirá la metodología seguida

Más detalles

ELO311 Estructuras de Computadores Digitales. Números

ELO311 Estructuras de Computadores Digitales. Números ELO311 Estructuras de Computadores Digitales Números Tomás Arredondo Vidal Este material está basado en: material de apoyo del texto de David Patterson, John Hennessy, "Computer Organization & Design",

Más detalles

Arquitectura de un computador

Arquitectura de un computador Arquitectura de un computador Servidores de Información Multimedia 2º Ingeniero de Telecomunicación (Esp. Sonido e Imagen) Departamento de Ingeniería Telemática Universidad Carlos III de Madrid 2 Índice

Más detalles

TIPOS BÁSICOS DE ARQUITECTURAS DE MICROPROCESADORES

TIPOS BÁSICOS DE ARQUITECTURAS DE MICROPROCESADORES ANÁLISIS DE ARQUITECTURAS MODERNAS DE MICROPROCESADORES UTILIZADOS EN CIRCUITOS INTEGRADOS (CISC, RISC, VLIW, EPIC), ASÍ COMO ARQUITECTURAS PARA EL PROCESAMIENTO MULTIMEDIA Y DIGITAL DE SEÑALES DSP La

Más detalles

FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS. CNCA Abril 2013

FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS. CNCA Abril 2013 FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS CNCA Abril 2013 6. COMPUTACIÓN DE ALTO RENDIMIENTO Ricardo Román DEFINICIÓN High Performance Computing - Computación de Alto Rendimiento Técnicas, investigación

Más detalles

Análisis general de un Microprocesador

Análisis general de un Microprocesador Análisis general de un Microprocesador Arquitectura del chip Repertorio de instrucciones Sistema mínimo Señales de control Función de cada pin del µp Herramientas de desarrollo Performance. ARQUITECTURA

Más detalles

Representación de la Información en una Computadora

Representación de la Información en una Computadora Representación de la Información en una Computadora Sistemas de Numeración El sistema de numeración que utiliza el hombre es el sistema decimal (de base 10). Lo creamos en forma natural porque tenemos

Más detalles

Materia Introducción a la Informática

Materia Introducción a la Informática Materia Introducción a la Informática Unidad 1 Sistema de Numeración Ejercitación Prof. Alejandro Bompensieri Introducción a la Informática - CPU Ejercitación Sistemas de Numeración 1. Pasar a base 10

Más detalles

Programación básica C++

Programación básica C++ Programación en Lenguaje C++ Programación básica C++ 6.3.1 Declaración de variables Introducción 6 Las variables sirven para identificar un determinado valor. Es importante tener en cuenta, que una variable

Más detalles

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Circuitos para multiplicación y división de números en coma fija Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa Bibliografía..

Más detalles

MEMORIA. Programación II

MEMORIA. Programación II MEMORIA Programación II Temas Subsistema de Memoria Organización de Memoria Principal Memoria Cache Subsistema de memoria Componentes de la computadora Buses Contexto actual (1) Velocidad del procesador:

Más detalles

Procesador Pentium II 450 MHz Procesador Pentium II 400 MHz Procesador Pentium II 350 MHz Procesador Pentium II 333 MHz Procesador Pentium II 300 MHz

Procesador Pentium II 450 MHz Procesador Pentium II 400 MHz Procesador Pentium II 350 MHz Procesador Pentium II 333 MHz Procesador Pentium II 300 MHz PENTIUM El procesador Pentium es un miembro de la familia Intel de procesadores de propósito general de 32 bits. Al igual que los miembros de esta familia, el 386 y el 486, su rango de direcciones es de

Más detalles

PROGRAMACION VECTORIAL RAFAEL VALDÉS VALDAZO UO196581 ÁNGEL MARÍA VILABOA PÉREZ UO197092 BLOQUE PARALELAS 4º INFORMÁTICA UNIVERSIDAD DE OVIEDO

PROGRAMACION VECTORIAL RAFAEL VALDÉS VALDAZO UO196581 ÁNGEL MARÍA VILABOA PÉREZ UO197092 BLOQUE PARALELAS 4º INFORMÁTICA UNIVERSIDAD DE OVIEDO PROGRAMACION VECTORIAL RAFAEL VALDÉS VALDAZO UO196581 ÁNGEL MARÍA VILABOA PÉREZ UO197092 BLOQUE PARALELAS 4º INFORMÁTICA UNIVERSIDAD DE OVIEDO INTRODUCCIÓN Ligada al concepto de vector Decodifica instrucciones

Más detalles

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel.

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel. Tema 2: Arquitectura del repertorio de instrucciones Visión del computador que tiene el programador en bajo nivel. Lo que el programador en lenguaje ensamblador debe conocer para escribir programas: (1)

Más detalles

Procesador Intel Core 2 Extreme de 4 núcleos Traducción de Textos Curso 2007/2008

Procesador Intel Core 2 Extreme de 4 núcleos Traducción de Textos Curso 2007/2008 Procesador Intel Core 2 Traducción de Textos Curso 2007/2008 Versión Cambio 0.9RC Revisión del texto 0.8 Traducido el octavo párrafo 0.7 Traducido el séptimo párrafo Autor: Rubén Paje del Pino i010328

Más detalles

SOLUCIÓN: a) Signo y magnitud:

SOLUCIÓN: a) Signo y magnitud: 1. Resolver las siguientes conversiones razonando los pasos seguidos (total 3 a. Dado el número 18525 expresado en decimal, calcular su representación numérica en signo y magnitud, en complemento a 2 y

Más detalles

Entorno de Ejecución del Procesador Intel Pentium

Entorno de Ejecución del Procesador Intel Pentium Arquitectura de Ordenadores Arquitectura del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Entorno de Ejecución del Procesador

Más detalles

Representación de Datos. Una Introducción a los Sistemas Numéricos

Representación de Datos. Una Introducción a los Sistemas Numéricos Representación de Datos Una Introducción a los Sistemas Numéricos Tipos de Datos Datos Texto Número Imagen Audio Video Multimedia: Información que contiene números, texto, imágenes, audio y video. Como

Más detalles

Instituto Tecnológico Argentino Técnico en Hardware de PC Plan THP2A03B

Instituto Tecnológico Argentino Técnico en Hardware de PC Plan THP2A03B Instituto Tecnológico Argentino Técnico en Hardware de PC Plan THP2A03B Reservados los Derechos de Propiedad Intelectual Tema: Procesadores AMD Archivo: CAP2A03BTHP0335.doc Clase Nº: 35 Versión: 1.1 Fecha:

Más detalles

FUNDAMENTOS DE INFORMATICA

FUNDAMENTOS DE INFORMATICA FUNDAMENTOS DE INFORMATICA TEMAS QUE SE TRATARÁN: Arquitectura Interna Sistemas Operativos Programación en Visual Basic Bases de Datos Redes e Internet 1 FUNDAMENTOS DE INFORMATICA Tema 1: Arquitectura

Más detalles

Arquitectura NetBurst: Pentium 4. José Ignacio Gómez Pérez

Arquitectura NetBurst: Pentium 4. José Ignacio Gómez Pérez Arquitectura NetBurst: Pentium 4 José Ignacio Gómez Pérez 1. Introducción Tras varios años sin aportar nada nuevo al mundo de la micro-arquitectura, Intel da un gran paso hacia delante con la presentación

Más detalles

Arquitectura de Computadores. Adecuación al diseño de unidades segmentadas (pipelining).

Arquitectura de Computadores. Adecuación al diseño de unidades segmentadas (pipelining). La arquitectura. Introducción. En este capítulo describiremos la estructura básica de una arquitectura sencilla de carga/almacenamiento denominada (Pronunciado DeLuxe ). La arquitectura del conjunto de

Más detalles