Actualidad en los Procesadores
ARQUITECTURA DE VON NEUMANN
La arquitectura de Von Neumann se basa en tres conceptos:
- Las instrucciones y los datos se almacenan en una misma memoria de lectura y escritura.
- El contenido de la memoria se direcciona por localidad, es decir, por la posición que ocupa y no por el tipo de datos.
- La ejecución de las instrucciones es secuencial. Después de una instrucción se ejecuta la ubicada en la siguiente posición de la memoria principal. No obstante, se puede modificar el orden de ejecución mediante instrucciones específicas.
Von Neumann estableció en 1945 un modelo de computador, que se considera todavía como la arquitectura básica de los computadores digitales.
Se compone de unidades o bloques:
- Unidad de Memoria Principal.
- Unidad Aritmético-lógica.
- Unidad de Control.
- Unidad de Entrada/Salida.
El tipo se especifica mediante un programa, que es un conjunto de instrucciones u órdenes elementales, denominadas instrucciones máquina, que ejecuta el computador (Aritméticas: suma, resta, multiplicación, división...; Lógicas: AND, OR, NOT, XOR …; Transferencia de datos: cargar, almacenar, transferir …; Saltos y Bifurcaciones condicionales, etc).
PIPELINE
Este procesamiento está basado en la idea que la Unidad de Control extrae una instrucción y la dirige a la unidades funcionales para su ejecución, mientras la Unidad de Control procede a extraer la próxima instrucción y la envía a las unidades funcionales. Así sucesivamente hasta que todas las unidades funcionales estén ocupadas. Esta estrategia general parte del hecho que el tiempo para extraer una instrucción es casi siempre mayor que el necesario para ejecutarla e implica diseñar la CPU con varias unidades de procesamiento.
Consiste en cinco procesadores dentro de la CPU dedicados a funciones específicas.
En el primer ciclo se procede a buscar la instrucción 1, en el segundo ciclo se decodifica la instrucción 1 y se busca la instrucción 2, y así sucesivamente. La instrucción S, representa un salto, se observa que en el ciclo 4 no se procede a buscar la próxima instrucción ya que hasta no ejecutar la anterior, no se sabe cual es. Teniendo en cuenta que estadísticamente se verifica que las instrucciones de salto representan aproximadamente el 30 % del programa, el incremento de velocidad que podría lograrse con el pipeline (un factor de cinco en este caso) se ve reducido en el porcentaje indicado.
El multiprocesamiento o procesamiento en paralelo.
Multiprocesamiento o multiproceso es tradicionalmente conocido como el uso de múltiples procesos concurrentes en un sistema en lugar de un único proceso en un instante determinado. Como la multitarea que permite a múltiples procesos compartir una única CPU, múltiples CPUs pueden ser utilizados para ejecutar múltiples hilos dentro de un único proceso.
El multiproceso para tareas generales es, a menudo, bastante difícil de conseguir debido a que puede haber varios programas manejando datos internos (conocido como estado o contexto) a la vez. Los programas típicamente se escriben asumiendo que sus datos son incorruptibles. Sin embargo, si otra copia del programa se ejecuta en otro procesador, las dos copias pueden interferir entre sí intentando ambas leer o escribir su estado al mismo tiempo. Para evitar este problema se usa una variedad de técnicas de programación incluyendo semáforos y otras comprobaciones y bloqueos que permiten a una sola copia del programa cambiar de forma exclusiva ciertos valores.
En los últimos tiempos ha empezado a surgir, en todos los ámbitos de la informática, una nueva ideología. Ya no se trata de conseguir el máximo rendimiento con un sólo componente llevándolo hasta el límite, sino con varios de los actuales trabajando en simultáneo.
En estos últimos años han salido los primeros ejemplos de esta nueva tendencia, como ser los procesadores de doble núcleo (dual core), el doble canal de memoria (dual channel), el arreglo de discos duros (RAID) y el procesamiento en paralelo de gráficos tridimensionales (SLI o CrossFire, según el fabricante de los chips). No hay lugar a dudas que todas estas tecnologías constituyen el futuro de cada uno de los componentes mencionados, debido a cuestiones físicas que empiezan a imponer los límites máximos de funcionamiento. Por estos motivos es que ya no es posible seguir subiendo las velocidades de los componentes en forma individual. Con este panorama, las soluciones que existen desde hace tiempo en el mercado de los servidores empiezan a tener sentido en ordenadores de escritorio, como la utilización de varias unidades centrales de proceso en paralelo. Claro que en este sector se manejan otros costos, por lo que hay que adaptar estas soluciones a las plataformas actuales para mantener un mínimo margen de compatibilidad.
Los dos gigantes de los semiconductores (Intel y AMD) comenzaron a modificar el esquema de sus productos, dejando de lado la velocidad de clock para darle prioridad a otros aspectos. Intel introdujo la primera idea acerca del posible rumbo de los procesadores con su tecnología llamada Hyper-Threading. Gracias a ésta, el sistema operativo “veía” dos unidades centrales de proceso lógicas (habiendo una sola física) y, si la aplicación estaba optimizada para sacarle provecho a las dos, la mejora de rendimiento subía un 30% o 40%.
Pero el Hyper-Threading no fue otra cosa que el paso previo a toda la nueva camada de procesadores con dos núcleos (dual core). En los actuales Pentium D y Extreme Edition (EE), Intel juntó en una sola pastilla de silicio dos núcleos Prescott, los últimos disponibles de la plataforma Pentium 4, y sin modificar en forma radical la arquitectura NetBurst. Es por ello que cada núcleo mantiene su propia caché L2, y ambos están conectados al bus frontal de 800 o 1066 MHz. Esta primera implementación cambiará en el futuro, ya que Intel desechó la arquitectura NetBurst para darle paso a una completamente nueva. Por lo pronto, los modelos disponibles de Pentium D -fabricados bajo un proceso de 90 nanómetros- varían desde los 2.8 GHz hasta los 3.2 GHz, mientras que el Extreme Edition -el único que todavía cuenta con soporte para Hyper-Threading- corre a 3.2 GHz. Además, los Pentium D y EE basados en el núcleo Presler (de 65 nm) alcanzan los 3.4 GHz para el primero, y 3.46 GHz para el segundo; este último es el procesador más poderoso de Intel en la actualidad, con un bus frontal de 1066 MHz.
Aquí se pueden apreciar los dos núcleos que conforman el Pentium D:
Los núcleos Presler, de 65 nm, integran las CPU más poderosas de Intel hoy en día:
MICROPROCESADORES
Desde el punto de vista lógico, singular y funcional, el microprocesador está compuesto básicamente por: varios registros, una unidad de control, una unidad aritmético-lógica, y dependiendo del procesador, puede contener una unidad en coma flotante.
El microprocesador ejecuta instrucciones almacenadas como números binarios organizados secuencialmente en la memoria principal. La ejecución de las instrucciones se puede realizar en varias fases:
- PreFetch, pre lectura de la instrucción desde la memoria principal.
- Fetch, envío de la instrucción al decodificador.
- Decodificación de la instrucción, es decir, determinar qué instrucción es y por tanto qué se debe hacer.
- Lectura de operandos (si los hay).
- Ejecución, lanzamiento de las máquinas de estado que llevan a cabo el procesamiento.
- Escritura de los resultados en la memoria principal o en los registros.
El arranque o (Booteo) de una PC
En informática, la secuencia de arranque, (boot o booting en inglés) es el proceso que inicia el sistema operativo cuando el usuario enciende una computadora. Se encarga de la inicialización del sistema y de los dispositivos.
Fase de carga de GNU/Linux (Knoppix).
Iniciar desde el cd-rom (boot), cambiar secuencia de arranque desde la bios
Lo primero que se debe leer al arrancar el ordenador debe ser el cd-rom, ésto es muy útil cuando necesitamos iniciar algún programa grabado en cd o dvd como pueden ser programas de diagnostico o recuperación del sistema, o para instalar Windows o Linux desde el cd-rom.
- Encendemos el ordenador y en cuanto aparezcan las primeras letras en pantalla pulsamos la tecla Supr (suprimiri) o también llamada Del (delete), con ello accederemos a la Bios. Puede haber otros ordenadores que para acceder a la bios haya que pulsar otra tecla, normalmente se suele indicar en pantalla al arrancar el ordenador, estate atento por que solo se muestra uno o dos segundos.
- Aquí tienes una relación de teclas para acceder a la BIOS dependiendo de la placa base que tengas:
- SUPR
- DEL
- CTRL + S
- CTRL + ALT + ESC
- CTRL + ESC
- CTRL + F2
- CTRL + ALT + S
- CTRL + ALT + Z
- F1
- F2
- F8
- F10
- Una vez en la Bios tenemos que cambiar la secuencia de arranque para que se inicie en primer lugar, ésto puede diferir bastante de un ordenador a otro pero debes buscar la palabra en ingles "boot" que suele estar dentro de "Avanced bios features", en la mayoría de las ocasiones pone "Boot Sequence".
- Con las flechas arriba/abajo nos movemos por la lista de la secuencia de arranque de la bios y con las teclas + y - cambiamos el valor, como decimos hay que poner en primer lugar el cd-rom o dvd. Ojo, en la mayoría de las ocasiones solemos tener una grabadora de dvd y un reproductor, para identificar el reproductor que es lo que nos interesa, fíjate que debe estar identificado como DVD-ROM, la grabadora suele poner DVD-RAM.
- Por último grabamos los cambios y salimos, busca algo así como "Save & Exit Setup" que quiere decir guardar y salir.
Luz Marán, Marcos Franzoi y Pablo Díaz