lunes, 13 de junio de 2016

Investigar 5 modelos de procesador mononucleos y multinúcleos

MICROPROCESADOR MULTI NÚCLEO. 

Es aquel que combina dos o más procesadores independientes en un solo paquete, a menudo un solo circuito integrado. Un dispositivo de doble núcleo contiene solamente dos microprocesadores independientes. En general, los microprocesadores multinúcleo permiten que un dispositivo computacional exhiba una cierta forma del paralelismo a nivel de thread (thread-level parallelism) (TLP) sin incluir múltiples microprocesadores en paquetes físicos separados. Esta forma de TLP se conoce a menudo como multiprocesamiento a nivel de chip (chip-level multiprocessing) o CMP.


Procesadores Multinúcleo de Intel

Actualmente Intel esta fabricando procesadores de doble núcleo. Comenzó fabricando los Pentium D en el 2005, luego en el 2006 lanzó los Core Duo y el Core 2 Duo.

Pentium D

Los Pentium D están conformados por dos procesadores Pentium 4 Prescott sin Hyperthreading. Luego Intel sacó el Pentium Extreme Edition (No confundir con el Pentium 4 Extreme Edition) que era un procesador que tenía los procesadores P4 Prescott, con la tecnología Hyperthreading, lo que hacia que el software viera cuatro procesadores.
Las características de los Pentium D son:
  • Proceso de fabricación de 90nm
  • Tienen la tecnología EM64T, que permite trabajar con 64 bits de forma nativa
  • Utilizan núcleos SmithField (basados en los Prescott), cada uno de ellos tiene una memoria caché L2 de 1MB
  • Van desde 2.80GHz, del modelo menos potente, hasta 3.20GHz para el modelo más potente.

El procesador que contiene dos núcleos Prescott se llama Smithfield. Los nuevos procesadores de doble núcleo Pentium D se llaman Presler, están construidos con tecnología de fabricación de 65nm y van desde 2.8 hasta 3.73Ghz. Tienen una caché L2 por cada núcleo de 2MB (4MB en total).

Core Duo

Los procesadores Core Duo es una versión para los portátiles, implementa 2MB de caché de memoria compartida para ambos núcleos. Están hechos con la tecnología de 65nm. Su velocidad va desde 1.20 hasta 2.33Ghz. El FSB (bus del sistema) va desde 533Mhz del modelo menos potente hasta 667Mhz para los demás. El gasto de energía va desde 9.0w hasta 31w. Por los datos se ve que tienen una gran relación rendimiento/energía.

Core 2 Duo

Esta nueva familia de procesadores de Intel esta basado en la microarquitectura Core, que reemplaza a la antigua microarquitectura Netburst que fue aplicada en los demás procesadores y que ya estaba llegando a sus límites.
La arquitectura Core proviene de la arquitectura que produjo al Pentium M (utilizado por los Intel Centrino), que destaca por el gran rendimiento que obtiene de la poca energía que gasta. El Pentium M además proviene del Pentium III, y este del Pentium Pro (Los Pentium 4 son una rama genealógica aparte).

Procesador CELL

El procesador Cell, es un procesador multi-núcleo diseñado por las empresas IBM, Sony y Toshiba desde el marzo del 2001. Este procesador va a ser usado inicialmente por la PlayStation 3, pero se tiene previsto usarlo también en los productos electrónicos que fabrican estas empresas, que van desde televisores de alta definición hasta ordenadores.

Los componentes del procesador son:

  • 1 Power Processor Element (PPE).
  • 8 Synergistic Processor Elements (SPEs).
  • Bus de Interconexión de los Elementos (EIB).
  • Controlador de Acceso Directo a Memoria (DMAC).
  • 2 Controladores de Memoria Rambus XDR.
  • Una interfaz Rambus FlexIO (Input / Output).




El PPE 

Es el núcleo principal, este se encarga de coordinar el trabajo de todos los demás núcleos (SPEs), mediante la tecnología SMT (Simoultaneous Multi-Threading). El PPC toma el control del sistema operativo y deja a los SPEs el trabajo de los demás procesos.

EL PPE esta basado en la arquitectura PowerPC de 64 bits, tiene 32 KB de caché L1 y 512 KB de caché L2, tiene también tecnología de doble hilo y puede ejecutar dos instrucciones por hilo. Este procesador esta hecho como los RISC clásicos, o sea no es como los PowerPC tradicionales, por eso no tiene implementado la predicción de saltos, y la ejecución de instrucciones es en orden; lo que ahorra una cantidad considerable de transistores, pasando todo ese trabajo al compilador.

Mononúcleo 

Un procesador de doble núcleo es una CPU (Central Processor Unit) con dos núcleos diferentes en una sola base, cada uno con su propio caché. Con ella se consigue mejorar el rendimiento del sistema eliminando los cuellos de botella que se podrí­an llegar a producir en las arquitecturas tradicionales.

Núcleo simple

Este tipo de procesador más básico presenta una unidad de control y una unidad lógica aritmética (ALU). La unidad de control realiza operaciones y ejecuta instrucciones mientras que el ALU realiza los cálculos matemáticos. Un procesador de un solo núcleo también contiene caché, que es una pequeña cantidad de memoria rápida incorporada en el procesador. El caché no se considera parte del núcleo de procesamiento. Un procesador de un núcleo puede realizar operaciones rápidamente, pero solo puede realizar una operación a la vez.

El Pentium II 

Es un microprocesador con arquitectura x86 diseñado por Intel, introducido en el mercado el 7 de mayo de 1997. Está basado en una versión modificada del núcleo P6, usado por primera vez en el Intel Pentium Pro.

Los cambios fundamentales respecto a éste último fueron mejorar el rendimiento en la ejecución de código de 16 bits, añadir el conjunto de instrucciones MMX y eliminar la memoria caché de segundo nivel del núcleo del procesador, colocándola en una tarjeta de circuito impreso junto a éste.

Pentium III:

Pentium(r) III ProcessorDebido a que las diferencias con el actual Pentium II son escasas, vamos a centrarnos en comparar ambos modelos.

Se le han añadido las llamadas S.S.E. o Streaming SIMD Extensions, que son 70 nuevas instrucciones orientadas hacia tareas multimedia, especialmente en 3D. Estas extensiones son el equivalente a las 3D Now que lleva implementando AMD desde hace tiempo en el K6-2, K6-III y Athlon y que también han incorporado otros fabricantes como IDT en sus Winchip2 y 3.
 Por supuesto, dicho juego de instrucciones a pesar de realizar operaciones similares en ambos procesadores son totalmente incompatibles entre sí.


Intel Pentium 4

El Pentium 4 es un microprocesador de séptima generación basado en la arquitectura x86 y fabricado por Intel. Es el primer microprocesador con un diseño completamente nuevo desde el Pentium Pro de 1995. El Pentium 4 original, denominado Willamette, trabajaba a 1,4 y 1,5GHz; y fue lanzado el 20 de noviembre de 2000. El 8 de agosto de 2008 se realiza el último envío de Pentium 4, siendo sustituido por los Intel Core Duo.

Celeron 

Es el nombre que lleva la línea de microprocesadores de bajo costo de Intel. El objetivo era poder, mediante esta segunda marca, penetrar en los mercados cerrados a los Pentium, de mayor rendimiento y precio.

El primer Celeron fue lanzado en agosto de 1998, y estaba basado en el Intel Pentium II. Posteriormente, salieron nuevos modelos basados en las tecnologías Intel Pentium III, Intel Pentium 4 e Intel Core 2 Duo. El más reciente está basado en el Core 2 Duo (Allendale) también conocido como intel celeron d (dual core)

En el momento en el que se introdujo el Celeron, preocupaba a Intel la ya mencionada pérdida de cuota de mercado en los sectores de bajo poder adquisitivo (low-end).

El Intel Pentium M o Intel Pentium Inside (m) 

Es un microprocesador con arquitectura x86 (i686) diseñado y fabricado por Intel. El procesador fue originalmente diseñado para su uso en computadoras portátiles. Su nombre en clave antes de su introducción era "Banias". Todos los nombres clave del Pentium M son lugares de Israel, la ubicación del equipo de diseño del Pentium M.


Referencias:

MODELOS DE ARQUITECTURA DE COMPUTADORAS-MAPA CONCEPTUAL

CONCEPTOS

Arquitectura de computadora


                                             La arquitectura de computadoras

 Es a especificación de instrucciones y las unidades de hardware que implementa esas instrucciones para su funcionamiento.


Modelo de Von Neuman

El modelo de Von Neuman se dividen ensubsistemas: control de datos entrada y salida,memoria,ALU, unidad de control.
  
Memoria

Es el área del almacenamiento donde los programas y datos se almacenan durante el proceso.

ALU

Es donde el cálculo aritmético y las operaciones lógicas se realizan.


Unidad de control

Determina las operaciones que realizan la memoria la ALU y gestiona el subsistema de entrada y salida de datos.   

Control de datos de entrada y salida

Puede aceptar datos tanto como exterior e interior, del exterior como cualquier dispositivo y en el interior a través de un almacenamiento secundario. 

martes, 17 de mayo de 2016

Código para lenguaje ensamblador mostrar su nombre en la pantalla

Ejemplo : Mostrar su nombre en pantalla mediante el acceso a la memoria del video en modo texto

org 100h

;escribir su nombre en pantalla accediendo a la memoria del video

jmp inicio

nombre db "Jorge Arce";Guardo en una variable mi nombre

inicio: ;etiqueta para saltos de memoria



mov dx,0b800h ;guardo la direccion del video en dx

mov es,dx ;direcciono el video al segmento extra

mov cx,10 ;guardo en cx la cantidad de caracteres de la variable nombre

mov si,0 ;inicializo la posicion del primer caracter

mov di,offset nombre ;direcciono en "di" la direccion inicial de nombre

bucle: ;etiqueta para el bucle o ciclo repetitivo

mov al,[di] ;direcciono en "al" el siguiente caracter de nombre

es:mov byte ptr[si],al ;muestro en pantalla el caracter en posicion "si"

add si,2 ;desplazo la posicion de puntero para seguir escribiendo

inc di ;incremento en 1 a "di" y paso al siguiente caracter

loop bucle ;regresa a bucle y resta cx en 1 hasta que cx sea igual a 0

int 20h ;invoco interrupcion para termina el programa

ret

miércoles, 11 de mayo de 2016

Sintaxis instrucciones ensamblador

El nombre de la instrucción está formada por 2 o 3 letras, los operandos pueden ser registros, constantes o direcciones de memoria. La cantidad de operandos dependerá de la instrucción.
Por ejemplo:
MOV AL, [1000]
Esta instrucción indica que se copie el valor de la porción de la memoria que esté en la ubicación 1000 (En hexadecimal) a la parte baja del registro AX (AL). Cuando un operando es un valor de una dirección de memoria, ésta dirección se escribe entre corchetes, recordar que el operando 1 es el destino y el operando 2 es el origen. Y cuando es una constante dependerá del ensamblador, en el caso del debug (Un programa que sirve para crear y editar aplicaciones que viene con el DOS) se interpretarán como hexadecimales, en los siguientes ejemplos se interpretará que las constantes son números hexadecimales.
También se puede tomar un valor de la memoria apuntado por un registro, por ejemplo:
MOV AL, [DI]
DI está apuntado al valor que está en la memoria que será copiado al registro AL. El nombre MOV viene de la palabra move, que es una palabra del ingles que significa mover. Justamente la instrucción mencionada significa, mover el valor apuntado por DI a AL.
También se puede copiar el valor de un registro a otro
MOV AL, BL
En este caso se copia el valor de BL a AL
Igualmente se puede copiar el valor de la parte baja de un registro a la parte alta de otro registro
MOV CH, DL
Así como también operar con las partes altas
MOV AH, DH
Inclusive se puede copiar el valor de un registro a una dirección de memoria
MOV [1000], AL
Igualmente apuntada la dirección de memoria a DI
MOV [DI], AL
Y también con los registros completos (Solamente completos en el procesador 8086)
MOV AX, DX
También trabajar con los registros completos para todos los procesadores de 32 bits
MOV EBX, EDX
En éste caso mueve la totalidad del registro DX a la totalidad del registro BX, en éste caso se está trabajando con los registros en forma extendida (32 bits), pero hay que tener precaución ya que el procesador 8086 no interpretará correctamente ésta instrucción (El procesador 8086 es obsoleto por ésta desventaja y otras más, por ejemplo sólo puede direccionar 1 MB), además el debug no puede interpretar ésta instrucción.
No se puede realizar lo siguiente porque no se pueden pasar valores en la memoria sin la intervención 
MOV [1000], [2000]
Igualmente no se puede hacer lo siguiente
MOV [DI], [1000]
Así como también lo siguiente
MOV [DI], [SI]
Sin embargo lo siguiente es correcto
MOV [1000], AX
Pero no lo siguiente porque no se está especificando el tamaño
MOV [SI], 1F
Lo correcto sería lo siguiente
Si se quiere transferir un byte
MOV byte [SI], 1F
Si se quiere transferir una palabra (16 bits)
MOV word [SI], 1F
Si se quiere transferir una doble palabra (32 bits)
MOV dword [SI], 1F