Download MEMORIA VIRTUAL

Document related concepts

Archivo proyectado en memoria wikipedia , lookup

Memoria virtual wikipedia , lookup

Tabla de asignación de archivos wikipedia , lookup

Tabla de paginación wikipedia , lookup

Translation Lookaside Buffer wikipedia , lookup

Transcript
La Memoria Virtual
La memoria virtual es una técnica para proporcionar la ilusión de un espacio de
memoria mucho mayor que la memoria física de una maquina. Esta "ilusión" permite
que los programas se hagan sin tener encuenta el tamaño exacto de la memoria fisica.
La ilusión e la memoria virtual está soportada por el mecanismo de
traducción de memoria, junto con una gran cantidad de almacenamiento rapido en disco
duro. En cualquier momento el espacio de direcciones virtual, está mapeado de tal
forma que una pequeña parte de él, está en memoria real y el resto almacenado en el
disco.
Debido a que solo la parte de memoria virtual que está almacenada en la memoria
principal, es accesible a la CPU, segun un programa va ejecutandose, la vecindad de
referencias a memoria cambia, necesitando que algunas partes de la memoria virtual se
traigan a la memoria principal desde el disco, mientras que otras ya ejecutadas, se
pueden volver a depositar en el disco (archivos de paginacion).
Por ejemplo, un programa de aplicación grande, podría mostrar un menú con muchas
funciones. Al seleccionar una funcion del menú, se ejecutarian varias rutinas especificas
de dicha funcion, pero no se referenciarian las rutinas de las funciones restantes. En un
sistema de memoria virtual, la ejecucion de la funcion seleccionada del menú, se
soportaría trayendo el codigo y los datos para esa funcion a la memoria principal (si no
estuviese ya allí). El resto podría o no sacarse del disco a memoria real. Mientras la
memoria fisica fuese lo bastante grande para contener el codigo y datos de cualquier
funcion elemental de nuestro menú, el tamaño total de la memoria fisica, podría ser
mucho menor que el tamaño total de nuestro programa.
El mecanismo de paginacion, tambien recoge estadisticas de utilizacion de las partes de
memoria virtual que estan residentes en memoria real o fisica. Estas estadisticas ayudan
al sistema operativo a decidir que se puede devolver a disco cuando el espacio de
memoria principal está muy "achuchado".
Que es acceso directo a memoria (DMA)
¿Qué es el modo DMA?
Mediante el driver adecuado, se pueden habilitar transferencias de disco duro a memoria
en modo DMA (Direct Memory Access - Acceso Directo a Memoria), que permite el
acceso del disco duro a memoria utilizando muy pocos recursos del procesador
principal, acelerando en general las prestaciones del equipo.
Windows en su instalación no activa el acceso directo a memoria (DMA) de las
unidades de disco IDE.
Esto se debe a que las unidades antiguas no soportaban este modo de funcionamiento y
el sistema operativo de Microsoft no es capaz de detectar qué modelos son los que los
soportan y cuáles no. Para evitar problemas de funcionamiento, por omisión la opción
DMA aparecerá desactivada.
Sin embargo, cualquier unidad de disco duro o lector de CD-ROM medianamente
moderno soporta el modo de acceso directo a memoria, que además aprovecha los
modos de acceso más rápidos de comunicación entre el ordenador y las unidades de
disco, tanto en un sentido como en otro.
El Ultra DMA (o, más exactamente, el Ultra DMA/33) es un protocolo para transferir
datos entre una unidad de disco duro a través de las rutas de datos (o bus) del ordenador
a la memoria de acceso aleatorio (RAM) del mismo ordenador. El protocolo Ultra
DMA/33 transfiere datos en modo de ráfagas a una tasa de 33.3 MBps (megabytes por
segundo), dos veces más rápido que la anterior interfaz de acceso directo de memoria
(Direct
Memory
Access,
DMA).
El Ultra DMA se desarrolló como un estándar propuesto a la industria por Quantum
Corporation, fabricantes de discos duros, e Intel, fabricantes de los chipsets que
soportan
la
tecnología
de
bus
del
ordenador.
El soporte Ultra DMA en nuestro ordenador significa que se inicializará (boot) y abrirá
nuevas aplicaciones más rápidamente. También ayudará a los usuarios de aplicaciones
con uso intensivo de gráficos y otras que requieren grandes cantidades de acceso a los
datos del disco duro. El Ultra DMA usa una verificación de ciclo de redundancia
(Cyclical Redundancy Checking, CRC), ofreciendo un nuevo nivel de protección de
datos.
Debido a que el protocolo Ultra DMA está diseñado para trabajar con protocolos
heredados PIO y DMA, se le puede agregar a muchos ordenadores existentes instalando
una placa adaptadora PCI de Ultra DMA/33. El Ultra DMA usa el mismo cable de
interfaz IDE de 40-pines como los PIO y DMA.
Memoria Cache
¿Qué es la memoria caché ?
Es un tipo de memoria donde se guardan datos que la PC necesita para trabajar. La
memoria principal de la PC (RAM) y la memoria caché son iguales en muchos
aspectos; la diferencia está en el uso que se le da a la caché.
Objetivos

Mantener el tiempo de acceso promedio a la memoria pequeño.

Reducir el ancho de banda entre memoria principal y procesador
Operación del cache
La dirección generada por el procesador es comparada con los datos que están
almacenados en la cache, si el dato está presente, el procesador lo lee desde la cache, si
el dato no está presente, se transfiere desde la memoria principal a la cache.
Diferencias entre Sistemas de 32-bits y 16-bits 64-bits
La continua evolución a sistemas operativos de 32-bits está alentando a los vendedores
de software a crear nuevas aplicaciones escritas en el modelo de programación para 32-
bits. El uso de software de 32-bits tiene implicaciones importantes para el procesador de
los PC's dado que el sistema usa el tiempo de proceso de forma diferente --y de forma
más eficaz-- cuando ejecuta aplicaciones de 32-bits.
• El software de 16-bits necesita más tiempo en gestionar todo el entorno (tal como la
gestión del segmento de memoria, por ejemplo). Esto proviene de los tiempos de
programación para el 286 y el DOS, donde solamente era posible un direccionamiento
de memoria de 64K al mismo tiempo.
Comparativamente, el software para 32-bits típicamente precisa menos gestión de
memoria, liberando al procesador para gastar más tiempo en actividades críticas, tales
como tratamiento de instrucciones ALU y coma flotante. El gráfico de más abajo
muestra el porcentaje del tiempo que el procesador ha gastado en diferentes
instrucciones para aplicaciones de 32-bits en Windows*95, así como para aplicaciones
de 16-bits en Windows 3.1.
Esto significa que todas las aplicaciones de 32-bits se ejecutan más rápidamente que
todas sus equivalentes de 16-bits, con lo que típicamente las aplicaciones de 32-bits
deberán de tener una significaLa versión inicial del procesador Intel Itanium,
anteriormente denominado Merced, es implementada principalmente como una
plataforma de desarrollo y de evaluación, así como por los primeros clientes en
adoptarla, los cuales están trabajando para superar las limitaciones de la memoria de 32
bits. Los clientes que utilizan únicamente aplicaciones de 32 bits y que no trabajan con
conjuntos de datos superiores a 2 GB, verán que los sistemas de 32 bits continuarán
siendo el mejor ambiente para estas aplicaciones.
Ambientes de usuarios
Windows XP Edición de 64 bits y la familia de procesadores Intel Itanium han sido
diseñados para atender hasta los más exigentes requerimientos corporativos del nuevo
ambiente de negocios basado en Internet. Entre las áreas que cubren, figuran el
comercio electrónico, data mining, procesamiento de transacciones en línea, gráficos
avanzados con grandes requerimientos de memoria, cálculos complejos y aplicaciones
multimedia de alto rendimiento. Entre los segmentos del mercado que se beneficiarán
de la tecnología de 64 bits de Windows, podemos citar:
tiva mejora sobre la versión para un entorno DOS de 16-bits.
Que es la FAT
FAT es el sistema de archivos más simple que admite Windows NT. El sistema de
archivos FAT se caracteriza por la tabla de asignación de archivos (FAT, File
Allocation Table), que es realmente una tabla que se halla al "principio" del volumen.
Para proteger el volumen, se conservan dos copias de la tabla FAT por si una se daña.
Además, las tablas FAT y el directorio raíz deben estar almacenados en una ubicación
fija para que se puedan encontrar correctamente los archivos de inicio del sistema.
Un disco con formato FAT se divide en clústeres, cuyo tamaño está determinado por el
tamaño del volumen. Cuando se crea un archivo, se crea una entrada en el directorio y
se establece el primer número de clúster que contiene datos. Esta entrada de la tabla
FAT indica que se trata del último clúster del archivo o señala al clúster siguiente.
La actualización de la tabla FAT es muy importante y es una operación prolongada. Si
la tabla FAT no se actualiza con regularidad, se puede producir pérdida de datos. Es una
operación prolongada porque los cabezales de lectura del disco se deben volver a
colocar en la pista cero lógica de la unidad cada vez que se actualiza la tabla FAT.
La estructura de directorios FAT no está organizada y a los archivos se les asigna la
primera ubicación libre de la unidad. Además, FAT sólo admite los atributos de archivo
de sólo lectura, oculto, de sistema y modificado.
Sistemas de archivos que utilizan, DOS, Linux,
Windows 9x/me/xp Novell Netware, SO de MAC
HPFS
Sistemas de archivos de alto rendimiento (HPFS) pertenece a los sistemas de archivos
instalables (IFS). Se encuentra principalmente en ordenadores OS/2, aunque
originalmente fue desarrollado por Microsoft. Los sistemas de archivos HPFS son
mucho más seguros, estables y rápidos que los sistemas FAT. HPFS accede a los datos
del disco duro a través de un búfer de alta velocidad (cache) y soporta varias particiones
activas al mismo tiempo. En los sistemas de archivos HPFS, los nombres de archivo
pueden tener hasta 254 caracteres de longitud.
FAT (Tabla de Asignación de Archivos):
El sistema FAT es utilizado por DOS, Windows 3.x y Windows 95
(en la mayoría de las instalaciones). El sistema de archivos FAT también puede
ser utilizado por Windows 98/Me/NT/2000/XP.
FAT32 (Tabla de Asignación de Archivos 32):
FAT32 es un sistema de archivos que se puede utilizar
con la versión 2 de mantenimiento del fabricante de equipos originales de Windows
95 (versión 4.00.950B), Windows 98/2000/XP. Sin embargo, DOS, Windows 3.x,
Windows
NT 3.51/4.0 y versiones anteriores de Windows 95 no pueden reconocer FAT32 y,
por lo tanto, no pueden arrancar desde discos o particiones FAT32 ni utilizar
archivos en los mismos.
NTFS (Sistema de Archivos de Nueva Tecnología):
El Sistema de archivos de nueva tecnología (NTFS) sólo
puede ser leído por Windows NT/2000/XP. NTFS no se recomienda para su uso en
discos de menos de 400 MB, ya que utiliza una gran cantidad de espacio para
las estructuras del sistema.
NetWare:
El sistema operativo NetWare de Novell utiliza un sistema
de archivos exclusivo (NetWare File System), desarrollado específicamente para
su uso en servidores NetWare.
EXT2 y Swap
Los sistemas de archivos Linux Ext2 y Linux Swap se desarrollaron
para el sistema operativo Linux (una versión de libre distribución o "freeware"
de UNIX). El sistema operativo Linux Ext2 admite un tamaño máximo de disco o
de partición de 4 terabytes. Para el archivo de intercambio de Linux se utiliza
Linux Swap.
FAT
HPFS
NTFS
Windows NT 4.0
Leer y escribir
No compatible
Leer y escribir
Windows NT 3.x
Leer y escribir
Leer y escribir
Leer y escribir
DOS/Windows 3.x
Leer y escribir
-
-
Windows 95
Leer y escribir
Leer con programas
Leer a través de
redes adicionales
OS/2
Leer y escribir
Leer y escribir
-
Linux
Leer y escribir
-
-
Boot o sector de Arranque
Sector de Boot es el primer sector absoluto (Track 0, head 0, sector 1) de una unidad de
disco, ya sea diskette o disco duro en una PC, y está compuesto por los primeros 512
bytes. En ellos se almacenan los archivos "ocultos" (hidden files) del sistema de Inicio
del Sistema Operativo, tanto en el MS-DOS como en Windows 95/98, Millenium, NT,
2000 XP.
Ejemplo de Sector de Arranque en Hexadecimal y ASCII
Me, incluyendo Windows NT/2000, primero debe cargar el sistema operativo MS-DOS,
identificado con caracteres ASCII que indican que el sistema se está iniciando e
inmediatamente después el VMM (Virtual Machine Manager) que es el corazón de
Windows, conjuntamente con los archivos del sistema, DDL, VxD, SYS y los Drivers
accederán a la zona privilegiada denominado ring "CERO"
El sistema operativo MS-DOS fue distribuido comercialmente hasta 1995 en su versión
6.22, aunque a pesar de los años transcurridos existen cientos de miles de aplicaciones
para este sistema.
Cuando un virus infecta el Sector de Boot, éste no podrá ser iniciado y el usuario deberá
reparar el sector dañado con algún utilitario.
PER ANTIVIRUS® cuenta con una opción para grabar la imágen del Sector de Boot en
un diskette y otra para restaurarlo en el disco duro o en los diskettes. También posee una
rutina reconstructora del Sector de Boot y el MBR, denominada PERDisk.
Sistemas Operativos más Recientes
BeOS
Por fin llega la que podría ser la alternativa a nuestros Windows: BeOS es un potente
sistema operativo centrado principalmente en el mundo de la multimedia e Internet
pensado sobre todo para que el uso de un ordenador sea tan simple como el de una
televisión o un teléfono.
Este sistema permite a los desarrolladores (y mediante las herramientas que se ofrecen
gratuítamente en su sitio web, desarrolladores lo podemos ser todos) la posibilidad de
crear entornos prácticamente personalizados para cada usuario, y de una sencillez de
manejo absolutamente increíble. Incluye opciones tan interesantes como la eliminación
de tiempos de espera en redes o conexiones a Internet, TCP/IP nativo e integrado en el
propio sistema, arquitectura modular y soporte para procesadores Intel y PowerPC entre
otras muchas opciones.
College Linux
No tienes excusa para no tener linux instalado, porque ahora es mucho más fácil.
La universidad de Roberto Kennedy, Delémont, Suisse está haciendo CollegeLinux
disponible a los estudiantes de RKC y no de RKC (por supuesto también a todos los
"estudiantes" de Linux!). CollegeLinux es un nuevo e independiente sistema operativo
basado en Slackware. La finalidad de esta distribución experimental de Linux es
proporcionar a los estudiantes de RKC y a la población estudiantil un sistema operativo
que sea fácil de instalar y de utilizar y que proporcione un alternativa a los sistemas
operativos comerciales tradicionales;)
FreeBSD
FreeBSD es un avanzado sistema operativo para arquitecturas x86, AMD64, DEC
Alpha, IA-64, PC-98 UltraSPARC®. FreeBSD es un derivado de BSD UNIX, la
versión de UNIX® desarrollada en la Universidad de California, Berkeley.
FreeBSD ofrece altas prestaciones en comunicaciones de red, rendimiento, seguridad y
compatibilidad, todavía inexistentes en otros sistemas operativos, incluyendo los
comerciales de mayor renombre.Es el servidor ideal para servicios de Internet o
Intranet. Proporciona unos servicios de red robustos, incluso en situaciones de alta
carga, haciendo un uso eficaz de la memoria para mantener buenos tiempos de repuesta
con cientos o miles de procesos simultáneos de usuarios. Fácil de instalar es libre y
gratuito
Knoppix
Un nuevo linux
Esta distribución de Linux funciona enteramente de un CD bootable. Los datos sobre el
CD están sin comprimir, permitiendo que quepan 2 GB de valor del sistema y los
programas sobre un CD, incluyendo un servidor completo de X, KDE, y los paquetes
grandes como OpenOffice y el gimp. Puesto que funciona solamente del CD, Knoppix
hace un disco portable excelente del rescate de la versión parcial de programa o del
sistema de Linux, pero el completo le hace una buena distribución de fines generales
también.
QNX
¿Que os parecería un increíble sistema operativo, con multitud de prestaciones, entorno
gráfico, multitarea total y absoluta, que no tuviese que crear nuevas particiones y que,
incluso, se pudiese hacer funcionar desde un simple disquette? Si, eso existe y se llama
QNX
Este sistema operativo ofrece, entre otras cosas, las siguientes: sistema operativo con
multitarea en tiempo real; entorno gráfico (GUI) amigable; navegador de Internet
incorporado; servidor de archivos; marcador de teléfono; TCP/IP para su conexión
inmediata a Internet; aplicaciones de ejemplo compatibles con X-WINDOWS de Linux;
y mucho más.
Lindows 4.0
Polémico desde su misma concepción, el sistema operativo LindowsOS primero se
destacó por querer dibujar en la mente de los usuarios una delgada línea entre Linux y
Windows, creando el mercado donde ubicarse comercialmente. Hoy aspira a ser un OS
por propia ley y con sus propias reglas. Veámos qué tan lejos llega LindowsOS 4.0 en
ese objetivo.
La Paginación de Memoria
La paginación pura en el manejo de memoria consiste en que el sistema operativo divide
dinámicamente los programas en unidades de tamaño fijo ( generalmente múltiplos de 1
kilobyte) los cuales va a manipular de RAM a disco y viceversa. Al proceso de
intercambiar páginas, segmentos o programas completos entre RAM y disco se le
conoce como `intercambio' o `swapping'. En la paginación, se debe cuidar el tamaño de
las páginas, ya que si éstas son muy pequeñas el control por parte del sistema operativo
para saber cuáles están en RAM y cuales en disco, sus direcciones reales, etc; crece y
provoca mucha `sobrecarga' (overhead). Por otro lado, si las páginas son muy grandes,
el overhead disminuye pero entonces puede ocurrir que se desperdicie memoria en
procesos pequeños. Debe haber un equilibrio.
Uno de los aspectos más importantes de la paginación, así como de cualquier esquema
de memoria virtual, es la forma de traducir una dirección virtual a dirección real.
Como se observa, una dirección virtual `v'= ( b, d) está formada por un número de
página virtual `b' y un desplazamiento `d'. Por ejemplo, si el sistema ofrece un espacio
de direcciones virtuales de 64 kilobytes, con páginas de 4 kilobytes y la RAM sólo es de
32 kilobytes, entonces tenemos 16 páginas virtuales y 8 reales. La tabla de direcciones
virtuales contiene 16 entradas, una por cada página virtual. En cada entrada, o registro
de la tabla de direcciones virtuales se almacenan varios datos: si la página está en disco
o en memoria, quién es el dueño de la página, si la página ha sido modificada o es de
lectura nada más, etc. Pero el dato que nos interesa ahora es el número de página real
que le corresponde a la página virtual. Obviamente, de las 16virtuales, sólo ocho
tendrán un valor de control que dice que la página está cargada en RAM, así como la
dirección real de la página, denotada en la figura 4.3 como b' Por ejemplo, supóngase
que para la página virtual número 14 la tabla dice que, efectivamente está cargada y es
la página real 2( dirección de memoria 8192 ).Una vez encontrada la página real, se le
suma el desplazamiento, que es la dirección que deseamos dentro de la página buscada (
b' + d ).
La tabla de direcciones virtuales a veces está ubicada en la misma memoria RAM, por
lo cual se necesita saber en qué dirección comienza, en este caso, existe un registro con
la dirección base denotada por la letra `a' en la figura anterior.
Cuando se está buscando una página cualquiera y ésta no está cargada, surge lo que se
llama un `fallo de página' (page fault ). Esto es caro para el manejador de memoria, ya
que tiene que realizar una serie de pasos extra para poder resolverla dirección deseada y
darle su contenido a quien lo pide. Primero, se detecta que la página no está presente y
entonces se busca en la tabla la dirección de esta página en disco. Una vez localizada en
disco se intenta cargar en alguna página libre de RAM. Si no hay páginas libres se tiene
que escoger alguna para enviarla hacia el disco. Una vez escogida y enviada a disco, se
marca su valor de control en la tabla de direcciones virtuales para indicar que ya no está
en RAM, mientras que la página deseada se carga en RAM y se marca su valor para
indicar que ahora ya está en RAM. Todo este procedimiento es caro, ya que se sabe que
los accesos a disco duro son del orden de decenas de veces más lentos que en RAM. En
el ejemplo anterior se mencionó que cuando se necesita descargar una página de RAM
hacia disco se debe de hacer una elección. Para realizar esta elección existen varios
algoritmos, los cuales se describen enseguida.
Se escoge la página que haya entrado primero y esté
cargada en RAM. Se necesita que en los valores de
La primera en entrar, control se guarde un dato de tiempo. No es eficiente
primera en salir
porque no aprovecha ninguna característica de ningún
sistema. Es justa e imparcial.
Se escoge la página que no haya sido usada (referenciada)
en el ciclo anterior. Pretende aprovechar el hecho de la
localidad en el conjunto de trabajo. R La usada menos
recientemente: Es parecida a la anterior, pero escoge la
La no usada
página que se usó hace más tiempo, pretendiendo que
recientemente
como ya tiene mucho sin usarse es muy probable que siga
sin usarse en los próximos ciclos. Necesita de una
búsqueda exhaustiva.
Este algoritmo toma en cuenta no tanto el tiempo, sino el
La no usada
número de referencias. En este caso cualquier página que
frecuentemente
se use muy poco, menos veces que alguna otra.
Es parecida a la anterior, pero aquí se busca en forma
exhaustiva aquella página que se ha usado menos que
La menos
todas las demás. R En forma aleatoria: Elige cualquier
frecuentemente usada
página sin aprovechar nada. Es justa e imparcial, pero
ineficiente.
Otro dato interesante de la paginación es que ya no se requiere que los programas estén
ubicados en zonas de memoria adyacente, ya que las páginas pueden estar ubicadas en
cualquier lugar de la memoria RAM. Tomando en consideración que la paginación
trabaja con memoria virtual, entonces recordaremos que en la memoria virtual se
encuentran las direcciones virtuales, las cuales se generan por índices, registros,
palabras o bytes. Estas direcciones virtuales no pasan de forma directa al bus de
memoria, sino que van a la unidad de administración de memoria (MMU), y por medio
de un chip se asocian las virtuales con las reales.
La paginación surge de la necesidad de crear espacios de memoria contiguos, pues
debido a que la fragmentación genera espacios dispersos de almacenamiento, no se
pueden ejecutar los procesos. Claro esta que esto se soluciona mediante la paginación y
la compactación. La paginación permite que la memoria de un proceso o sea
contigua(almacenamiento secundario), pero al ser asignado al almacenamiento primario
necesariamente seria contigua. El usuario ya no se preocupa al tener espacio disponible
en el almacenamiento secundario, pues así se lograran ejecutar los procesos. La
paginación es un método común en los sistemas operativos.
La memoria física se divide en bloques de tamaño fijo llamados MARCOS. La memoria
lógica se divide en bloques del mismo tamaño PAGINAS. Cuando un proceso se va ha
ejecutar, sus paginas se cargan desde el almacenamiento auxiliar(secundario) en
cualquiera de los marcos disponibles. Por lo tanto al crear al crear la
paginación(páginas) se crean también los marcos de las páginas resultantes del número
de páginas que ocurran.
Viendo entonces que la paginación se da en el
almacenamiento secundario(disco, dispositivos), estamos haciendo uso del hardware
por lo que el hardware representa el apoyo para la paginación. La UCP se divide en dos
partes:
DirecciónVirtual
Nº Pag
Desplazamiento
Nº Pag Desplazamiento
Registro
Puntero a tabla
de páginas
Desplazamiento
+
Marcode
Página
Nº Marco
Programa
Mecanismo depaginación
Memoria
principal
Traducción de direcciones en un sistema de
paginación
Diferencia entre Cache L1 y Cache L2
Cache L1:
Una de las muchas técnicas que Intel recurrió para mantener la performance del Prescott
competitiva con el Northwood es ampliar el Cache L1 de datos de 8k a 16k de esta
manera poder mantener más instrucciones residentes en el cache del CPU y poder
levantar el nivel de trabajo de toda la estructura, recuerden que el Prescott necesita más
que nunca todas las optimizaciones posibles para mantener con información la mayor
parte del tiempo a sus pipelines si es que quiere obtener una performance aceptable, sin
embargo, el incremento del Cache de Datos a 16k también aumentó la asociatividad a 8
y le trae al prescott una latencia ligeramente más alta que el NW.
Cache L2:
El caché L2 del Prescott se incrementó de 512k a 1024k, por desgracia, el aumento
viene con un desagradable extra, posee una mayor latencia que en su hermano menor,
en este caso, la latencia es considerablemente mayor que en el caso del L1 lo cual no es
muy bueno que digamos.
Otras mejoras que el procesador posee se refieren al Scheduler y a las unidades de
ejecución, si bien las mismas permanecen idénticas, se agregaron funciones extras que
le permiten al procesador tener un mejor control sobre ciertas funciones aritméticas
como Rotar y Multiplicar Números Enteros.
A pesar de que todas estas mejoras parezcan darle al procesador más performance, no
se dejen engañar, estas mejoras tan solo sirven para "alivianar" el peso de tener que
cargar con una etapa de Pipeline mucho más larga y por ende sirven exclusivamente
para mantener un nivel de performance similar al Northwood.