Breaking News
Loading...
miércoles, 2 de abril de 2014

Info Post

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
Core i5 como Core i7, se basa en el Nehalem micro arquitectura. Los primeros Core i5 se introdujo el 8 de septiembre de 2009 y es una variante de la corriente principal de los Core i7, de cuatro núcleos procesadores de escritorio sólo se basa inicialmente en Lynnfield , con núcleo móvil (dual- Arrandale y procesadores de escritorio) ( Clarkdale ) en el 2010.

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

:) :)) ;(( :-) =)) ;( ;-( :d :-d @-) :p :o :>) (o) [-( :-? (p) :-s (m) 8-) :-t :-b b-( :-# =p~ $-) (b) (f) x-) (k) (h) (c) cheer
Click to see the code!
To insert emoticon you must added at least one space before the code.