InicioCiencia EducacionLa unidad central de procesamiento (CPU) - Info Basica


La expresión"unidad central de proceso “es, en términos generales, una descripción deuna cierta clase de máquinas de lógica que pueden ejecutar complejos programasde computadora.

Esta amplia definición puede fácilmente ser aplicada a muchos de los primeroscomputadores que existieron mucho antes que el término "CPU" estuvieraen amplio uso.

Sin embargo, el término en sí mismo y su acrónimo han estado en uso en la industriade la informática por lo menos desde el principio de los años 1960.

La CPU también es la llamada unidad central de procesamiento (por el acrónimo eninglés de central processing unit), o simplemente el procesador omicroprocesador, es el componente del computador y otros dispositivosprogramables, que interpreta las instrucciones contenidas en los programas yprocesa los datos.

Los CPU proporcionan la característica fundamental de la computadora digital(la programabilidad) y son uno de los componentes necesarios encontrados en lascomputadoras de cualquier tiempo, junto con el almacenamiento primario y losdispositivos de entrada/salida.

Se conoce como microprocesador el CPU que es manufacturado con circuitosintegrados.

La forma, el diseño y la implementación de los CPU ha cambiado drásticamentedesde los primeros ejemplos, pero su operación fundamental ha permanecidobastante similar.

Los primeros CPU fueron diseñados a la medida comparte de una computadora másgrande, generalmente una computadora única en su especie.

Sin embargo, este costoso método de diseñar los CPU a la medida, para unaaplicación particular, ha desaparecido en gran parte y se ha sustituido pareldesarrollo de clases de procesadores baratos y estandarizados adaptados parauno o muchos propósitos.

Esta tendencia de estandarización comenzó generalmente en la era de lostransistores discretos, computadoras centrales, y microcomputadoras, y fueacelerada rápidamente con la popularización del circuito integrado (IC), ésteha permitido que sean diseñados y fabricados CPU más complejos en espaciospequeños (en la orden de milímetros).

Tanto la miniaturización como la estandarización de los CPU han aumentado lapresencia de estos dispositivos digitales en la vida moderna mucho más allá de lasaplicaciones limitadas de máquinas de computación dedicadas.

Esta tendencia de estandarización comenzó generalmente en la era de lostransistores discretos, computadoras centrales, y microcomputadoras, y fueacelerada rápidamente con la popularización del circuito integrado (IC), ésteha permitido que sean diseñados y fabricados CPU más complejos en espaciospequeños (en la orden de milímetros).

Tanto la miniaturización como la estandarización de los CPU han aumentado la presenciade estos dispositivos digitales en la vida moderna mucho más allá de lasaplicaciones limitadas de máquinas de computación dedicadas.

Los microprocesadores modernos aparecen en todo, desde automóviles,televisores, neveras, calculadoras, aviones, hasta teléfonos móviles ocelulares, juguetes, entre otros.


¿Qué esuna CPU?

Definición de CPU.

CPU, abreviatura de Central Processing Unit (unidad de proceso central), sepronuncia como letras separadas.

La CPU es el cerebro del ordenador.

A veces es referido simplemente como el procesador o procesador central, Enordenadores grandes, las CPU requieren uno o más tableros de circuito impresos.

En los ordenadores personales y estaciones de trabajo pequeñas, la CPU estácontenida en un solo chip llamado microprocesador.

Dos componentes típicos de una CPU son

La unidad de lógica/aritmética (ALU), que realiza operaciones aritméticas ylógicas.

La unidad de control (CU), que extrae instrucciones de la memoria, las descifray ejecuta, llamando a la ALU cuando es necesario.


Casi todos los CPU tratan con estados discretos, y por lo tanto requieren unacierta clase elementos de conmutación para diferenciar y cambiar estos estados.Antes de la aceptación comercial del transistor, los relés eléctricos y lostubos de vacío (válvulas termoiónicas) eran usados comúnmente como elementos deconmutación.

Aunque éstos tenían distintas ventajas de velocidad sobre los anterioresdiseños puramente mecánicos, no eran fiables por varias razones. Por ejemplo,hacer circuitos de lógica secuencial de corriente directa requería hardwareadicional para hacer frente al problema del rebote de contacto.

Por otro lado, mientras que los tubos de vacío no sufren del rebote decontacto, éstos deben calentarse antes de llegar a estar completamenteoperacionales y eventualmente fallan y dejan de funcionar por completo.

Generalmente, cuando un tubo ha fallado, el CPU tendría que ser diagnosticadopara localizar el componente que falla para que pueda ser reemplazado.

Por lo tanto, los primeros computadores electrónicos, (basados en tubos devacío), generalmente eran más rápidas pero menos confiables que lascomputadoras electromecánicas, (basadas en relés).

Las computadoras de tubo, como el EDVAC, tendieron en tener un promedio de ochohoras entre fallas, mientras que las computadoras de relés, (anteriores y máslentas), como el Harvard Mark I, fallaban muy raramente. Al final, los CPUbasados en tubo llegaron a ser dominantes porque las significativas ventajas develocidad producidas generalmente pesaban más que los problemas deconfiabilidad. La mayor parte de estos tempranos CPU síncronos corrían enfrecuencias de reloj bajas comparadas con los modernos diseños microelectrónicas,(ver más abajo para una exposición sobre la frecuencia de reloj).

Eran muy comunes en este tiempo las frecuencias de la señal del reloj con unrango desde 100 kHz hasta 4MHz, limitado en gran parte por la velocidad de losdispositivos de conmutación con los que fueron construidos

CPU, memoria de núcleo, e interfaz de bus externo de un MSI PDP-8/I.

La complejidad del diseño de los CPU se incrementó a medida que variastecnologías facilitaron la construcción de dispositivos electrónicos máspequeños y confiables.

La primera de esas mejoras vino con el advenimiento del transistor. Los CPUtransistor izados durante los años 1950 y los años 1960 no tuvieron que serconstruidos con elementos de conmutación abultados, no fiables, y frágiles,como los tubos de vacío y los relees eléctricos.

Con esta mejora, fueron construidos CPU más complejos y más confiables sobreuna o varias tarjetas de circuito impreso que contenían componentes discretos(individuales).

Durante este período, ganó popularidad un método de fabricar muchostransistores en un espacio compacto.

El circuito integrado  permitió que una gran cantidad de transistoresfueran fabricados en una simple oblea basada en semiconductor o"chip".

Al principio, solamente circuitos digitales muy básicos, no especializados,como las puertas NOR fueron miniaturizados en IC.

Los CPU basadas en estos IC de "bloques deconstrucción" generalmenteson referidos como dispositivos de pequeña escala de integración"small-scale integration" (SSI).

Los circuitos integrados SSI, como los usados en el computador guía del Apoyo(Apoyo Guidance Computer), usualmente contenían transistores que se contaban ennúmeros de múltiplos de diez.

Construir un CPU completo usando IC SSI requería miles de chips individuales,pero todavía consumía mucho menos espacio y energía que diseños anteriores detransistores discretos.

A medida que la tecnología microelectrónica avanzó, en los IC fue colocado unnúmero creciente de transistores, disminuyendo así la cantidad de ICindividuales necesarios para un CPU completo.

Los circuitos integrados MSI y el LSI (de mediana y gran escala de integración)aumentaron el número de transistores a cientos, y luego a miles.

En 1964, IBM introdujo su arquitectura de computador System/360, que fue usadaen una serie de computadores que podían ejecutar los mismos programas convelocidades y desempeños diferentes.

Esto fue significativo en un tiempo en que la mayoría de las computadoras electrónicaserán incompatibles entre sí, incluso las hechas por el mismo fabricante.

Para facilitar esta mejora, IBM utilizó el concepto de microprograma, a menudollamado "micro código", ampliamente usado aún en los CPU modernos.

La arquitectura System/360 era tan popular que dominó el mercado del mainframedurante las siguientes décadas y dejó una herencia que todavía aún perdura enlas computadoras modernas, como el IBM Series.

En el mismo año de 1964, DigitalEquipment Corporation.

Digital Equipment Corporation (DEC) introdujo otro computador que sería muyinfluyente, dirigido a los mercados científicos y de investigación, el PDP-8.DEC introduciría más adelante la muy popular línea del PDP-11, queoriginalmente fue construido con IC SSI pero eventualmente fue implementado concomponentes LSI cuando se convirtieron en prácticos.

En fuerte contraste con sus precursores hechos con tecnología SSI y MSI, la primeraimplementación LSI del PDP-11 contenía un CPU integrado únicamente por cuatrocircuitos integrados LSI.

Los computadores basados en transistores tenían varias ventajas frente a suspredecesores.

Aparte de facilitar una creciente fiabilidad y un menor consumo de energía, lostransistores también permitían al CPU operar a velocidades mucho más altasdebido al corto tiempo de conmutación de un transistor en comparación a un tuboo relé.

Gracias tanto a esta creciente fiabilidad como al dramático incremento develocidad de los elementos de conmutación que por este tiempo eran casiexclusivamente transistores, se fueron alcanzando frecuencias de reloj del CPUde decenas de megahertz.

Además, mientras que los CPU de transistores discretos y circuitos integradosse usaban comúnmente, comenzaron a aparecer los nuevos diseños de altorendimiento como procesadores vectoriales SIMD (Single Instruction Múltiple Data)(Simple Instrucción Múltiples Datos).

Estos primeros diseños experimentales dieron lugar más adelante a la era de lassupercomputadoras especializadas, como los hechos por Cray Inc.

Desde la introducción del primer microprocesador, el Intel 4004, en 1970, y delprimer microprocesador ampliamente usado, el Intel 8080, en 1974, esta clase deCPUs ha desplazado casi totalmente el resto de los métodos de implementación dela Unidad Central de Proceso.

Los fabricantes de mainframes y minicomputadores de ese tiempo.

Las generaciones previas de CPUs fueron implementadas como componentesdiscretos y numerosos circuitos integrados de pequeña escala de integración enuna o más tarjetas de circuitos.

Por otro lado, los microprocesadores son CPUs fabricados con un número muypequeño de IC; usualmente solo uno.

El tamaño más pequeño del CPU, como resultado de estar implementado en unasimple pastilla, significa tiempos de conmutación más rápidos debido a factoresfísicos como el decrecimiento de la capacitancia parásita de las puertas.

Esto ha permitido que los microprocesadores síncronos tengan tiempos de relojcon un rango de decenas de megahercios a varios giga hercios.

Adicionalmente, como ha aumentado la capacidad de construir transistoresexcesivamente pequeños en un IC, la complejidad y el número de transistores enun simple CPU también se han incrementado dramáticamente.

Esta tendencia ampliamente observada es descrita por la ley de Moore, que hademostrado hasta la fecha, ser una predicción bastante exacta del crecimientode la complejidad de los CPUs y otros IC.

Mientras que, en los pasados sesenta años han cambiado drásticamente, lacomplejidad, el tamaño, la construcción, y la forma general del CPU, es notableque el diseño y el funcionamiento básico no hayan cambiado demasiado.

Casi todos los CPU comunes de hoy se pueden describir con precisión comomáquinas de programa almacenado de von Neumann.

A medida que la ya mencionada ley del Moore continúa manteniéndose verdadera,se han presentado preocupaciones sobre los límites de la tecnología detransistor del circuito integrado.

La miniaturización extrema de puertas electrónicas está causando los efectos defenómenos que se vuelven mucho más significativos, como la electro migración, yel subumbral de pérdida.

Estas más nuevas preocupaciones están entre los muchos factores que hacen ainvestigadores estudiar nuevos métodos de computación como la computadoracuántica, así como ampliar el uso de paralelismo, y otros métodos que extiendenla utilidad del modelo clásico de von Neumann.


Operación del CPU


La operación fundamental de la mayoría de los CPU, es ejecutar una secuencia deinstrucciones almacenadas llamadas “programa".

El programa es representado por una serie de números que se mantienen en unacierta clase de memoria de computador.

Hay cuatro pasos que casi todos los CPU de arquitectura de von Neumann usan ensu operación:fetch, decode, execute, y writeback, (leer, decodificar, ejecutar,y escribir).

Diagrama mostrando como es decodificada una instrucción del MIPS32. (MIPSTechnologies 2005)

El primer paso, leer (fetch), implica el recuperar una instrucción, (que esrepresentada por un número o una secuencia de números),de la memoria deprograma.

La localización en la memoria del programa es determinada por un contador deprograma (PC), que almacena un número que identifica la posición actual en elprograma.

En otras palabras, el contador de programa indica al CPU, el lugar de lainstrucción en el programa actual.

Después de que se lee una instrucción, el Contador de Programa es incrementadopor la longitud de la palabra de instrucción en términos de unidades de memoria.

Frecuentemente la instrucción a ser leída debe ser recuperada de memoriarelativamente lenta, haciendo detener al CPU mientras espera que la instrucciónsea retornada.

Este problema es tratado en procesadores modernos en gran parte por los cachésy las arquitecturas pipeline (ver abajo).

La instrucción que el CPU lee desde la memoria es usada para determinar quédeberá hacer el CPU.

En el paso de decodificación, la instrucción es dividida en partes que tienensignificado para otras unidades del CPU.

La manera en que el valor de la instrucción numérica es interpretado estádefinida por la arquitectura del conjunto de instrucciones (el ISA) del CPU.

A menudo, un grupo de números en la instrucción, llamados opcode, indica quéoperación realizar. Las partes restantes del número usualmente proporcionaninformación requerida para esa instrucción, como por ejemplo, operan dos parauna operación de adición.

Tales operan dos se pueden dar como un valor constante (llamado valorinmediato), o como un lugar para localizar un valor, que según lo determinadopor algún modo de dirección, puede ser un registro o una dirección de memoria.En diseños más viejos las unidades del CPU responsables de decodificar lainstrucción eran dispositivos de hardware fijos.

Sin embargo, en CPUs e ISAs más abstractos y complicados, es frecuentementeusado un microprograma para ayudar a traducir instrucciones en varias señalesde configuración para el CPU.

Este microprograma es a veces re escribible de tal manera que puede ser modificadopara cambiar la manera en que el CPU decodifica instrucciones incluso despuésde que haya sido fabricado.

Después de los pasos de lectura y decodificación, es llevado a cabo el paso dela ejecución de la instrucción.

Durante este paso, varias unidades del CPU son conectadas de tal manera queellas pueden realizarla operación deseada.

Si, por ejemplo, una operación de adición fue solicitada, una unidad aritméticológica (ALU) será conectada a un conjunto de entradas yen conjunto de salidas.

Las entradas proporcionan los números a ser sumados, y las salidas contendránla suma final. La ALU contiene la circuitería para realizar operaciones simplesde aritmética y lógica en las entradas, como adición y operaciones de bits(bitwise).

Si la operación de adición produce un resultado demasiado grande para poder sermanejado por el CPU, también puede ser ajustada una bandera (flag) dedesbordamiento aritmético localizada en un registro de banderas (ver abajo lasección sobre rango de números enteros).

El paso final, la escritura (writeback),simplemente "escribe" losresultados del paso de ejecución a una cierta forma de memoria.

Muy a menudo, los resultados son escritos a algún registro interno del CPU paraacceso rápido por subsecuentes instrucciones.

En otros casos los resultados pueden ser escritos a una memoria principal máslenta pero más barata y más grande.

Algunos tipos de instrucciones manipulan el contador de programa en lugar de directamenteproducir datos de resultado.

Éstas son llamadas generalmente "saltos"(jumps) y facilitancomportamientos como |bucles (loops), la ejecución condicional de programas(con el uso de saltos condicionales), y funciones en programas.

Muchas instrucciones también cambiarán el estado de dígitos en un registro de"banderas".

Estas banderas pueden ser usadas para influenciar cómo se comporta un programa,puesto que a menudo indican el resultado de varias operaciones.

Por ejemplo, un tipo de instrucción de “comparación" considera dos valoresy fija un número, en el registro de banderas, de acuerdo a cuál es el mayor.

Entonces, esta bandera puede ser usada por una posterior instrucción de saltopara determinar el flujo de programa.

CPU Después de la ejecución de la instrucción y la escritura de los datosresultantes, el proceso entero se repite con el siguiente ciclo de instrucción,normalmente leyendo la siguiente instrucción en secuencia debido al valorincrementado en el contador de programa.

Si la instrucción completada era un salto, el contador de programa será modificadopara contener la dirección de la instrucción a la cual se saltó, y la ejecucióndel programa continúa normalmente.

En CPUs más complejos que el descrito aquí, múltiples instrucciones pueden serleídas, decodificadas, y ejecutadas simultáneamente.

Esta sección describe lo que es referido generalmente como el "entubadoRISC clásico" (Classic RISC pipeline),que de hecho es bastante común entrelos CPU simples usados en muchos dispositivos electrónicos, a menudo llamados microcontroladores.


Diseño e implementación


Artículo principal: Diseño del CPU.

Con la representación numérica están relacionados el tamaño y la precisión delos números que un CPU puede representar.

En el caso de un CPU binario, un bit se refiere a una posición significativa enlos números con que trabaja un CPU.

El número de bits (o de posiciones numéricas, o dígitos) que un CPU usa pararepresentar los números, a menudo se llama “tamaño de la palabra","ancho de bits", "ancho de ruta de datos", o"precisión del número entero" cuando se ocupa estrictamente denúmeros enteros (en oposición a números de coma flotante.

Este número difiere entre las arquitecturas, y amenudeo dentro de diferentesunidades del mismo CPU.

Por ejemplo, un CPU de bits maneja un rango de números que pueden serrepresentados por ocho dígitos binarios, cada dígito teniendo dos valoresposibles, y en combinación los bits teniendo 28 ó 256 números discretos.

En efecto, el tamaño del número entero fija un límite de hardware en el rangode números enteros que el software corre y que el CPU puede usar directamente.

El rango del número entero también puede afectar el número de posiciones enmemoria que el CPU puede direccionar (localizar). Por ejemplo, si un CPUbinario utiliza 32 bits para representar una dirección de memoria, y cadadirección de memoria representa a un octeto (8 bits), la cantidad máxima dememoria que el CPU puede direccionar es 232 octetos, o 4 GB.

Ésta es una vista muy simple del espacio de dirección del CPU, y muchos diseñosmodernos usan métodos de dirección mucho más complejos como paginación para localizarásmemoria que su rango entero permitiría con un espacio de dirección plano.

Niveles más altos del rango de números enteros requieren más estructuras paramanejar los dígitos adicionales, y por lo tanto, más complejidad, tamaño, usode energía, y generalmente costo.

Por ello, no es del todo infrecuente, ver micro controladores de 4 y 8 bitsusados en aplicaciones modernas, aun cuando están disponibles CPU con un rangomucho más alto (de 16, 32, 64, e incluso 128 bits).

Los micro controladores más simples son generalmente más baratos, usan menosenergía, y por lo tanto disipan menos calor.

Todo esto pueden ser consideraciones de diseño importantes para losdispositivos electrónicos.

Sin embargo, en aplicaciones del extremo alto, los beneficios producidos por elrango adicional, (más a menudo el espacio de dirección adicional), son mássignificativos y con frecuencia afectan las opciones del diseño.

Para ganar algunas de las ventajas proporcionadas por las longitudes de bitstanto más bajas, como más altas, muchas CPU están diseñadas con anchos de bitdiferentes para diferentes unidades del dispositivo.

Por ejemplo, el IBM System/370 usó un CPU que fue sobre todo de 32 bits, pero usóprecisión de 128 bits dentro de sus unidades de coma flotante para facilitarmayor exactitud y rango de números de coma flotante lógica secuencial, son denaturaleza síncrona.

Es decir, están diseñados y operan en función de una señal de sincronización.

Esta señal, conocida como señal de reloj, usualmente toma la forma de una ondacuadrada periódica.

Calculando el tiempo máximo en que las señales eléctricas pueden moverse en lasvarias bifurcaciones de los muchos circuitos de un CPU, los diseñadores puedenseleccionar un período apropiado para la señal del reloj.

Este período debe ser más largo que la cantidad de tiempo que toma a una señalmoverse, o propagarse, en el peor de los casos.

Al fijar el período del reloj a un valor bastante mayor sobre el retardo de lapropagación del peor caso, es posible diseñar todo el CPU y la manera que muévelosdatos alrededor de los "bordes" de la subida y bajada de la señal delreloj.

Esto tiene la ventaja de simplificar el CPU significativamente, tanto en unaperspectiva de diseño, como en una perspectiva de cantidad de componentes.

Sin embargo, esto también tiene la desventaja que todo el CPU debe esperar porsus elementos más lentos, aun cuando algunas unidades de la misma son mucho másrápidas.

Esta limitación ha sido compensada en gran parte por varios métodos de aumentarel paralelismo del CPU (ver abajo).

Sin embargo, las solamente mejoras arquitectónicas no solucionan todas lasdesventajas de CPUs globalmente síncronas.

Por ejemplo, una señal de reloj está sujeta a los retardos de cualquier otra señaleléctrica.

Velocidades de reloj más altas en CPUs cada vez más complejas hacen más difícilde mantener la señal del reloj en fase (sincronizada) a través de toadla unidad.

Esto ha conducido que muchos CPU modernos requieran que se desproporcionemúltiples señales de reloj idénticas, para evitar retardar una sola señal losuficiente significativamente como para hacer al CPU funcionar incorrectamente.

Otro importante problema cuando la velocidad del reloj aumenta dramáticamente,es la cantidad de calor que es disipado por el CPU.

La señal del reloj cambia constantemente, provocando la conmutación de muchoscomponentes (cambio de estado) sin importar si están siendo usados en esemomento.

En general, un componente que está cambiando de estado, usa más energía que unelemento en un estado estático. Por lo tanto, a medida que la velocidad delreloj aumenta, así lo hace también la disipación de calor, causando que el CPUrequiera soluciones de enfriamiento más efectivas.

Un método de tratar la conmutación de componentes innecesarios se llama elclock gating, que implica apagar la señal del reloj a los componentesinnecesarios, efectivamente desactivándolos. Sin embargo, esto es frecuentementeconsiderado como difícil de implementar y por lo tanto no ve uso común afuerade diseños de muy baja potencia.

Otro método de tratar algunos de los problemas de una señal global de reloj esla completa remoción de la misma.

Mientras que quitar la señal global del reloj hace, de muchas maneras,considerablemente más complejo el proceso del diseño, en comparación condiseños síncronos similares, los diseños asincrónicos (o sin reloj) tienenmarcadas ventajas en el consumo de energía y la disipación de calor.

Aunque algo infrecuente, CPUs completas se han construido sin utilizar una señalglobal de reloj.

Dos notables ejemplos de esto son el AMULET, que implementa la arquitectura delARM, y el MiniMIPS, compatible con el MIPS R3000. En lugar de removertotalmente la señal del reloj, algunos diseños de CPU permiten aciertasunidades del dispositivo ser asincrónicas, como por ejemplo, usar ALUs asincrónicasen conjunción con pipelining superes calar para alcanzar algunas ganancias enel desempeño aritmético.

Mientras que no está completamente claro si los diseños totalmente asincrónicospueden desempeñarse a un nivel comparable o mejor que sus contrapartessíncronas, es evidente que por lo menos sobresalen en las más simplesoperaciones matemáticas.

Esto, combinado con sus excelentes características de consumo de energía ydisipación de calor, los hace muy adecuados para sistemas embebidos .

La descripción de la operación básica de un CPU ofrecida en la sección anteriordescribe la forma más simple que puede tomar un CPU. Este tipo de CPU,usualmente referido como subes calar, opera sobre y ejecuta una solainstrucción con una o dos piezas de datos a la vez.

Este proceso da lugar a una ineficacia inherente en CPUs subes calares.

Puesto que solamente una instrucción es ejecutada a la vez, todo el CPU debeesperar que esa instrucción se complete antes de proceder a la siguienteinstrucción.

Como resultado, el CPU subes calar queda “paralizado" en instrucciones quetoman más de un ciclo de reloj para completar su ejecución. Incluso la adiciónde una segunda unidad de ejecución(ver abajo) no mejora mucho el desempeño.

En lugar de un camino quedando congelado, ahora dos caminos se paralizan yaumenta el número de transistores no usados.

Este diseño, en donde los recursos de ejecución del CPU pueden operar consolamente una instrucción a la vez, solo puede, posiblemente, alcanzar eldesempeño escalar (una instrucción por ciclo de reloj).

Sin embargo, el desempeño casi siempre es subes calar (menos de una instrucciónpor ciclo).

Las tentativas de alcanzar un desempeño escalar y mejor, han resultado en unavariedad de metodologías de diseño que hacen comportarse al CPU menoslinealmente y más en paralelo.

Cuando se refiere al paralelismo en los CPU, generalmente son usados dostérminos para clasificar estas técnicas de diseño.

TLP: ejecución simultánea de hilos.

Otra estrategia comúnmente usada para aumentar el paralelismo de los CPU esincluir la habilidad de correr múltiples hilos(programas) al mismo tiempo.

En general, CPUs con alto TLP han estado en uso por mucho más tiempo que los dealto ILP. Muchos de los diseños en los que Seymour Cray fue pionero durante elfinal de los años 1970 y los años 1980 se concentraron en el TLP como su métodoprimario de facilitar enormes capacidades de computación (para su tiempo).

De hecho, el TLP, en la forma de mejoras en múltiples hilos de ejecución,estuvo en uso tan temprano como desde los años 1950.

En el contexto de diseño de procesadores individuales, las dos metodologíasprincipales usadas para lograr el TLP son, multiprocesamiento a nivel de chip,en inglés chip-level multiprocessing (CMP), y el multihiladosimultáneo, eninglés simultaneous multithreading (SMT).

En un alto nivel, es muy común construir computadores con múltiples CPU totalmenteindependientes en arreglos como multiprocesamiento simétrico (symmetricmultiprocessing (SMP)) y acceso de memoria no uniforme (Non-Uniform MemoryAccess (NUMA)).

Aunque son usados medios muy diferentes, todas estas técnicas logran la misma meta:incrementar el número de hilos que el CPU(s) puede correr en paralelo.

Los métodos de paralelismo CMP y de SMP son similares uno del otro y lo másdirecto. Éstos implican algo más conceptual que la utilización de dos o más CPUcompletos y CPU independientes.

En el caso del CMP, múltiples "núcleos" de procesador son incluidosen el mismo paquete, a veces en el mismo circuito integrado.

Por otra parte, el SMP incluye múltiples paquetes independientes.

NUMA es algo similar al SMP pero usa un modelo de acceso a memoria no uniforme.

Esto es importante para los computadores con muchos CPU porque el tiempo deacceso a la memoria, de cada procesador, es agotado rápidamente con el modelode memoria compartido del SMP, resultando en un significativo retraso debido alos CPU esperando por la memoria.

Por lo tanto, NUMA es considerado un modelo mucho más escalable, permitiendocon éxito que en un computador sean usados muchos más CPU que los que puedasoportar de una manera factible el SMP.

El SMT se diferencia en algo de otras mejoras de TLP en que el primero procuraduplicar tan pocas porciones del CPU como sea posible.

Mientras es considerada una estrategia TLP, su implementación realmente seasemeja más a un diseño superes calar, y de hecho es frecuentemente usado enmicroprocesadores superes calares, como el POWER5 de IBM.

En lugar de duplicar todo el CPU.

Un menos común pero cada vez más importante paradigma de CPU (y de hecho, decomputación en general) trata con vectores. Los procesadores de los que se hahablado anteriormente son todos referidos como cierto tipo de dispositivoescalar.

Como implica su nombre, los procesadores vectoriales se ocupan de múltiplespiezas de datos en el contexto de una instrucción, esto contrasta con losprocesadores escalares, que tratan una pieza de dato por cada instrucción.

Estos dos esquemas de ocuparse de los datos son generalmente referidosrespectivamente como SISD (Single Instruction,Single Data|) (SimpleInstrucción, Simple Dato) y SIMD (Single Instruction,Multiple Data) (SimpleInstrucción, Múltiples Datos).

La gran utilidad en crear CPUs que se ocupen de vectores de datos radica en laoptimización de tareas que tienden a requerir la misma operación, por ejemplo,una suma, o un producto escalar, a ser realizado en un gran conjunto de datos.

Algunos ejemplos clásicos de este tipo de tareas son las aplicacionesmultimedia (imágenes, vídeo, y sonido),así como muchos tipos de tareascientíficas y de ingeniería.

Mientras que un CPU escalar debe completar todo el proceso de leer, decodificar,y ejecutar cada instrucción y valor en un conjunto de datos, un CPU vectorial puederealizar una simple operación en un comparativamente grande conjunto de datoscon una sola instrucción.

Por supuesto, esto es solamente posible cuando la aplicación tiende a requerirmuchos pasos que apliquen una operación a un conjunto grande de datos.

La mayoría de los primeros CPU vectoriales, como el Cray-1, fueron asociadoscasi exclusivamente con aplicaciones de investigación científica ycriptografía.

Sin embargo, a medida que la multimedia se desplazó en gran parte a mediosdigitales, ha llegado a ser significativa la necesidad de una cierta forma deSIMD en CPUs de propósito general.

Poco después de que comenzara a ser común incluir unidades de coma flotante enprocesadores de uso general, también comenzaron a aparecer especificaciones eimplementaciones de unidades de ejecución SIMD para los CPU de uso general.

Algunas de estas primeras especificaciones SIMD, como el MMX de Intel, fueronsolamente para números enteros.

Esto demostró ser un impedimento significativo para algunos desarrolladores desoftware, ya que muchas de las aplicaciones que se beneficiaban del SIMDtrataban sobre todo con números de coma flotante.

Progresivamente, éstos primeros diseños fueron refinados y rehechos en algunade las comunes, modernas especificaciones SIMD, que generalmente estánasociadas a un ISA.

Algunos ejemplos modernos notables son el SSE de Intel y el AltiVec relacionadocon el PowerPC (también conocido como VMX).

Véase También

Arquitectura de CPU

Unidad de control

Unidad aritmético lógica

Unidad de punto flotante

Coprocesador

Bus interface unit

Unidad de gestión de memoria

Unidad de ejecución

Unidad de proceso

Registro (hardware)

Micro código

Barrel shifter

Microprocesador

CISC

RISC

Bus de computadora

Bus de datos

Bus de direcciones

Bus de control

Conjunto de instrucciones

Diseño de CPU

Estado de espera

Ingeniería de computación

Lista de procesadores AMD Athlon 64

Tipos de datos máquina

Socket de CPU

Voltaje del núcleo del CPU

Enfriamiento del CPU


Otro componente El Chasi


Una caja de la computadora (también conocido como un chasis de la computadora,gabinete, caja, torre, recinto, la vivienda, la unidad del sistema o el caso,simplemente) es la caja que contiene la mayoría de los componentes de unordenador (generalmente sin la pantalla, teclado y ratón).

A computer case is sometimes incorrectly referred to metonymously as a CPU orhard drive referring to components housed within the case.

Una caja de la computadora a veces se refiere incorrectamente al metonymouslycomo la CPU o unidad de disco duro se refiere a los componentes alojados dentrodel caso.

CPU was a more common term in the earlier days of home computers, whenperipheralsother than the motherboard were usually housed in their own separatecases.

CPU era un término más común en los primeros días de las computadoras en casa,cuando los periféricos que no sean de la placa base se encuentra por lo generarensus casos por separado.

Algunas computadoras más, porque tienen varias unidades de control que trabajanal mismo tiempo.

Además, algunos computadores, usados principalmente para investigación, son muydiferentes del modelo anterior, pero no tienen muchas aplicaciones comerciales.

La Torre, en algunos casos vienen en mini-torre, de a mediados tamaños, enalgunos casos son típicamente de 22 pulgadas de altura y la intención de pie enel suelo.

Tienen lugar desde seis hasta diez bahías, el más común tamaño de la placa Apple-Inc. ha producido también Mini computadora que es similar en tamaño a unnivel CD-ROM.

Conclusiones


Con el presente trabajo arribamos a las siguientes conclusiones:

Conocer en detalles todas las operaciones que son capaces de realizar las CPU.

Nos permite facilitar para la realización de nuestro trabajo y estudio un unainvestigación o escribir un texto o realizar un análisis estadístico, entreotros, y saber y observar la operación fundamental de la mayoría de los CPU,que posibilita ejecutar una secuencia de instrucciones almacenadas llamadas"programa".

Los programas son representados por una serie de números que se mantienen enuna memoria del computador.

Datos archivados del Taringa! original
5puntos
261visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
4visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

o
ochaustre🇦🇷
Usuario
Puntos0
Posts48
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.