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

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

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

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

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

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

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

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

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

Arquitecturas vectoriales, SIMD y extensiones multimedia

Arquitecturas vectoriales, SIMD y extensiones multimedia Arquitecturas vectoriales, SIMD y extensiones multimedia William Stallings, Organización y Arquitectura de Computadores, 5ta. ed., Capítulo 16: Procesamiento Paralelo. Andrew S. Tanenbaum, Organización

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

UNIDADES DE ALMACENAMIENTO DE DATOS

UNIDADES DE ALMACENAMIENTO DE DATOS 1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo

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

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

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 1. Electrónica Digital Antes de empezar en el tema en cuestión, vamos a dar una posible definición de la disciplina que vamos a tratar, así como su ámbito

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

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

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

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

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

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Exámenes Ingeniería Computadores II Tutor: Antonio Rivero Cuesta Exámenes TEMA 1 Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta Un procesador sin segmentación

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

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

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

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

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

Control y temporización Comunicación con la CPU Comunicación con el dispositivo externo Almacén temporal de datos Detección de errores

Control y temporización Comunicación con la CPU Comunicación con el dispositivo externo Almacén temporal de datos Detección de errores UNIDAD DE ENTRADA SALIDA Conceptos Unidad de entrada-salida (E/S): Elemento que proporciona un método de comunicación eficaz entre el sistema central y el periférico. Funciones Control y temporización

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

EVALUACIÓN COMPARADA DEL RENDIMIENTO DEL PROCESADOR INTEL 5570 (NEHALEM)

EVALUACIÓN COMPARADA DEL RENDIMIENTO DEL PROCESADOR INTEL 5570 (NEHALEM) EVALUACIÓN COMPARADA DEL RENDIMIENTO DEL PROCESADOR INTEL 5570 (NEHALEM) Carlos Bernal, Ana Silva, Marceliano Marrón, Juan Antonio Ortega, Claudio J. Arjona Área de HPC Centro Informático Científico de

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

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

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

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

Computación Científica en Paralelo

Computación Científica en Paralelo Computación Científica en Paralelo Luis Miguel de la Cruz luiggix@gmail.com www.dci.dgsca.unam.mx/lmcs Unidad de Investigación en Cómputo Aplicado DGSCA-UNAM. Posgrado en Ciencia e Ingeniería de la Computación

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

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

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

Pipeline o Segmentación Encausada

Pipeline o Segmentación Encausada Pipeline o Segmentación Encausada Material Elaborado por el Profesor Ricardo González A partir de Materiales de las Profesoras Angela Di Serio Patterson David, Hennessy John Organización y Diseño de Computadores

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

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. ARQUITECTURAS DE COMPUTADORES 2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. Unidad de E/S 1 Unidad de E/S Indice Introducción.

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

Organizacion del Computador

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

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

Tema 2. Diseño del repertorio de instrucciones

Tema 2. Diseño del repertorio de instrucciones Soluciones a los problemas impares Tema 2. Diseño del repertorio de instrucciones Arquitectura de Computadores Curso 2009-2010 Tema 2: Hoja: 2 / 16 Tema 2: Hoja: 3 / 16 Base teórica Al diseñar un computador,

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 2: Estructura de los sistemas de computación. 2.1 Funcionamiento de los sistemas de computación. 2.2 Ejecución de instrucciones e interrupciones

Más detalles

Clase 02: Representación de datos

Clase 02: Representación de datos Arquitectura de Computadores y laboratorio Clase 02: Representación de datos Departamento de Ingeniería de Sistemas Universidad de Antioquia 2015-2 Contenido 1 2 Representación de la Información Y sistemas

Más detalles

6-REGISTROS DEL 8086 Y DEL 80286

6-REGISTROS DEL 8086 Y DEL 80286 ESTRUCTURA DE COMPUTADORES I (Capítulo 6: Los registros del microprocesador 8086) 1/7 6-REGISTROS DEL 8086 Y DEL 80286 6.1 INTRODUCCIÓN: Dentro del procesador existen unos contenedores especiales de 16

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

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true I. FUNDAMENTOS 3. Representación de la información Introducción a la Informática Curso de Acceso a la Universidad

Más detalles

Arquitecturas de Computadoras II. Febrero 2013

Arquitecturas de Computadoras II. Febrero 2013 Arquitecturas de Computadoras II Febrero 2013 1 Sabes... 1. Cuál es la Arquitectura Von Neumann? 2. Qué es Programación? 3. Qué es un algoritmo? 4. Qué es un programa? 5. Qué es un sistema? 6. Materias

Más detalles

Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014

Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014 Tecnologías en la Educación Matemática jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR 1 Datos Los algoritmos combinan datos con acciones. Los datos de entrada

Más detalles

Notas de Diseño Digital

Notas de Diseño Digital Notas de Diseño Digital Introducción El objetivo de estas notas es el de agilizar las clases, incluyendo definiciones, gráficos, tablas y otros elementos que tardan en ser escritos en el pizarrón, permitiendo

Más detalles

Plataformas de soporte computacional: arquitecturas avanzadas,

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

Más detalles

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS ESTRUCTURA DE COMPUTADORES Pag. 8.1 LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS 1. Circuitos de multiplicación La operación de multiplicar es mas compleja que la suma y por tanto se

Más detalles

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. Generated by Foxit PDF Creator Foxit Software Índice 1- Qué es un microprocesador? 2- Marcas 3- Intel 4- AMD 5- Evolución Intel 6- Evolución AMD QUÉ ES UN MICROPROCESADOR? El microprocesador, comúnmente

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 3 Elementos básicos de programación

Tema 3 Elementos básicos de programación Representación de Datos y Aplicaciones Tema 3 Elementos básicos de programación Natividad Martínez Madrid nati@it.uc3m.es Objetivos del tema 3 Conocer la estructura básica de un programa Java Comprender

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

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

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

PROGRAMACIÓN BÁSICA DE LA COMPUTADORA. 1 Introducción. Tabla 1: Instrucciones MIPS

PROGRAMACIÓN BÁSICA DE LA COMPUTADORA. 1 Introducción. Tabla 1: Instrucciones MIPS PROGRAMACIÓN BÁSICA DE LA COMPUTADORA 1 Introducción Un sistema de computadora total incluye tanto circuitería (hardware) como programación (software). El hardware consta de los componentes físicos y todo

Más detalles

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por

Más detalles

Técnicas empleadas. además de los discos las controladoras.

Técnicas empleadas. además de los discos las controladoras. RAID Introducción En los últimos años, la mejora en la tecnología de semiconductores ha significado un gran incremento en la velocidad de los procesadores y las memorias principales que, a su vez, exigen

Más detalles

UNIDAD Nº 1: 1. SISTEMAS DE NUMERACION. Formalizado este concepto, se dirá que un número X viene representado por una cadena de dígitos:

UNIDAD Nº 1: 1. SISTEMAS DE NUMERACION. Formalizado este concepto, se dirá que un número X viene representado por una cadena de dígitos: UNIDAD Nº 1: TECNICATURA EN INFORMATICA UNLAR - CHEPES 1.1. INTRODUCCION 1. SISTEMAS DE NUMERACION El mundo del computador es un mundo binario. Por el contrario, el mundo de la información, manejada por

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

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

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

3.2 Operaciones aritmético-lógicas en Pascal

3.2 Operaciones aritmético-lógicas en Pascal 3.2 Operaciones aritmético-lógicas en Pascal Operadores Los operadores sirven para combinar los términos de las expresiones. En Pascal, se manejan tres grupos de operadores : 1. ARITMÉTICOS 2. RELACIONALES

Más detalles

Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio

Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio Fundamentos de Arquitectura de Computadores Modelo de von Neumann Profesor: Felipe Cabarcas Correo:cabarcas@udea.edu.co Oficina:

Más detalles