Microprocesadores a fondo

Tema en 'Guías y Tutoriales' iniciado por Waki!, 8 May 2008.

Estado del tema:
Cerrado para nuevas respuestas
  1. Wak

    Waki!
    Expand Collapse
    Subteniente

    Mensajes:
    504
    Me Gusta recibidos:
    1
    Bueno gente, esta es una monografia que tuve que hacer para la materia TIC (Tecnologias Informatica y Comunicaciona) en la que se habla sobre los microprocesadores: historia, partes, como funciona, diferentes tipos, y una breve reseña sobre el futuro de esos pequeños gigantes.

    Les dejo mi trabajo por el foro, que pueden visualizarlo por su explorador de internet, pero si realmente estan interesados, les recomiendo que descarguen la version en Word Office que trae imagenes, color y ademas es mucho mas practico a la hora de editar.


    Espero que les sea util ^.^

    Pd: Se aceptan reclamos...


    Version Word Office 2007


    El Microprocesador

    INTRODUCCION
    El microprocesador es el alma, el cerebro y el corazón de la PC. A pesar de parecer algo misterioso, inaccesible, mágico y todopoderoso, esto no es tan así. El microprocesador es, simplemente, una sucesión y acumulación gigantesca de cosas mínimas, tanto en su construcción como en su funcionamiento.
    El microprocesador es uno de los logros más sobresalientes del siglo XX. Esas son palabras atrevidas, y hace un cuarto de siglo tal afirmación habría parecido absurda. Pero cada año, el microprocesador se acerca más al centro de nuestras vidas, forjándose un sitio en el núcleo de una máquina tras otra. Su presencia ha comenzado a cambiar la forma en que percibimos el mundo e incluso a nosotros mismos. Cada vez se hace más difícil pasar por alto el microprocesador como otro simple producto en una larga línea de innovaciones tecnológicas.
    Veamos en este informe como podemos conocerlo a fondo

    DESARROLLO


    ¿Qué es un microprocesador?

    El microprocesador es entendido como el cerebro de la computadora. Físicamente se trata de un chip compuesto por millones de transistores. Su función es la de procesar datos, y su característica particular es que únicamente conoce, domina e interpreta estados altos y bajos de señal electrónica, lo que nosotros (humanos al fin) determinamos como uno y cero. En la practica, eso corresponde a 5 o 3.3 voltios (según el sistema) para el estado alto (o uno), y cero voltios para el estado bajo (o, precisamente, cero).
    * El procesador 20286 es uno de los primeros procesadores para PC creados por Intel.
    * En la siguiente imágenes se muestra uno de los actuales microprocesadores de 64 bits y doble núcleo, un AMD Athlon 64 X2 3600.





    Básicamente, las funciones del microprocesador se pueden reducir a tres ítems:

    1* Ejecuta las cuatro operaciones matemáticas simples.
    2* Toma decisiones lógicas y ejecuta determinadas instrucciones en consecuencia.
    3* Traslada todos esos datos e instrucciones desde y hacia las diferentes direcciones de memoria.

    La cantidad cada vez mayor de transistores que los microprocesadores pudieron incluir en su diminuto espacio les permitió procesar cada vez más de estas pequeñas instrucciones simples en menos tiempo. Pero no es más que eso.
    La tan mentada “arquitectura” de los microprocesadores es la tecnología de fabricación con la cual se logra que cada vez entren mas millones de transistores en el mismo sustrato de silicio.


    Transistores

    El transistor empleado más comúnmente en la industria microelectrónica se denomina transistor de efecto de campo de metal-óxido-semiconductor (MOSFET, siglas en inglés). Contiene dos regiones de tipo n, llamadas fuente y drenaje, con una región de tipo p entre ambas, llamada canal. Encima del canal se encuentra una capa delgada de dióxido de silicio, no conductor, sobre la cual va otra capa llamada puerta. Para que los electrones fluyan desde la fuente hasta el drenaje, es necesario aplicar una tensión a la puerta (tensión de polarización directa). Esto hace que la puerta actúe como un conmutador de control, conectando y desconectando el MOSFET y creando una puerta lógica que transmite unos y ceros a través del microprocesador.


    Historia del Microprocesador

    El primer microprocesador fue el Intel 4004, producido en 1971. Se desarrolló originalmente para una calculadora, y resultaba revolucionario para su época. Contenía 2.300 transistores en un microprocesador de 4 bits que sólo podía realizar 60.000 operaciones por segundo. El primer microprocesador de 8 bits fue el Intel 8008, desarrollado en 1979 para su empleo en terminales informáticos. El Intel 8008 contenía 3.300 transistores. El primer microprocesador realmente diseñado para uso general, desarrollado en 1974, fue el Intel 8080 de 8 bits, que contenía 4.500 transistores y podía ejecutar 200.000 instrucciones por segundo. Los microprocesadores modernos tienen una capacidad y velocidad mucho mayores. Entre ellos figuran el Intel Pentium Pro, con 5,5 millones de transistores; el UltraSparc-II, de Sun Microsystems, que contiene 5,4 millones de transistores; el PowerPC G4, desarrollado conjuntamente por Apple, IBM y Motorola, con 7 millones de transistores, y el Alpha 21164A, de Digital Equipment Corporation, con 9,3 millones de transistores.


    Sistemas programables

    Un microprocesador es parte de un sistema programable. Un sistema programable se define por su capacidad de realizar múltiples tareas sin cambiar las conexiones eléctricas. De acuerdo con esta definición, entonces, un sistema programable procesa datos (números) que ingresan según las indicaciones de un programa y los presenta a la salida modificados en función de esa acción.
    El sistema programable, del cual es parte el microprocesador, se compone de otros dos elementos: la unidad de memoria y la unidad de entrada/salida. La CPU es el microprocesador propiamente dicho, o sea, la unidad que efectivamente realiza el proceso y controla al sistema. La unidad de memoria contiene los datos a procesar. La unidad de entrada/salida vincula el exterior con el sistema. Por ultimo, necesita de los buses, que unen estos tres bloques.




    Estructura básica de un microprocesador

    Para entender que pasa dentro de un microprocesador, lo mejor es comenzar a desarmarlo en partes que lo componen. Estas partes pueden ser tantas como las que deriven del nivel de minuciosidad que pretendamos, o el tipo de análisis que hagamos.
    En primera aproximación, a un microprocesador se lo puede desglosar en dos grandes bloques principales, y varios bloques de soporte secundarios.

    Unidad de control

    La unidad de control (UC) es el verdadero cerebro del microprocesador. Toma las instrucciones de la memoria, las decodifica y elabora, y luego, las ejecuta. Su funcionamiento se realiza a través de ciclos de reloj.


    Unidad aritmético-lógica (ALU)

    Como su nombre lo indica, este bloque lleva a cabo operaciones aritméticas básicas, como sumas, restas, multiplicaciones y divisiones, y otras operaciones también lógicas, como las comparaciones. Una vez realizado su trabajo, la UC dispone del destino de los resultados. Todo esto está en la instrucción: que cosa y a donde mandarlas.
    Pero además de las operaciones con enteros, el procesador efectúa procesos de coma flotante, que se dan cuando el procesador debe trabajar con números decimales, en lugar de con enteros. Los primeros microprocesadores no tenían ninguna capacidad de coma flotante. Eran, estrictamente, calculadores de enteros. Los cálculos de coma flotante se hacían en forma separada, en hardware dedicado o coprocesadores matemáticos, como se los llama. Poco tiempo después, fue posible integrar el coprocesador dentro de la CPU, y es lo que ahora se conoce como “unidad de coma flotante” o FPU, que son sus siglas en ingles. Al igual que los viejos coprocesadores, la FPU dentro de un microprocesador moderno trabaja con su propia arquitectura de proceso, llamada x87, y nuevas instrucciones. Los cálculos de enteros, en cambio, usan la llamada arquitectura x86.

    Otros bloques de soporte

    Además de esos componentes principales, también encontremos los siguientes elementos dentro del microprocesador:

    · Registros internos: son memorias de pocos bits que no forman parte de la memoria principal.
    · Bancos de registro: están compuestos por uno o más latchs (registros estáticos) de almacenamiento temporáneo de datos en proceso.
    · Contador de programas: genera las direcciones de memoria para lectura/escritura de la unidad de memoria. Cada instrucción tiene su dirección de memoria correspondiente. Lo que hace el contados es almacenar la dirección de la próxima instrucción ejecutar. Se lo llama contador porque cada vez que concluye una instrucción incremente su valor en 1.
    · Registro de estado (flags): se trata de unos registros en los que se deja constancia de algunas condiciones que se dieron en la última operación realizada y que habrán de ser tenidas en cuenta en operaciones posteriores. Por ejemplo, en el caso de hacer una operación aritmética, tiene que quedar constancia si el resultado fue cero, positivo o negativo.
    · Unidad de reloj: este elemento es fundamental, ya que sincroniza los movimientos de todo el conjunto, y les marca el paso a intervalos regulares que indican inicio y fin de cada paso.
    · Control de interrupciones: las interrupciones son las famosas IRQs. El procesador procesa, pero cada tanto tiene que interrumpir esto para realizar otra tarea momentáneamente, por ejemplo, habilitar un periférico; entonces, ese elemento le solicita que interrumpa lo que esta haciendo mediante su línea de interrupción.
    · Registro de instrucciones: la instrucción secada de la memoria se guarda en este registro (dentro de la UC) para tenerla durante su análisis y ejecución.


    Fabricación de Microprocesadores

    Los microprocesadores se fabrican empleando técnicas similares a las usadas para otros circuitos integrados, como chips de memoria. Generalmente, los microprocesadores tienen una estructura más compleja que otros chips, y su fabricación exige técnicas extremadamente precisas.
    La fabricación económica de microprocesadores exige su produccióngrupos de circuitos. El proceso de fabricación de microprocesadores consiste en una sucesión de deposición y eliminación de capas finísimas de materiales conductores, aislantes y semiconductores, hasta que después de cientos de pasos se llega a un complejo "bocadillo" que contiene todos los circuitos interconectados del microprocesador. Para el circuito electrónico sólo se emplea la superficie externa de la oblea de silicio, una capa de unas 10 micras de espesor (unos 0,01 mm, la décima parte del espesor de un cabello humano). Entre las etapas del proceso figuran la creación de sustrato, la oxidación, la litografía, el grabado, la implantación iónica y la deposición de capas.
    La primera etapa en la producción de un microprocesador es la creación de un sustrato de silicio de enorme pureza, una "rodaja" de silicio en forma de una oblea redonda pulida hasta quedar lisa como un espejo. En la actualidad, las obleas más grandes empleadas en la industria tienen 200 mm de diámetro.
    En la etapa de oxidación se coloca una capa eléctricamente no conductora, llamada dieléctrico. El tipo de dieléctrico más importante es el dióxido de silicio, que se "cultiva" exponiendo la oblea de silicio a una atmósfera de oxígeno en un horno a unos 1.000 ºC. El oxígeno se combina con el silicio para formar una delgada capa de óxido de unos 75 angstroms de espesor (un ángstrom es una diezmilmillonésima de metro).
    Casi todas las capas que se depositan sobre la oblea deben corresponder con la forma y disposición de los transistores y otros elementos electrónicos. Generalmente esto se logra mediante un proceso llamado fotolitografía, que equivale a convertir la oblea en un trozo de película fotográfica y proyectar sobre la misma una imagen del circuito deseado. Para ello se deposita sobre la superficie de la oblea una capa fotosensible cuyas propiedades cambian al ser expuesta a la luz. Los detalles del circuito pueden llegar a tener un tamaño de sólo 0,25 micras.
    Como la longitud de onda más corta de la luz visible es de unas 0,5 micras, es necesario emplear luz ultravioleta de baja longitud de onda para resolver los detalles más pequeños. Después de proyectar el circuito sobre la capa foto resistente y revelar la misma, la oblea se graba: esto es, se elimina la parte de la oblea no protegida por la imagen grabada del circuito mediante productos químicos (un proceso conocido como grabado húmedo) o exponiéndola a un gas corrosivo llamado plasma en una cámara de vacío especial.
    En el siguiente paso del proceso, la implantación iónica, se introducen en el silicio impurezas como boro o fósforo para alterar su conductividad. Esto se logra ionizando los átomos de boro o de fósforo (quitándoles uno o dos electrones) y lanzándolos contra la oblea a elevadas energías mediante un implantador iónico. Los iones quedan incrustados en la superficie de la oblea.
    En el último paso del proceso, las capas o películas de material empleadas para fabricar un microprocesador se depositan mediante el bombardeo atómico en un plasma, la evaporación (en la que el material se funde y posteriormente se evapora para cubrir la oblea) o la deposición de vapor químico, en la que el material se condensa a partir de un gas a baja presión
    Los detalles de un microprocesador son tan pequeños y precisos que una única mota de polvo puede destruir todo un grupo de circuitos. Las salas empleadas para la fabricación de microprocesadores se denominan salas limpias, porque el aire de las mismas se somete a un filtrado exhaustivo y está prácticamente libre de polvo. Las salas limpias más puras de la actualidad se denominan de clase1. La cifra indica el número máximo de partículas mayores de 0,12 micras que puede haber en un pie cúbico de aire (0,028 metros cúbicos). Como comparación, un hogar normal sería de clase 1 millón


    Funcionamiento Microprocesador

    Los elementos más importantes de un microprocesador son: Unidad Aritmético Lógica (UAL) y la Unidad de Control (UC).
    La Unidad Aritmético Lógica es la que realiza las operaciones del microprocesador, se encarga de sumar, restar, hacer operaciones lógicas, etc. con los operandos que le llegan de los registros X e Y..
    La Unidad de Control gobierna todos los demás elementos con unas líneas de control que se van encendiendo y apagando sincronizadamente con la señal de reloj.
    Al reiniciar el microprocesador, la Unidad de Control recibe una señal de reset y prepara al resto del sistema y recibe la señal de reloj que marca la velocidad del procesador.
    - El registro PC (Program Counter), o Contador de Programa, se carga con la dirección de memoria en la que empieza el programa.
    - La Unidad de Control hace que el Contador de Programa (PC) aparezca en el bus de direcciones y le indica a la RAM que quiere leer un dato que tiene almacenado en esa posición.
    - La memoria pone el dato, que es la instrucción del programa, en el bus de datos, desde el que se carga en el Registro de Instrucciones (RI). La Unidad de Control procesa ésto y va activando los movimientos de datos.
    - La instrucción pasa del RI al Decodificador de Instrucciones (DI) que contiene una tabla con el significado de la instrucción. El DI ejecuta la instrucción y sino puede consulta con la Unidad de Control.
    - Si la instrucción fuese una suma, la UC cargaría los valores a sumar en los registros A y B de la UAL. Luego le ordenaría a la UAL que los sumase y lo pusiera en el bus de datos.
    - Luego la UC haría que el Contador de Programa avanzara un paso para ejecutar la siguiente instrucción y así sucesivamente.
    Diagrama de Bloques


    Instrucciones SIMD

    En el procesador se realizan grandes cantidades de operaciones repetitivas con los datos, y estos datos tienden a ser pequeños valores que pueden ser representados con un pequeño número de bits.
    La performance de las aplicaciones puede ser mejorada al formar grupos de datos e implementar instrucciones que puedan operar con éstos en simultáneo.
    Este tipo de operación se la denomina Single Instruction Multiple Data (SIMD) y puede reducir el número de instrucciones que un programa necesita para manejar una determinada cantidad de datos.
    Es decir la misma instrucción es ejecutada de manera sincrónica por todas las unidades de procesamiento.
    Las instrucciones SIMD se encuentran integradas en los procesadores de PC actuales y aceleran una amplia gama de aplicaciones, que incluyen video, reconocimiento de voz, imagen, encriptación, aplicaciones científicas, de ingeniería y financieras. Sin embargo, el software debe estar escrito especialmente para ellas.
    Algunas instrucciones SIMD, como 3dnow! y SSE2, pueden acelerar operaciones de enteros o de coma flotante, pero su mayor beneficio y uso se da en las segundas.
    MMX, en cambio, sólo acelera las operaciones de enteros y gráficos 2D.

    MMX

    La tecnología MMX (MultiMedia eXtensión) fue integrada en 1997, como un agregado para la mejora de las tareas multimedia. Entre las funciones se puede destacar la compresión y descompresión de video, la manipulación de imágenes y la encriptación.
    Estas instrucciones no alivian el trabajo de la FPU del procesador, sino que refuerzan el trabajo con números enteros (integer). Para hacer uso de estas mejores que nos ofrece la tecnología

    3DNow!

    En 1998, AMD lanzo el 3DNow! que consiste en 21 nuevas operaciones integradas en sus microprocesadores, que mejoran el desempeño 3D y refuerzan las operaciones de coma flotante.
    Dada a la relativa debilidad de la FPU de los micros K6, esta última fue una importante mejora. Ademas de realizar cálculos de geometría 3D, hay instrucciones para funciones específicas, como la compresión/descompresión de video MPEG-2.
    Mas tarde, se integraron nuevas instrucciones bajo el nombre de Enhanced 3DNow!, que se encuentran en el Athlon y posteriores.


    SSE

    Fue lanzado 6 meses mas tarde que 3DNow!, y sus funciones y rendimiento son similares.
    Consiste en 70 instrucciones conocidas como MMX2, KNI o, comúnmente, SSE.; que aceleran la performance en juegos 3D y aplicaciones con uso intensivo de la FPU.


    SSE2

    Las nuevas mejoras de SSE2 implementadas en el Pentium IV se refieren principalmente a la utilización de registros de mayor tamaño, y la inclusión de mayor cantidad de instrucciones para la caché de los datos. Está diseñada para el trabajo avanzado con gráficos 3D, codificación y decodificación de vídeo, reconocimiento de voz, comercio electrónico, Internet, aplicaciones de ingeniería y científicas, etc.

    Se diferencian entre los tipos de datos:
    • Paquetes de números dobles en coma flotante de 128 bits.
    • Paquetes de byte de 128 bits
    • Paquetes de palabra de 128 bits
    • Paquetes de doble palabra de 128 bits
    • Paquetes de cuádruplo palabra de 128 bits


    SIMD
    INSTRUCCIONES
    INCLUIDAS EN
    MMX
    64
    Pentium MMX y posteriores
    3DNow!
    21
    K6-2, VIA C3 y Athlon
    Enhanced 3DNow!
    45
    Athlon y posteriores AMD
    SSE
    70
    Pentium III y posteriores
    SSE2
    144
    Pentium IV y Athlon 64
    3DNow! Pro
    72
    Athlon XP y Athlon 64
    PNI (SSE3)
    13
    Intel Prescott

    ¿CÓMO FUNCIONA UN MICROPROCESADOR?

    Para lograr entender como funciona un microprocesador, sus partes y su interconexión con el mundo exterior, vamos a dar un ejemplo sencillo: realizar un programa para la suma de dos datos.
    Para esto, el microprocesador necesitara cuatro instrucciones: cargar, sumar, mover y almacenar. Para estas, necesitamos una tabla de estado de 2 bits.

    CÓDIGO BINARIO
    INSTRUCCIÓN
    00
    Cargar
    01
    Almacenar
    10
    Sumar
    11
    Mover
    masiva. Sobre la superficie de una oblea de silicio se crean simultáneamente varios cientos de o a presión atmosférica. En todos los casos, la película debe ser de gran pureza, y su espesor debe controlarse con una precisión de una fracción de micra.
    Tabla de estado
    Esta es una de las maneras para diseñar sistemas digitales simples, con lo que se llega a circuitos lógicos secuenciales de poca complejidad.

    Cada instrucción que se va a ejecutar y cada dato que se va a procesar están en una posición de memoria diferente, vinculados al microprocesador a través del bus de datos y el bus de direcciones.
    Por cada ciclo o pulso de reloj, se ejecuta una instrucción. Recordemos que el reloj es el que marca el paso para la coordinación de los pasos.


    Inicio
    Cargar dato 1
    Mover
    M1àA
    Cargar dato 1 almacenado en la posición de memoria 2 y en el acumulador A.
    Sumar dato 1 con dato 2
    Sumar
    M2+AàA
    Sumar el dato 2 almacenado en la posición de memoria 2 con el dato almacenado en el acumulador y el resultado de la suma almacenado en el acumulador A.
    Almacenar el resultado
    Almacenar
    AàM3
    Almacenar el resultado de la suma que está en el acumulador A, en la posición de memoria M3.


    Para este programa, necesitamos nueve ciclos de reloj:


    • Pulso 1 – Inicio: conexión del sistema:
      • Un circuito externo inicializa el microprocesador mediante la línea Reset.
      • La unidad reloj comienza a operar y genera el primer pulso de reloj, que sirve para inicializar el contador de programa colocando 000H en las posiciones de memoria.
      • La unidad de memoria recibe la dirección 000H por el bus de direcciones, y por el bus de control, la solicitud de lectura.
      • La unidad de memoria coloca el contenido de la posición 000H
      • Estos datos van por el bus de datos a la Unidad de Control, que comienza a generar las señales internas y externas del sistema para la ejecución de la instrucción.
    • Pulso 2 - Ejecución de mover M1 a A: con el pulso 2 se incrementa el Conta*dor de Programa, y la instrucción en curso determina que el contenido de esta segunda posición debe ubicarse en el acumulador del procesador. En el acumula*dor, ahora se encuentra el dato MI.
    • Pulso 3 - Ejecución de sumar A+M2àA: se incrementa el CP (Contador de Pro*grama) y se genera una nueva posición de memoria; se extrae y se lleva el conte*nido a la UC. La decodificación de esta instrucción por parte de la UC dice que el dato que se sacó previamente del acumulador debe sumarse con un segundo da*to ubicado en memoria.
    • Pulso 4 - Continúa la ejecución de sumar A+M2àA: se incrementa el CP, y se genera una nueva posición de memoria. En ella está guardado el dato 2 que se ha enviado a la ALU.
    • Pulso 5 - Finalización de sumar A+M2àA: en la ALU se suma el dato 1 que es*tá en el acumulador con el 2, y el resultado es almacenado en el acumulador, con lo que se pierde el dato 1 (se lo escribe). Fin de la suma.
    • Pulso 6 - Ejecución de AàM3: con el siguiente pulso se incrementa el CP, se ex*trae el contenido y, al decodificarlo, se encuentra que es una instrucción de alma*cenamiento. Esta indica que el resultado de la suma debe guardarse en una direc*ción de memoria M3, guardada en las próximas direcciones de memoria.
    • Pulso 7 - Continúa ejecución de AàM3: se incrementa el CP, y se extrae de esta posición la primera parte de la posición M3 donde se realizará el almacenamiento, guardándola temporariamente en un registro llamado "Registro de direcciones".
    • Pulso 8 - Continúa ejecución de AàM3: se incrementa el CP, se extrae de esa posición la segunda parte de la dirección y se la envía al Registro de direcciones; así, se tiene la dirección de memoria entera de la posición donde debe almacenar*se el resultado de la suma. Este paso se repite tantas veces como sea necesario, según la cantidad de secciones en que se debe dividir el dato. En el caso del ejem*plo, partimos de un dato que debe ser dividido en dos partes.
    • Pulso 9 - Finaliza ejecución de AàM3: con la dirección que se armó en el Regis*tro de direcciones, se genera una nueva posición de memoria (en este caso, M3), que solicita la escritura de la memoria por el bus de control, y se envía el contenido del acumulador por el bus de datos (resultado de la suma que quería almacenarse).

    Set de instrucciones

    Cada instrucción es un número binario que el microprocesador debe interpretar para hacer la operación consiguiente. Quien indica a que numero binario le corresponde cada instrucción es el set de instrucciones. Se conoce como set de instrucciones al conjunto de instrucciones capaz de entender y ejecutar un microprocesador. Esta función del tipo del microprocesador –concretamente, si es más avanzada o no-, podrá entender y ejecutar más o menos instrucciones.

    Lenguaje ensamblador

    Como quedo claro el microprocesador no interpreta otra cosa más que estados bajos y altos de señal, especificados por nosotros, como cero y uno. Cada dato es una sucesión de unos y ceros, lo mismo que cada instrucción.
    Con 8 bits tenemos la posibilidad de contar hasta 256 instrucciones diferentes posibles. Con esas 256 instrucciones se puede formar un código, cada una de esas combinaciones de unos y ceros se corresponde con algo fijo e inalterable (dato o instrucción).
    Entonces, cuando el microprocesador recibe la combinación 011010, sabe que eso es por ejemplo el número 4, pero cuando recibe otra combinación (como 0001100), interpreta que es un cambio de hoja.
    El lenguaje ensamblador tiene la ventaja de que en él se puede realizar cualquier tipo de programas que en los lenguajes de alto nivel no lo pueden realizar

    ¿Cómo sabe el microprocesador esto? Porque así fue diseñado. Los ingenieros que diseñaron el microprocesador determinaron el set de instrucciones.
    Pero como nosotros nos manejamos con palabras y no con códigos binarios o numéricos, entonces lo mas sencillo es asignar a cada instrucción numérica una palabra generalmente ésta abreviada. Así, a la correspondencia entre cada numero binario y lo que hace se lo llama set de instrucciones, y a la tabla de equivalencias con cada palabra se la llama lenguaje ensamblador o assambler. Cada microprocesador tiene su propio set de instrucciones y, por lo tanto, también su propio lenguaje ensamblador.

    Ventajas y desventajas del Lenguaje Ensamblador

    ü Ventajas
    1. Velocidad . Como trabaja con el microprocesador al ejecutar un programa, pues como este lenguaje es el más cercano a la máquina la computadora lo procesa más rápido.
    2. Eficiencia de tamaño. Un programa en ensamblador no ocupa mucho espacio en memoria.
    3. Flexibilidad. O sea que en lenguaje ensamblador se pueden hacer tareas específicas que en un lenguaje de alto nivel no se pueden llevar acabo porque tienen ciertas limitantes que no se lo permite

    û Desventajas
    1. Tiempo de programación. Como es un lenguaje de bajo nivel requiere más instrucciones para realizar el mismo proceso, en comparación con un lenguaje de alto nivel.
    2. Programas fuente grandes - Dificulta el mantenimiento de los programas, y nuevamente reduce la productividad de los programadores.
    3. Peligro de afectar recursos inesperadamente. Porque con este lenguaje es sencillo realizar secuencias de instrucciones inválidas, que normalmente no aparecen al usar un lenguaje de alto nivel.
    4. Falta de portabilidad. Porque para cada máquina existe un lenguaje ensamblador; por ello, evidentemente no es una selección apropiada de lenguaje cuando deseamos codificar en una máquina y luego llevar los programas a otros sistemas operativos o modelos de computadoras.


    Microprocesador CISC vs. RISC.

    En la construcción de microprocesador hay dos tendencias basadas en la cantidad de instrucciones que pueden ejecutar. Por un lado, estarían los que pueden ejecutar un set reducido de instrucciones simples, y, por el otro, los que manejan un set de instrucciones más complejos.
    !CISC (Complex Instructions Set Computer): sistema con un conjunto de instrucciones complejo. Basado en un amplio repertorio de instrucciones. Se aumenta la potencia del microprocesador a costa de aumentar el tamaño de las instrucciones, y por tanto el número de ciclos de reloj que precisan para ejecutarse. Eso sí, los programas verán reducido el número de instrucciones máquina que precisan para ser ejecutados por el microprocesador.
    !RISC (Reduced Instructions Set Computer): sistema con un conjunto de instrucciones reducidoPlantea un conjunto reducido de instrucciones, buscando reducir el número de ciclos de reloj de ejecución por cada una de ellas, haciéndolas simples y evitando instrucciones complejas.

    ð Un microprocesador CISC entiende y ejecuta cientos de las instrucciones que conforman el set de instrucciones. Un microprocesador RISC, en cambio, hace lo propio con muy pocas instrucciones. A partir de esto, se podría pensar que un procesador CISC es más rápido y eficiente. Pero no es así. Un procesador CISC es más lento y complicado que un RISC, ya que el primero tarda más tiempo en ejecutar cada instrucción, mientras que un RISC con su diseño interno le permite ejecutarlas en muy poco tiempo, a una gran velocidad, mucho más rápido que un microprocesador CISC. Maneja pocas instrucciones simples de forma rápida, logrando en combinación la equivalencia con las instrucciones complejas que propone la tecnología la tecnología CISC. La tecnología RISC es la empleada, por ejemplo, en los procesadores de las computadoras Macintosh, así como también en procesadores modernos de la PC, como el Pentium 4. Las instrucciones CISC, por su parte, se encuentran generalmente en procesadores más antiguos, como el 80486. Sumada a estas dos versiones, también encontramos el sistema de instrucciones VLIW (Very Long Instruction Word), que utiliza instrucciones más largas que las empleadas en las arquitecturas CISC y RISC.

    Aspectos prácticos del microprocesador

    Veamos a continuación algunos términos que frecuentemente se relacionan con los microprocesadores:


    • Micrones se refiere a lo más delgado de la línea de conexión física de los trasmisores. Como ejemplo, vale comparar que un cabello humano tiene un grosor aproximado de 100 micrones (en un P4, no se llega ni a un veinte por ciento de la centésima parte de eso). El mejoramiento de la tecnología en este terreno es lo que hace que entren cada vez más transmisores en chips de similar tamaño
    • MIPS, por su parte, es la sigla en ingles de “millones de instrucciones por segundo”.

    Pero, como usuarios, quizá no son precisamente estos datos que detallamos los parámetros que se mencionan cuando nos hablan de un microprocesador, sino de otros más prácticos. Por ejemplo:

    üVelocidad o frecuencia del trabajo: es el dato más típico, identificatorio y marquetinero de los procesadores. A un microprocesador se lo identifica y “vende” por la marca y la frecuencia. Esto se refiere a la velocidad de los ciclos o pulsos del reloj, o sea, a la velocidad en que se marca el paso en la secuencia de ejecución de las instrucciones.
    Actualmente se habla de frecuencias de Gigaherzios (GHz.), o de Megaherzios (MHz.). Lo que supone miles de millones o millones, respectivamente, de ciclos por segundo. El indicador de la frecuencia de un microprocesador es un buen referente de la velocidad de proceso del mismo, pero no el único. La cantidad de instrucciones necesarias para llevar a cabo una tarea concreta, así como el ancho de banda ó cantidad de instrucciones ejecutadas por ciclo ICP, son los otros dos factores que determinan la velocidad de la CPU. La cantidad de instrucciones necesarias para realizar una tarea depende directamente del juego de instrucciones disponible, mientras que el índice ICP depende de varios factores, como el grado de supersegmentación y la cantidad de unidades de proceso o "pipelines" disponibles, entre otros. La cantidad de instrucciones necesarias para realizar una tarea depende directamente del juego de instrucciones.
    Un microprocesador de 800 MHz tiene una frecuencia de reloj que duplica a uno de 400 MHz, pero eso no significa que sea el doble de rápido, ya que esto depende de otros factores.

    üMemoria caché: En su relación con el microprocesador, podemos decir que es una memoria de acceso ultrarrápido que el microprocesador tiene muy cerca, donde almacena las instrucciones y datos que se necesitan rápidamente. A la parte de la memoria caché que esta dentro del chip del microprocesador se la llama caché interna, de nivel uno o L1 (Level 1). Hasta el 486DX2 de 1991, los microprocesadores no traían esta memoria interna.

    üAncho y frecuencia del bus: el microprocesador se comunica con el motherboard y, de ahí, al resto del mundo, a través del bus. Éste está determinado por dos parámetros: la velocidad, por un lado, y el ancho del bus, por el otro, o sea, la cantidad de bits que puede manejar a la vez. Los primeros microprocesadores contaban con un ancho de bus de 8 bits, es decir, que podía manejar hasta 8 bits a la vez por cada ciclo de reloj. Los actuales microprocesadores tienen en general 32 bits, entonces, un microprocesador actual puede hacer hasta en un solo ciclo de reloj lo que los otros necesitan en cuatro. El aumento del ancho del bus determinó el aumento de la velocidad de procesamiento, ya que se necesitan menos ciclos de bus para procesar los mismos datos, pero también es cierto que los datos se complejizaron con el tiempo. Con respecto a la frecuencia, un microprocesador, puede trabajar hasta los 4 GHz actuales, pero el bus de la placa motherboard o de las memorias no llega ni por asomo a esos valores. Una placa actual puede tener una velocidad de bus de 200 MHz. Esto indica que el microprocesador trabaja a una velocidad, pero se comunica con el motherboard a otra menor. Esto también nos da la pauta que para la velocidad del sistema no solo es importante el microprocesador. Dos iguales y de la misma frecuencia no van a rendir lo mismo en una placa con un bus de 1200 MHz que en una con un bus de 200 MHz.
    Tensiones y temperatura

    La transferencia de datos de corriente. La corriente es una circulación de cargas eléctricas; éstas se rozan y, en el roce, generan calor. Ese es el motivo por el cual mayor cantidad y velocidad de transferencia de datos se produce más calor.
    En los microprocesadores esto se compensa de dos maneras: reduciendo las tensiones de operación o alimentación, y adosando disipadores y ventiladores.
    Al conjunto de disipadores y ventiladores se los llama cooler, que es un dispositivo que se conecta encima del microprocesador. El cooler está hecho de un material lo suficientemente frío, de modo que el calor pasa de la pastilla del microprocesador al disipador, y luego, es extraído de allí por el ventilador.

    También podemos mejorar la entrada de aire frío en el gabinete haciendo que los ventiladores tomen aire directamente del exterior sin ninguna tapa que dificulte la tarea.


    Entrada de aire mejorada

    El microprocesador (CPU) es el componente que más temperatura genera en la máquina y al que más cuidado debemos tenerle porque en caso de error por calor puede arruinarse o bien, apagarse por protección del sistema y perderemos los datos en que estábamos trabajando. La manera de evitar esto en forma más rápida y simple es cambiar el cooler (así se le llama el ventilador y la pieza de aluminio que enfría al CPU) que usa por uno más potente, agregar más ventiladores al gabinete y acomodar los cables del interior para formar un flujo de aire estable.
    La idea principal del flujo de aire es que entre por el frente aire frío y se distribuya hacia la parte superior hasta que salga en forma de aire cálido por la parte superior y trasera del gabinete, así como se muestra en la imagen con flechas Para conseguir esto se puede instalar ventiladores en la parte delantera, trasera y en muchos de ellos también en la parte superior.


    Indicación de flujo de aire recomendado

    Ventilador superior

    También, como una forma más de facilitar el paso del aire, es bueno acomodar de forma prolija los cables internos, se puede obtener mejores resultados utilizando precintos plásticos o cinta helicoidal. Y así de misma forma que lo hecho en el frente quitar el enrejado original del ventilador trasero ayuda a paso del aire sin restricciones.

    Cables internos ordenados y con cinta helicoidal
    Perforación trasera permite el paso del aire
    La mayoría de las placas de video actuales traen buenos sistemas de refrigeración así que con solo con mejorar el flujo de aire fresco en el gabinete será suficiente para olvidarnos de ella por un tiempo, no así las placas muy potentes como la Nvidia 6600 o Ati Radeon 9800, placas de este tipo o superiores que están destinadas a juegos necesitan enfriamiento adicional en ambientes cálidos, en estos casos muchas empresas se especializan en soluciones para estos tipos de placas, solo será cuestión de buscar un mejor Cooler para ellas (al igual que los CPU las placas de video tienen en la actualidad coolers).

    Cooler de placa de video
    La Fuente de poder, también conocida como fuente de alimentación suele tomar un poco de temperatura en equipos potentes y es por eso que debemos intentar tenerla con dos ventiladores incorporados o uno grande para que no tenga problemas de temperatura. Aunque uno no se fije mucho en eso la fuente de alimentación, la realidad es que es una parte vital para la salud de nuestra máquina, ella es la responsable de filtrar todos los desperfectos que haya en la línea de energía de nuestra casa y en caso que haya un cortocircuito debe apagarse para no dañar los componentes de la PC. Hay muchos casos de fuentes sobre exigidas y de baja calidad de fabricación que se han fundido, incluso explotado o dañando partes importantes de la PC como los discos rígidos o el microprocesador.
    Las memorias RAM en si no tienen grandes problemas de temperatura en un principio, pero algo de calor generan y es por eso que recomiendo conseguir versiones con disipadores de calor o agregarles disipadores. Estos pueden conseguirse en nuestro proveedor habitual de componentes.
    Las interrupciones
    El microprocesador no puede hacer todo a la vez. Pero a veces, tiene que interrumpir esta tarea para atender a algún periférico (ingreso o salida de datos).
    El periférico debe avisarle al microprocesador que interrumpa su tarea actual para que le preste atención; esto se hace mediante las líneas de interrupción. El microprocesador tiene sus líneas de interrupción que se conectan con las de los periféricos (cada puerto tiene una), pero como necesitan más interrupciones que las disponibles, hay un dispositivo que las administra: el controlador programable de interrupciones (PCI), que verifica los pedidos, establece prioridades etc...
    Cada elemento tiene asignada su interrupción y no puede compartirla con otra. De esta forma, el microprocesador, no sabría a quien prestarle atención. Esta asignación se realiza generalmente desde el BIOS de la motherboard; también es configurable desde el sistema operativo.
     
  2. Wak

    Waki!
    Expand Collapse
    Subteniente

    Mensajes:
    504
    Me Gusta recibidos:
    1
    [continuación]


    Microprocesadores de 64 bits

    Un sistema de 32 bits como el que seguramente tiene nuestra computadora implica que no solo el microprocesador, sino el resto de los elementos asociados (buses, memorias etc.), se manejan con ese ancho del bus.
    Un sistema de 32 bits es más rápido y eficiente que uno de 8 o 16 bits, por los motivos que ya se han mencionado, y por la posibilidad de manejar más memoria a la vez. Un sistema de 32 bits puede manejar hasta 4 GB de memoria RAM. Una PC de hoy en día ronda los 256 o 512 MB de memoria, entonces quiere decir que por el momento sobra capacidad en los sistemas de 32 bits para manejar memoria.
    ¿A qué se debe, entonces, esta carrera loca que parece tratar de imponer los microprocesadores de 64 bits?
    A una mezcla de necesidades a otros niveles de uso o sistema y a la necesidad de las empresas de vender más microprocesadores. Por un lado la capacidad de procesamiento y de manejo de los sistemas de 32 bits todavía está lejos de su techo en PC, por lo que deberíamos tener 32 bits para rato, pero en servidores (en grandes sistemas de red) este techo se pasó ya hace mucho tiempo.
    Un poco más de información:
    Aunque una CPU puede ser internamente de 64 bits, su bus de datos o bus de direcciones externos pueden tener un tamaño diferente, más grande o más pequeño y el término se utiliza habitualmente para describir también el tamaño de estos buses. Por ejemplo, muchas máquinas actuales con procesadores de 32 bits usan buses de 64 bits (p.ej. el Pentium original y las CPUs posteriores) y pueden ocasionalmente ser conocidas como "64 bits" por esta razón. El término también se puede referir al tamaño de las instrucciones dentro del conjunto de instrucciones o a cualquier otro elemento de datos (p.ej. las cantidades de 64 bits de coma flotante de doble precisión son comunes). Sin más calificaciones, sin embargo, la arquitectura de los ordenadores de 64 bits tiene integrados registros que son de 64 bits, que permite soportar (interna y externamente) datos.

    Implicaciones de arquitectura
    Los registros en un procesador se dividen generalmente en tres grupos: enteros, coma flotante y otros. En todos los procesadores de propósito general, sólo los registros enteros pueden almacenar punteros (una dirección de algún dato en memoria). Los registros que no son de enteros no se pueden utilizar para almacenar punteros para leer o escribir memoria y por tanto no se pueden utilizar para evitar cualquier restricciones impuestas por el tamaño de los registros enteros.
    Casi todos los procesadores de propósito general (con la notable excepción de muchos ARM e implementaciones MIPS de 32 bits) han integrado hardware de coma flotante, que puede o no utilizar registros de 64 bits para transportar datos con el fin de procesarlos. Por ejemplo, la arquitectura X86 incluye instrucciones de coma flotante del x87 que utiliza 8 registros de 80 bits en una configuración en forma de pila; revisiones posteriores del x86 y la arquitectura x86-64 también incluyen instrucciones SSE que utilizan 8 registros de 128 bits (16 registros en el x86-64). En contraste, el procesador de 64 bits de la familia DEC Alpha define 32 registros de coma flotante de 64 bits además de sus 32 registros de enteros de 64 bits.
    32 bits contra 64 bits
    El cambio de una arquitectura de 32 bits a una de 64 bits es una alteración fundamental, y muchos sistemas operativos tienen que modificarse ostensiblemente para aprovechar las ventajas de la nueva arquitectura. El resto del software también tiene que ser portado para usar las nuevas capacidades; el software antiguo normalmente es soportado a través del modo de hardware compatible (en el que los nuevos procesadores soportan las versiones antiguas del conjunto de instrucciones antiguo de 32 bits, así como las de la versión de 64 bits), a través de emulación software o por la implementación de un núcleo de procesador de 32 bits dentro del procesador de 64 bits (como con los procesadores Itanium de Intel, que incluyen un núcleo de procesador x86 para ejecutar aplicaciones x86 de 32 bits). Los sistemas operativos para estas arquitecturas de 64 bits generalmente soportan aplicaciones de 32 bits y de 64 bits.
    Una excepción significativa de esto es el AS/400, cuyo software se ejecuta en un conjunto de instrucciones virtual, llamado TIMI (Technology Independent Machine Interface) que se traduce a código nativo por software de bajo nivel antes de ser ejecutado. El software de bajo nivel es todo lo que ha de ser reescrito para portar todo el SO y el software a una nueva plataforma, como cuando IBM hizo la transición de su línea desde los antiguos juegos de instrucciones de 32/48 ("IMPI") al PowerPC de 64 bits (IMPI no tenía nada que ver con el PowerPC de 32 bits, así que fue incluso una transición mayor que la de un juego de instrucciones de 32 bits a su equivalente de 64 bits).
    Mientras las arquitecturas de 64 bits incontestablemente hacen más sencillo el trabajar con grandes conjuntos de datos en aplicaciones como el vídeo digital, computación científica y grandes bases de datos, ha habido un debate considerable sobre si los modos de compatibilidad con 32 bits serán más rápidos que los sistemas de 32 bits del mismo precio para otras tareas. En las arquitecturas x86-64 (AMD64 y EM64T, IA-32e), la mayoría de los sistemas operativos de 32 bits y aplicaciones pueden ejecutarse sin problemas en el hardware de 64 bits.
    Las máquinas virtuales de JAVA de 64 bits de Sun son más lentas en el arranque que las de 32 bits porque Sun sigue asumiendo que todas las máquinas de 64 bits son servidores y sólo han implementado el compilador de "servidor" (C2) para plataformas de 64 bits. El compilador "cliente" (C1) produce código más lento, pero compila mucho más rápido. Así que aunque un programa Java en una JVM de 64 bits puede funcionar mejor en un periodo grande de tiempo (típico de aplicaciones "servidoras" de ejecución larga), su tiempo de arranque será probablemente mucho mayor. Para aplicaciones de vida corta (como el compilador de Java, javac) el incremento en el tiempo de arranque puede dominar el tiempo de ejecución, haciendo la JVM de 64 bits más lenta en conjunto.
    Debería notarse que la velocidad no es el único factor a considerar en una comparación de procesadores de 32 bits y 64 bits. Usos como la multitarea, las pruebas de carga y el clustering (para computación de alto rendimiento) pueden ser más idóneos para una arquitectura de 64 bits teniendo en cuenta un desarrollo correcto. Los clusters de 64 bits han sido ampliamente usados en grandes organizaciones como IBM, Vodafone, HP y Microsoft, por esta razón.

    Pros y contras
    Un error común es, que las arquitecturas de 64 bits no son mejores que las de 32 bits a menos que el ordenador tenga más de 4 GB de memoria. Esto no es completamente cierto:
    Algunos sistemas operativos reservan porciones de espacio de direcciones de procesos para uso del SO, reduciendo el espacio total de direcciones disponible para mapear memoria para programas de usuario
    El mapeado en memoria de archivos es menos útil con arquitecturas de 32 bits, especialmente con la introducción de tecnología de grabación de DVD relativamente barata. Un archivo de 4 GB ya no es inusual y tales archivos grandes no pueden ser mapeados fácilmente con arquitecturas de 32 bits; sólo se puede mapear una región del archivo en el espacio de direcciones y para acceder al archivo usando mapeado de memoria, estas regiones tendrán que mapearse dentro y fuera del espacio de direcciones según sea necesario. Esta es una cuestión clave, ya que el mapeado de memoria es uno de los métodos más eficientes para transportar datos del disco a la memoria, cuando es correctamente implementado por el SO.
    La principal desventaja de las arquitecturas de 64 bits es que, con respecto a las arquitecturas de 32 bits, los mismos datos ocupan ligeramente más espacio en memoria (debido al crecimiento de los punteros y posiblemente otros tipos y al relleno para alineamiento). Esto incrementa los requisitos de memoria de un proceso dado y puede tener implicaciones para el uso eficiente de la caché del procesador. Mantener un modelo parcial de 32 bits es una manera de manejar esto y es en general razonablemente efectivo. De hecho, el sistema operativo de altas prestaciones Z/OS ha escogido este enfoque actualmente, requiriendo que el código de programa resida en varios espacios de direcciones de 32 bits mientras que los objetos de datos pueden (opcionalmente) residir en regiones de 64 bits.
    Actualmente, muchos programas comerciales están construidos como código de 32 bits, no de 64 bits, así que no pueden obtener ventajas de los grandes espacios de direcciones de 64 bits o de registros de 64 bits más anchos y las rutas de datos en procesadores de 64 bits o, en procesadores x86, de los registros adicionales en el modo de 64 bits. Sin embargo, los usuarios de sistemas operativos libres o de código abierto han podido utilizar entornos exclusivos de 64 bits durante años. No todas las aplicaciones necesitan un gran espacio de direcciones o manipular elementos de 64 bits, así que no se beneficiarían de los grandes espacios de direcciones o de los registros más anchos y las rutas de datos; el principal beneficio para las aplicaciones de 64 bits que no se beneficiarían de nada de esto sería que las versiones x86 podrían usar más registros.

    Arquitecturas de microprocesador de 64 bits actuales
    - Las arquitecturas de microprocesador de 64 bits (a fecha de 2006) comprenden:
    - La arquitectura DEC Alpha
    - La arquitectura IA-64 de Intel (usada en las CPUs Itanium de Intel)
    - La arquitectura AMD64 de AMD (previamente conocida como x86-64), una versión de 64 bits de la arquitectura x86 (usada en las CPUs Athlon 64, Opteron, Sempron y Turion 64).

    Intel usa ahora el mismo conjunto de instrucciones en los procesadores Pentium 4 y Xeon nuevos y en los procesadores Core 2 Duo, llamándola Intel 64 (previamente conocida como EM64T, originalmente IA-32e). Los fabricantes de software Microsoft y Sun llaman a este conjunto de instrucciones "x64".
    - La arquitectura SPARC (de 64 bits desde SPARC V9)
    - La arquitectura UltraSPARC de Sun
    - La arquitectura SPARC64 de Fujitsu
    - La arquitectura POWER de IBM (de 64 bits desde POWER3 y las variantes RS64)
    - La arquitectura PowerPC de IBM/Motorola (el PowerPC 620 de 64 bits y las variantes PowerPC 970)
    - La arquitectura z/Architecture de IBM, usada por los mainframes zSeries y System z9, una versión de 64 bits de la arquitectura ESA/390
    - Las arquitecturas MIPS IV, MIPS V, y MIPS64 de MIPS Technologies
    - La familia PA-RISC de HP (de 64 bits desde el PA-RISC 2.0)

    Muchas arquitecturas de procesador de 64 bits pueden ejecutar nativamente código de la versión de 32 bits de la arquitectura sin ninguna penalización en el rendimiento. Este tipo de soporte se conoce frecuentemente como soporte biarquitectura o más generalmente como soporte multiarquitectura.
    Más allá de los 64 bits

    A fecha de 2007, las palabras de 64 bits parecen ser suficientes para la mayoría de usos prácticos. Aún así, debería mencionarse que el System/370 de IBM usa números de coma flotante de 128 bits, y muchos procesadores modernos incluyen registros de coma flotante de 128 bits. Sin embargo, el System/370 era notable, en que también usaba números decimales de longitud variable de hasta 16 bytes de longitud (por ejemplo de 128 bits).


    Tecnología HyperThreading

    La tecnología HyperThreading es un diseño de la empresa Intel que permite al software programado para ejecutar múltiples hilos (multi-threaded) procesar los hilos en paralelo dentro de un único procesador, incrementando el uso de las unidades de ejecución del procesador. Esta tecnología consiste en usar dos procesadores lógicos dentro de un único procesador físico, el resultado es una mejoría en el uso del procesador, ya que al simular dos procesadores puede aprovechar mejor los recursos del procesador y por lo tanto una mejora en la velocidad de las aplicaciones. Según Intel la mejora que se obtiene es aproximadamente de un 30 por ciento.
    De todos modos, las aplicaciones que pretendan aprovechar la capacidad de la tecnología HyperThreading deben haber sido programadas para utilizar múltiples hilos de lo contrario no se conseguirá el paralelismo en la ejecución que se pretende.
    Resumiendo, hyperthreading le hace creer al usuario mediante el sistema operativo que tiene dos microprocesadores (si el sistema operativo lo soporta, como Linux con kernels SMP) cuando en realidad tiene montado un solo microprocesador. Simula una placa madre con doble microprocesador. Esto permite procesar tareas más rápido, la velocidad aumenta pero un usuario final notará una mejora de 20 por ciento.
    Debe considerarse que esta tecnología ha sido polémica de muchas otras empresas desarrolladoras de software y hardware. Se cree que ha sido una de las innovaciones con poco sentido que obligan a los informáticos a sustituir sus equipos por otros con el Socket 775 ó 478 de Intel con HyperThreading, y el cual, no representa un gran avance en el ahorro de recursos, ni aumento de velocidad de los sistemas operativos. La diferencia entre HyperThreading y un procesador Dual Core, es que el segundo si presenta dos nucleos en un encapsulado, ya que el HyperThreading solo emula dos procesadores mediante hilos en paralelo dentro del procesador.

    Limitaciones de memoria
    Muchas CPUs están actualmente (en 2008) diseñadas para que los contenidos de un único registro
    puedan almacenar la dirección de memoria de cualquier dato en la memoria virtual. Por tanto, el
    número total de direcciones en memoria virtual — la suma total de datos que el ordenador puede
    mantener en su área de trabajo — es determinado por el ancho de estos registros. Empezando en los
    años 1960 con el IBM S/360, luego (entre muchos otros) el miniordenador VAX de DEC en
    los años 1970 y luego con el Intel 80386 a mediados de los años 1980, un
    consenso de facto instauró que 32 bits era un tamaño conveniente
    de registro. Un registro de 32 bits significa que se
    puede referenciar 232 direcciones o 4 GB de RAM. En el momento en que estas arquitecturas fueron concebidas, 4 GB de memoria estaban muy lejos de las cantidades disponibles en instalaciones que se consideraban suficiente "espacio" para direccionamiento. Las direcciones de 4 GB se consideraban un tamaño apropiado con el que trabajar por otra importante razón: 4 mil millones de enteros son suficientes para asignar referencias únicas a la mayoría de cosas físicamente contables en aplicaciones como bases de datos.
    No obstante, con el paso del tiempo y las continuas reducciones en el coste de la memoria, al comienzo de los años 1990, comenzaron a aparecer instalaciones con cantidades de RAM próximas a los 4 GB, y comenzó a ser deseable el uso de espacios de memoria virtual que superaban el límite de 4 GB para manejar ciertos tipos de problemas. Como respuesta, varias empresas empezaron a lanzar nuevas familias de chips con arquitecturas de 64 bits, inicialmente para superordenadores, estaciones de trabajo de grandes prestaciones y servidores. Las computadoras de 64 bits se han ido moviendo hacia el ordenador personal, con algunos modelos de las líneas Macintosh de Apple Computer cambiando a procesadores PowerPC 970 (llamados "G5" por Apple) en 2003 y a procesadores EM64T de 64 bits en 2006, y con procesadores x86-64 llegando a ser comunes en PCs de gama alta. La aparición de la arquitectura de 64 bits efectivamente incrementa el límite a 264 direcciones, equivalente a 17,179,869,184 GB o 16 exabytes de RAM. Para poner esto en perspectiva, en los días en que 4 MB de memoria principal eran comunes, el límite máximo de memoria de 232 direcciones era unas 1000 veces mayor que la configuración típica de memoria. En 2007, cuando 1GB de memoria principal es común, el límite de 264 es unos diez mil millones de veces superior, es decir diez millones de veces más de espacio.
    Muchos PCs de 64 bits del mercado tienen actualmente un límite artificial en la cantidad de memoria que pueden reconocer, pues las limitaciones físicas hacen muy poco probable que se vaya a necesitar soporte para los 16 exabytes de capacidad total. El Mac Pro de Apple, por ejemplo, puede configurarse físicamente con hasta 32 GB de memoria, y por ello no hay necesidad de soportar más allá de esa cantidad. Un núcleo linux reciente (versión 2.6.16) puede ser compilado con soporte para hasta 64 GB de memoria.
    Aún así debemos tener en cuenta que, si bien un procesador puede operar 64 bits, para que ésta potencia sea transferida correctamente, el bus de datos debe ser capaz de transmitir dicha información y para ello necesita el ISA (introducción set architecture) que es el conjunto de instrucciones que determinan una determinada arquitectura de procesamiento. Dicho de otro modo, ISA es un estándar que fija la manera en que se procesarán los datos y sobre el cual se diseñan los microprocesadores y los sistemas operativos (hardware y software) para que sean compatibles entre sí.
    Los procesadores de 32 bits, como el 486, el Pentium 4 o el Athlon XP, son compatibles con el ISA llamado x86. Este conjunto de instrucciones fue creado por Intel, y por otros fabricantes de chips como AMD y VIA, pagan derecho de patente por usarlo.
    X86-64 de AMD, es básicamente, un nuevo ISA que extiende el actual X86 de 32 bits. Al ser una extensión y no una reformulación total del set de instrucciones, ha permitido obtener beneficios importantes:
    - Compatibilidad con programas de 32 bits (sistemas operativos y aplicaciones).
    - Facilidad en la creación y migración de aplicaciones a la plataforma de 64 bits.
    Pero no todo es bueno para l plataforma x86-64. Una de las críticas más importantes que se le hacen es que todavía mantiene viva la vieja arquitectura de instrucciones CISC.

    El núcleo original, conocido como Hammer, ha dado lugar a tres variantes de chips de 64 bits:
    - Opteron: es el primer AMD64 que lanzó el mercado. Está destinado a servidores y workstations de alta capacidad de cálculo.
    - Athlon64 FX: ofrece todas las características del anterior, pero es más veloz.
    - Athlon 64: el chip de 64 bits “ para el pueblo” .

    Los nuevos procesadores AMD basados en x86-64 tiene una serie de características comunes:
    Controlador de memoria integrando: incorporación del controlador en el mismo microprocesador, que aumenta notablemente el ancho de la banda disponible, al reducirse o eliminarse las tendencias de las comunicaciones entre distintos chips (procesador- chipset- memoria pasa a ser procesador- memoria)
    - SSE: son las introducciones multimedia que permiten incrementar notablemente la capacidad de cálculo de los procesadores modernos. El K8 incorpora SSE2.
    - Estructura del caché: el K8 conserva los 128 KB de caché L1 e incorporaron 1MB de caché L2.
    - Fabricación en SOI: mejora la conductividad un 30% respecto de las técnicas tradicionales. Esto ayudará a mejorar las frecuencias del reloj.
    - Hyper Transport: los nuevos procesadores y los motherboards de 64 bits no utilizan el bus frontal, en cambio emplean un nuevo estandar de bus serie, punto a punto llamado Hyper Transport (HT).


    El futuro de los microprocesadores
    La evolución que están sufriendo los procesadores es algo que no parece escapar a la atención de millones de personas, cuyo trabajo depende de hasta dónde sean capaces de llegar los ingenieros de Intel a la hora de desarrollar nuevos chips. El último paso conocido ha sido la implementación de la nueva arquitectura de 0.25 micras, que viene a sustituir de forma rotunda la empleada hasta el momento, de 0.35 micras en los últimos modelos de procesador. Esto va a significar varias cosas en un futuro no muy lejano. Para empezar, la velocidad se incrementará una media del 33 por ciento con respecto a la generación de anterior. Es decir, el mismo procesador usando esta nueva tecnología puede ir un 33 por ciento más rápido que el anterior. Para que se puedan hacer una idea del tamaño de esta tecnología, deciros que el valor de 0.25 micras es unas 400 veces más pequeño que un pelo de cualquier persona. Y este tamaño es el que tienen los transistores que componen el procesador. El transistor, como algunos sabrán, permite el paso de la corriente eléctrica, de modo que en función de en qué transistores haya corriente, el ordenador realiza las cosas (esto es una simplificación de la realidad, pero se ajusta a ella más o menos). Dicha corriente eléctrica circula entre dos puntos, de modo que cuanto menor sea esta distancia, más cantidad de veces podrá pasar pues el tiempo de paso es menor. Aunque estamos hablando de millonésimas de segundo, tened en cuenta que un procesador está trabajando continuamente, de modo que ese tiempo que parece insignificante cuando es sumado a lo largo de las miles de millones de instrucciones que realizar, nos puede dar una cantidad de tiempo bastante importante. De modo que la tecnología que se utilice puede dar resultados totalmente distintos incluso utilizando el mismo procesador. Por el momento, en un futuro cercano además de contar con la arquitectura de 0.25 micras, podremos disfrutar de duna de 0.07 para el año 2011, lo que supondrá la introducción en el procesador de mil millones de transistores y alcanzando una velocidad de reloj cercana a los 10000 MHz, es decir, 10 GHz.


    Lo nuevo de Intel



    Adios Pentium.
    Nehalem será probablemente “la arquitectura más agresiva del gigante Intel desde el Pentium original”. La plataforma llegará antes de 2009 acompañada de nuevo socket y chipset, según revela el último “roadmap” corporativo de la compañía.
    La arquitectura del núcleo “Nehalem” integrará el controlador de memoria en la “die” del procesador y no en el northbridge de la placa madre y ofrecerá una n ueva interconexión “punto a punto” del bus denominada CSI (Bus serie común, Common Serial Bus), similar a lo que hace AMD con el HyperTransport y que en teoría doblará su velocidad.
    Esta estrategia requiere el diseño de un nuevo zócalo por lo que el existente LGA775 no será compatible con la nueva plataforma.
    El nuevo socket se denomina LGA1366 y será acompañado por el chipset X48 (de la familia de los Tylersburg) y el southbridge ICH10.
    Como ya comentamos la familia Nehalem será numerosa, con modelos para máquinas de escritorio, portátiles y servidores.
    Fabricados en procesos de 45 nanómetros habrá modelos de dos, cuatro y ocho procesadores, con núcleos nativos y no con dos sobre un mismo sustrato. Además serán capaces de procesar dos hilos por ciclo de reloj.
    Los rumores sobre la integración de la GPU en el procesador no se comentan en el artículo de DailyTech, aunque parece lógico que algunos procesadores lo utilizasen tras la integración del controlador de memoria que también manejaría el acelerador gráfico.
    Aunque no está confirmado la memoria RAM soportada al menos en algunos de los modelos sería DDR3, con triple controlador de memoria para tres canales.
    8 Mbytes de caché de tercer nivel y un consumo de 130W en los más potentes son otras de las características anunciadas.

    Actualmente la mayoría de los últimos procesadores de Intel para servidores y computadoras de escritorio están basados en la arquitectura Core 2, pero ya está cumpliendo algo más de un año. Por eso Intel ya tiene planeado el lanzamiento de Nehalem, su próximo gran cambio de arquitectura, y tal vez hasta de paradigma.

    Nehalem traerá consigo tres nuevas tecnologías: QuickPath Interconect (Análogo al HyperTransport de AMD) es un bus especial para comunicar más eficiente y rápidamente a todos los núcleos entre sí. La segunda es un controlador de memoria integrado (También, igual a AMD que lo trae en sus procesadores desde el 2003) y la tercera y más relevante es una tecnología parecida al HyperThreading, que Intel introdujo en los Pentium 4, que le permite manejar dos tareas por núcleo en lugar de solo una. La arquitectura Nehalem también permite mayor homogeneidad pudiendo aceptar prácticamente cualquier cantidad de núcleos así como núcleos especializados como podrían ser procesadores gráficos.

    El primer chip con arquitectura Nehalem lleva el nombre código “Bloomfield”, un procesador de 2 o 4 núcleos con versiones para PCs de escritorio y servidores. Los Bloomfield estarían llegando a nosotros durante el último trimestre del 2008. Durante el 2008 Intel prometió en su foro de desarrolladores que también saldrían procesadores basados en Nehalem de ocho núcleos, así como también prometió que en el 2009 llegarían los primeros en incluir núcleos de procesamiento gráfico, aunque de éstas dos últimos procesadores no hubo confirmaciones de fechas de salida por parte de Intel.

    Ley de Moore

    La Ley de Moore expresa que aproximadamente cada dos años se duplica el número de transistores en un circuito integrado. Se trata de una ley empírica, formulada por Gordon E. Moore el 19 de abril de 1965, cuyo cumplimiento se ha podido constatar hasta hoy.

    En 1965 Gordon Moore afirmó que la tecnología tenía futuro, que el número de transistores por pulgada en circuitos integrados se duplicaba cada año y que la tendencia continuaría durante las siguientes dos décadas.

    Más tarde, en 1975, modificó su propia ley al afirmar que el ritmo bajaría, y que la capacidad de integración se duplicaría aproximadamente cada 24 meses. Esta progresión de crecimiento exponencial, duplicar la capacidad de los circuitos integrados cada dos años, es lo que se considera la Ley de Moore. Sin embargo, el propio Moore ha puesto fecha de caducidad a su ley: "Mi ley dejará de cumplirse dentro de 10 o 15 años -desde 2007-". Según aseguró durante la conferencia en la que hizo su predicción afirmó, no obstante, que una nueva tecnología vendrá a suplir a la actual

    La consecuencia directa de la Ley de Moore es que los precios bajan al mismo tiempo que las prestaciones suben: la computadora que hoy vale 3.000 dólares costará la mitad al año siguiente y estará obsoleta en dos años. En 26 años el número de transistores en un chip se ha incrementado 3.200 veces.

    Actualmente se aplica a ordenadores personales. Sin embargo, cuando se formuló no existían los procesadores, inventados en 1971, ni los ordenadores personales, popularizados en los años 1980.
    En el momento de escribir el artículo que originó su ley, Moore era Director de los laboratorios de Fairchild Semiconductor. Más tarde, en el verano de 1968, creó Intel junto con Robert Noyce, uno de sus compañeros en ambas empresas.



    LEY DE MOORE


    [​IMG]


    Conclusión

    Es imposible determinar que cantidad de transistores podrá albergar en un futuro cercano un Microprocesador, pero de lo que podremos asegurarnos, es que los gigantes tecnológicos, como AMD e Intel, se sacarán chispas para llevar estos números a niveles inimaginables, incluso, hay un proyecto que desde hace meses esta bajo desarrollo, basado en transistores de un tamaño molecular, es decir, unos 6 nanómetros, o un pelo dividido 20.000.
    La evolución que se dio en los microprocesadores es simplemente impresionante, en solo 26 años se logró multiplicar cientos de veces la velocidad de estos. Pasando del Intel 4004 de 4bits hasta la tecnología doble núcleo de hoy en dia.

    1971: Intel 4004. Nota: Fue el primer microprocesador comercial. Salió al mercado el 15 de noviembre de 1971.
    1972: Intel 8008
    1974: Intel 8080, Intel 8085
    1975: Signetics 2650, MOS 6502, Motorola 6800
    1976: Zilog Z80
    1978: Intel 8086, Motorola 68000
    1979: Intel 8088
    1982: Intel 80286, Motorola 68020
    1985: Intel 80386, Motorola 68020, AMD80386
    1987: Motorola 68030
    1989: Intel 80486, Motorola 68040, AMD80486
    1993: Intel Pentium, Motorola 68060, AMD K5, MIPS R10000
    1995: Intel Pentium Pro
    1997: Intel Pentium II, AMD K6, PowerPC G3, MIPS R120007
    1999: Intel Pentium III, AMD K6-2, PowerPC G4
    2000: Intel Pentium 4, Intel Itanium 2, AMD Athlon XP, AMD Duron, MIPS R14000
    2003: PowerPC G5
    2004: Intel Pentium M
    2005: Intel Pentium D, Intel Extreme Edition con hyper threading, Intel Core Duo, AMD Athlon 64, AMD Athlon 64 X2, AMD Sempron 128.
    2006: Intel Core 2 Duo, Intel Core 2 Extreme, AMD Athlon FX
    2007: Intel Core 2 Quad, AMD Quad Core, AMD Quad FX






    Bibliografía:

    ·Manual “Users, guía de hardwares”.
    ·Libro “Introducción a la informática”. Editorial ANAYA.
    ·es.wikipedia.org
    ·en.wikipedia.org
    ·perso.wanadoo.es
    ·www.conozcasuhardware.com
    ·www.alegsa.com.ar/
    ·www.psicofxp.com
     
  3. Coo

    CoolDann
    Expand Collapse
    Recluta

    Mensajes:
    9
    Me Gusta recibidos:
    0
    Interesante pero seria mejor quie lo pusieras en un documento PDF, como sea gracias
     
  4. pet

    petrulove
    Expand Collapse
    Recluta

    Mensajes:
    8
    Me Gusta recibidos:
    0
    exelente . yo andaba buscando toda esa informacion.muchas gracias.saludos.:adios::arriba::D
     
  5. ImG

    ImGian
    Expand Collapse
    Mayor

    Mensajes:
    853
    Me Gusta recibidos:
    1
    WOW Esto Me puede ser muy Utillll Thx! :arriba:
     
  6. Car

    Carblader
    Expand Collapse
    Recluta

    Mensajes:
    25
    Me Gusta recibidos:
    0
    Gracias por la información; copié y pequé en un archivo de Word. El link para bajar el archivo fue borrado.

    Gracias por compartir.

    Saludos.
     
Estado del tema:
Cerrado para nuevas respuestas

Compartir esta página