Procesadores y Ensambladores
Ensambladores de más de 16 bits
Considerado como un lenguaje
de programación, el código ensamblador es de bajo nivel y específico para cada
máquina. Se utiliza principalmente en aplicaciones críticas como sistemas de
arranque, Sistemas Operativos, núcleos y en controladoras de dispositivos, así
como en sistemas en tiempo real o pequeños sistemas embebidos.
Podemos
distinguir entre tres tipos de ensambladores:
Ensambladores básicos. Son de muy bajo nivel, y su tarea consiste básicamente en ofrecer nombres simbólicos a las distintas instrucciones, parámetros y cosas tales como los modos de direccionamiento. Además, reconoce una serie de directivas (o meta instrucciones) que indican ciertos parámetros de funcionamiento del ensamblador.
Ensambladores modulares, o macro ensambladores. Descendientes de los ensambladores básicos, fueron muy populares en las décadas de los 50 y los 60, antes de la generalización de los lenguajes de alto nivel. Hacen todo lo que puede hacer un ensamblador, y además proporcionan una serie de directivas para definir e invocar macroinstrucciones (o simplemente, macros). Véase X86.
Ensambladores modulares 32-bits o de alto nivel. Son ensambladores que aparecieron como respuesta a una nueva arquitectura de procesadores de 32 bits, muchos de ellos teniendo compatibilidad hacia atrás pudiendo trabajar con programas con estructuras de 16 bits. Además de realizar la misma tarea que los anteriores, permitiendo también el uso de macros, permiten utilizar estructuras de programación más complejas propias de los lenguajes de alto nivel.
Algunas versiones del lenguaje ensamblador:
El
lenguaje ensamblador x86: es la familia de los lenguajes
ensambladores retrocompatibles para los procesadores x86 , entre los que se
incluyen los Pentium de Intel y los Athlon de AMD. Como el resto de lenguajes
ensambladores, usa una serie de mnemotécnicos para representar las operaciones
fundamentales que el procesador puede realizar. Los compiladores a menudo producen
código ensamblador como un paso intermedio cuando traducen un programa de alto
nivel a código máquina.
Los
procesadores x86 tienen una serie de registros disponibles para almacenar
información.
Registros de uso general
AX:
Registro acumulador, dividido en AH y AL.- Interviene en las operaciones
aritméticas y lógicas, después de la operación arroja un resultado.
BX:
Registro base, dividido en BH y BL.- Se utiliza en transferencias de datos
entre la memoria y el procesador.
CX: Registro
contador, dividido en CH y CL.- Se utiliza como contador en bucles (LOOP), en
operaciones con cadenas(REP), y en desplazamientos(CL).
DX:
Registro de datos, dividido en DH y DL.- Se utiliza en operaciones de
multiplicación y división junto con Ax y en operaciones de entrada y salida de
puertos, su mitad inferior DL contiene el número de puertos.
Registros de Estado
Hay
nueve indicadores de un bit en este registro de 16 bits. Los cuatro bits más
significativos están indefinidos, mientras que hay tres bits con valores
determinados: los bits 5 y 3 siempre valen cero y el bit 1 siempre vale uno.
CF
(Carry Flag, bit 0): Si vale 1, indica que hubo "acarreo" (en caso de
suma) o "préstamo" (en caso de resta). Este indicador es usado por
instrucciones que suman o restan números que ocupan varios bytes. Las
instrucciones de rotación pueden aislar un bit de la memoria o de un registro
poniéndolo en el CF.
PF
(Parity Flag, bit 2): Si vale uno, el resultado tiene paridad par, es decir, un
número par de bits a 1. Este indicador se puede utilizar para detectar errores
en transmisiones.
AF
(Auxiliary carry Flag, bit 4): Si vale 1, indica que hubo "acarreo" o
"préstamo" del nibble (cuatro bits) menos significativo al nibble más
significativo. Este indicador se usa con las instrucciones de ajuste decimal.
ZF
(Zero Flag, bit 6): Si este indicador vale 1, el resultado de la operación es
cero.
SF
(Sign Flag, bit 7): Refleja el bit más significativo del resultado. Como los
números negativos se representan en la notación de complemento a dos, este bit
representa el signo: 0 si es positivo, 1 si es negativo.
TF
(Trap Flag, bit 8): Si vale 1, el procesador está en modo paso a paso. En este
modo, la CPU automáticamente genera una interrupción interna después de cada
instrucción, permitiendo inspeccionar los resultados del programa a medida que
se ejecuta instrucción por instrucción.
IF
(Interrupt Flag, bit 9): Si vale 1, la CPU reconoce pedidos de interrupción
externas. Si vale 0, no se reconocen tales interrupciones
DF
(Direction Flag, bit 10): Si vale 1, las instrucciones con cadenas sufrirán
"auto-decremento", esto es, se procesarán las cadenas desde las
direcciones más altas de memoria hacia las más bajas. Si vale 0, habrá
"auto-incremento", lo que quiere decir que las cadenas se procesarán
de "izquierda a derecha".
OF
(Overflow flag, bit 11): Si vale 1, hubo un desborde en una operación
aritmética con signo, esto es, un dígito significativo se perdió debido a que
tamaño del resultado es mayor que el tamaño del destino.
Estructura
interna procesadores de 2, 4 y n núcleos
El
procesador es el motor o encargado de leer los datos del software e indicar al
resto de los componentes que deben hacer. Es como el cerebro de la máquina. Al
ser el dispositivo principal es el que en definitiva nos marca el rendimiento
de nuestra PC.
Procesador
de dos núcleos
El
procesamiento de doble núcleo significa que, mientras que un núcleo de
ejecución está ejecutando una aplicación o un subproceso, como por ejemplo el
escáner de virus, el segundo núcleo de ejecución seguirá disponible para
gestionar otras tareas, como permitir
que el usuario final navegue por Internet o trabaje en una hoja de cálculo.
Tal
vez la forma más fácil de imaginar la arquitectura de doble núcleo es pensando
en un sistema con dos procesadores en uno.
Puede
que esto suene como una multitarea tal y como lo conocemos hoy en día al fin y
al cabo, la mayoría de nosotros ejecutamos múltiples aplicaciones a la vez. No
obstante, existe diferencia en la forma en que el procesamiento de núcleo
sencillo y el de doble núcleo gestionan la multitarea. Con un procesador de
núcleo sencillo, el procesador gestiona múltiples tareas cambiando de un
subproceso o una aplicación a otra en serie, el tiempo dedicado a cambiar entre
diversas aplicaciones implica demoras, mientras que un procesador de doble
núcleo gestiona ambas al mismo tiempo, haciendo que este sea más rápido.
Algunas
de sus ventajas más importantes:
·
Mejora la velocidad y la eficacia de
ejecución al tiempo que proporciona más instrucciones por ciclo de reloj.
·
Una fluidez impresionante con varias
aplicaciones abiertas
Procesador
de cuatro núcleos
- · Hasta el doble de refuerzo en rendimiento frente la generación anterior de doble núcleo
- · Más del doble de mayor rendimiento por vatio frente a la generación anterior de doble núcleo
- · Ayuda a proteger los datos con redundancia avanzada y características de verificación de errores
- · Gran rendimiento con eficiencia energética.
- · Ejecuta aplicaciones con un rastro más pequeño.
Algunos ejemplos de procesadores que cuentan
con arquitectura de más de un núcleo:
Procesador Intel ® Core ™ Duo
Es
la primera micro arquitectura Intel ® móvil que utiliza CMP (multi-núcleo del
procesador, de múltiples núcleos, es decir en el dado) la tecnología de
rendimiento. Dirigidas al mercado de móviles de uso general de los sistemas, este
procesador fue diseñado para lograr alta, mientras que la energía de bajo
consumo y la instalación en diferentes sobres térmica.
Para
lograr el rendimiento requerido, a-basados en la micro arquitectura CMP se ha
diseñado para alcanzar la arquitectura eficiente de energía, cada mejora en el
rendimiento fue evaluado con el costo de energía, y sólo las características de
rendimiento eficiente de energía se hayan implantado.
Procesador Intel® Core™2 Extreme (de cuatro
núcleos)
· Hasta un 80 por ciento de rendimiento más
rápido para aplicaciones con muchos subprocesos múltiples.
Cuatro núcleos de procesamiento para
gestionar una capacidad de proceso masiva.
· Basado en la micro arquitectura Intel® Core™
líder de la industria y primera en incorporar 8 MB de caché total
Core i5

Más de 1 millón vendidos: Intel te ofrece los
primeros procesadores de cuatro núcleos del mundo para servidores generales y
equipos de sobremesa. Consigue un rendimiento vertiginoso en servidores y equipos
de sobremesa del líder de la industria en tecnología de varios núcleos.
Selecciona un producto con la tecnología Intel® de cuádruple núcleo para
disfrutar de un rendimiento sin precedentes en ordenadores de gama alta.
Core i7
A partir de 2010, el Core i7 es la gama alta
de la marca Core, [23] que se introdujo con el Bloomfield -núcleo del
procesador Quad a finales de 2008. En 2009, los nuevos Core i7 de modelos
basados en la Lynnfield de sobremesa de cuatro núcleos del procesador y la
Clarksfield cuádruple núcleo celular se han añadido, y los modelos basados en
la Arrandale núcleo con tecnología móvil-dual se han anunciado. Los seis
núcleos de procesador por primera vez en la línea de base es la Gulftown , que
fue lanzado el 16 de marzo de 2010. Tanto la regular Core i7 Extreme Edition y
la publicidad son como cinco estrellas en el procesador de Intel Evaluación.
Fuentes consultadas:
0 comentarios:
Publicar un comentario
Click to see the code!
To insert emoticon you must added at least one space before the code.