Una arquitectura superscalar de la CPU del ejecuta una forma del paralelismo llamado el paralelismo del Instrucción-nivel dentro de un solo procesador. De tal modo permite un rendimiento de procesamiento más rápido de la CPU que ser de otra manera posible a la misma tarifa de reloj. Un procesador superscalar ejecuta más de una instrucción durante un ciclo de reloj simultáneamente enviando instrucciones múltiples a las unidades funcionales redundantes en el procesador. Cada unidad funcional es una no base separada de la CPU, sino un recurso de la ejecución dentro de una sola CPU, tal como una unidad de la lógica aritmética, desplazador o multiplicador del pedacito.

Mientras que una CPU superscalar es típicamente también canalizado, son dos diversas técnicas del realce del funcionamiento. Es teóricamente posible tener una CPU superscalar no-canalizada, o una CPU non-superscalar canalizada.

La técnica superscalar se asocia tradicionalmente a varias características de identificación. Observar éstos son aplicado dentro de una base dada de la CPU.
Las instrucciones del

se publican de una corriente secuencial de la instrucción
El hardware de la CPU comprueba dinámicamente para saber si hay dependencias de los datos entre las instrucciones en el tiempo de pasada (contra el software que comprueba en el de tiempo de compilación)
Acepta instrucciones múltiples por ciclo de reloj

Historia

CDC 6600 de s de Cray Seymour la 'del 1965 se menciona a menudo como el primer diseño superscalar. El Intel i960CA (1988) y el AMD 29000 - las series 29050 (1990) microprocesadores eran los primeros microprocesadores superscalar monopastilla comerciales. Las CPU del RISC tienen gusto de éstos traídos el concepto superscalar a las computadoras micro porque el diseño del RISC da lugar a una base simple, permitiendo envío directo de la instrucción y la inclusión de unidades funcionales múltiples (tales como ALUs) en una sola CPU en las reglas obligadas del diseño del tiempo. Ésta era la razón que los diseños del RISC eran más rápidos que diseños del CISC con los años 80 y en los años 90.

A excepción de las CPU usadas en un poco de batería - los dispositivos accionados, esencialmente todas las CPU de fines generales se convirtieron puesto que cerca de 1998 son superscalar. El comenzar con el " P6 " (Pentium favorable Pentium II de y) la puesta en práctica, microprocesadores de la arquitectura 80386 de s de Intel 'ha ejecutado un sistema de instrucción del CISC en una Micro-arquitectura superscalar del RISC. Las instrucciones complejas interno se traducen a a RISC-como " micro-ops" Sistema de instrucción del RISC, permitiendo que el procesador se aproveche del procesador subyacente del alto-funcionamiento mientras que sigue siendo compatible con procesadores anteriores de Intel.

De escalar a superscalar

Los procesadores más simples son los procesadores escalares que cada instrucción ejecutada por un procesador escalar típicamente manipula uno o dos artículos de datos a la vez. Por el contrario, cada instrucción ejecutada por un procesador del vector funciona simultáneamente en muchos artículos de datos. Una analogía es la diferencia entre el escalar y la aritmética del vector. Un procesador superscalar es clase de una mezcla de los dos. Cada instrucción procesa un artículo de datos, pero hay unidades funcionales redundantes múltiples dentro de cada CPU que las instrucciones múltiples pueden procesar así artículos de datos separados concurrentemente.

El diseño de la CPU de Superscalar acentúa la mejora de la exactitud del despachador de la instrucción, y permitir que mantenga las unidades funcionales múltiples funcionando siempre. Esto ha llegado a ser cada vez más importante cuando el número de unidades aumentó. Mientras que las CPU superscalar tempranas tendrían dos el ALUs y un solo FPU, un diseño moderno como el PowerPC 970 incluye cuatro ALUs y dos FPUs y unas par de unidades SIMD también. Si el despachador es ineficaz en la custodia de todas estas unidades alimentadas con instrucciones, el funcionamiento del sistema sufrirá en conjunto.

Un procesador superscalar sostiene generalmente una tarifa de la ejecución superior a una instrucción por el ciclo de máquina . ¡Pero simplemente el proceso de instrucciones múltiples concurrentemente no hace una arquitectura superscalar, puesto que el canalizó , el multiprocesador o las arquitecturas multifilares también alcanzar eso, pero con diversos métodos.

En una CPU superscalar el despachador lee instrucciones de la memoria y decide cuáles pueden ser funcionadas con paralelamente, enviándolas a las unidades funcionales redundantes contenidas dentro de una sola CPU. Por lo tanto un procesador superscalar se puede prever el tener de tuberías paralelas del múltiplo, que es instrucciones de proceso simultáneamente de un solo hilo de rosca de la instrucción.

Limitaciones

La mejora disponible del funcionamiento de técnicas superscalar es limitada por dos ámbitos fundamentales: El grado de paralelismo intrínseco en la corriente de la instrucción, es decir cantidad limitada de paralelismo del instrucción-nivel, y de
  • El coste de la complejidad y de tiempo del despachador y de la dependencia asociada que comprueban lógica.

    Los programas ejecutables binarios existentes tienen diversos grados de paralelismo intrínseco. Las instrucciones no son dependientes en uno a y se pueden en algunos casos ejecutar simultáneamente. En otros casos son interdependientes: una instrucción afecta recursos o los resultados de la otra. El a de las instrucciones = el b + la c; d = e + f pueden ser funcionados paralelamente porque ningunos de los resultados dependen de otros cálculos. Sin embargo, el a de las instrucciones = el b + la c; d = a + f no pudieron ser runnable paralelamente, dependiendo de la orden en la cual las instrucciones terminan mientras que se mueven a través de las unidades.

    Cuando el número de instrucciones simultáneamente publicadas aumenta, el coste de la dependencia que comprueba aumentos extremadamente rápido. Esto es exacerbada por la necesidad de comprobar dependencias en el tiempo de pasada y a la tarifa de reloj de la CPU. Este coste incluye las puertas de lógica adicional requeridas para ejecutar los cheques, y los retrasos a través de esas puertas. La investigación demuestra que la puerta costada en algunos casos puede ser puertas de n^k, y el retardo costó k^2 \ el registro n, donde está el número n de instrucciones en el sistema de instrucción del procesador, y k es el número de instrucciones simultáneamente enviadas. En matemáticas, esto se llama un problema de Combinatoric que implica las permutaciones

    Aunque la corriente de la instrucción no puede contener ninguna dependencia de la inter-instrucción, una CPU superscalar debe no obstante comprobar para saber si hay esa posibilidad, puesto que no hay aseguramiento de otra manera y la falta de detectar una dependencia produciría resultados incorrectos.

    No importa cómo está avanzado el proceso del semiconductor o cómo rápidamente la velocidad de conmutación, ésta pone un límite práctico en cuántos pueden ser enviadas simultáneamente las instrucciones. Mientras que los avances de proceso permitirán números siempre mayores de unidades funcionales (e.g, ALUs), la carga de comprobar dependencias de la instrucción crece tan rápido que el límite superscalar realizable del envío es bastante pequeño. -- probablemente en la orden de cinco a seis instrucciones simultáneamente enviadas.

    No obstante incluso la dependencia infinitamente rápida dada que comprueba lógica en una CPU superscalar de otra manera convencional, si la corriente sí mismo de la instrucción tiene muchas dependencias, esto también limitaría el speedup posible. Así el grado de paralelismo intrínseco en la corriente del código forma una segunda limitación.

    Alternativas

    Colectivamente, investigación de la impulsión de estos dos límites en aumentos arquitectónicos alternativos del funcionamiento tales como palabra de instrucción muy larga (VLIW), instrucción paralela explícitamente que computa, multithreading simultáneo (SMT), y procesadores multifilares .

    Con VLIW, la tarea pesada de la dependencia que comprueba por lógica del hardware en el tiempo de pasada se quita y se delega al recopilador . Los cheques que en un diseño superscalar se deben terminar dentro de nanosegundos se pueden realizar en segundos, y si al una máquina multifilar y usar un recopilador con hilos múltiples, por los procesadores múltiples paralelamente. La instrucción paralela que computa (ÉPICO) es explícitamente como VLIW, con instrucciones prefetching del escondrijo adicional.

    El multithreading simultáneo, abreviado a menudo como SMT, es una técnica para mejorar la eficacia total de CPU superscalar. SMT permite que los hilos de rosca independientes múltiples de la ejecución utilicen mejor los recursos proporcionados por arquitecturas modernas del procesador.

    Los procesadores de Superscalar diferencian de los procesadores multifilares en que las unidades funcionales redundantes no son procesadores enteros. Un solo procesador se compone de unidades funcionales fino-granulosas tales como el ALU, multiplicador del número entero, desplazador del número entero, unidad de la coma flotante, etc. Puede haber versiones múltiples de cada unidad funcional para permitir la ejecución de muchas instrucciones paralelamente. Esto diferencia de una CPU multifilar que concurrentemente las instrucciones de procesos de los hilos de rosca múltiples, un hilo de rosca por base. También diferencia de una CPU canalizada, donde las instrucciones múltiples pueden concurrentemente estar en varias etapas de la ejecución, manera de la línea de montaje .

    Las varias técnicas alternativas no son - exclusiva - ellas pueden (y estar con frecuencia) ser combinadas mutuamente en un solo procesador. Así una CPU multifilar es posible donde está un procesador cada base independiente que contiene tuberías paralelas múltiples, cada tubería que es superscalar. Algunos procesadores también incluyen capacidad del vector .

    Ver también

    Estupendo-que rosca
    multithreading simultáneo
    Ejecución especulativa /ejecución impaciente
    Cierre, una edición del software del multiprocesador similar a las dependencias de la lógica en superscalars
  • .

  • Zenithic
  • Superscalar
    Random links:José Moscardó Ituarte | Satinado aislado | Wrexham Maelor | Eva O | Meunier-Lebouc de Patricia

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">