Arquitectura 32 - 64 R&E

Universidad Nacional Autónoma de Nicaragua, Managua Recinto universitario “Rubén Darío” Facultad de Ciencias e Ingenierí

Views 111 Downloads 1 File size 575KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Universidad Nacional Autónoma de Nicaragua, Managua Recinto universitario “Rubén Darío” Facultad de Ciencias e Ingenierías Departamento de computación

Trabajo de: Mantenimiento y reparación

Carrera:

Ingeniería en sistemas de información

Profesor: Walter Pastran

Integrantes:  Martha Elizabeth Arguello Herrera.  René Antonio Ruiz Ruiz. Managua, abril 29 de 2014

INTRODUCCION ................................................................................................................................... 2 DESARROLLO ....................................................................................................................................... 2 Arquitectura x86 (32 bit) ..................................................................................................................... 2 Surgimiento ......................................................................................................................................... 2 Características ..................................................................................................................................... 3 Modos de funcionamiento .................................................................................................................. 4 Los Registros de la CPU ....................................................................................................................... 4 Registros de Segmento........................................................................................................................ 5 Registros Apuntadores o Registros de Pila ......................................................................................... 6 Registros Apuntadores o Registros de Pila ......................................................................................... 6 Registros Índice ................................................................................................................................... 7 Registro de Instrucción........................................................................................................................ 7 Registro Bandera ................................................................................................................................. 7 Arquitectura x64 (64 bit) ..................................................................................................................... 7 Algunas Modificaciones en los microprocesadores ............................................................................ 8 Nuevos Registros ................................................................................................................................. 8 Espacio de direcciones mayor ............................................................................................................. 8 Instrucción de acceso a datos relativa al puntero .............................................................................. 8 Llamadas al sistema más rápidas ........................................................................................................ 8 Bit NX ................................................................................................................................................... 8 Modo de funcionamiento ................................................................................................................... 8 Modo largo .......................................................................................................................................... 8 Modo de herencia ............................................................................................................................... 9 Virtudes de la arquitectura x64 ........................................................................................................... 9 ¿Qué hace todavía importante a la arquitectura x86? ....................................................................... 9 Tendencias Futuras de los Microprocesadores................................................................................. 10 Los sistemas multimedia ................................................................................................................... 10 Conectividad...................................................................................................................................... 10 Orientación al documento ................................................................................................................ 10 Fabricantes de Microprocesadores ................................................................................................... 10 Microprocesador con arquitectura x86 ............................................................................................ 12 Microprocesador con arquitectura x64 ............................................................................................ 12 CONCLUSIONES ................................................................................................................................. 12

1

INTRODUCCION ¿Cuál es la diferencia entre las versiones de 32 y 64 bits de Windows? Los términos 32 bits y 64 bits hacen referencia al modo en que el procesador (al que también se denomina CPU) de un equipo administra la información. La versión de 64 bits de Windows administra grandes cantidades de memoria de acceso aleatorio (RAM) de forma más eficiente que un sistema de 32 bits. Esta arquitectura se caracteriza porque los microprocesadores poseen una gran variedad con respecto al número de bits del bus de datos, esto varía dependiendo del modelo. X86 es la familia de procesadores descendientes del 80386 de INTEL y se denominan así porque mantienen el mismo set de instrucciones desde el 8086 al que fueron agregando nuevas funciones. Cabe destacar que la arquitectura x86 hace referencia a los microprocesadores de 32,16 y 8 bits. Con el pasar del tiempo fueron apareciendo aplicaciones que demandaban muchos recursos del procesador y para las cuales la arquitectura x86 de 32 bits fue insuficiente. Es aquí donde aparece la arquitectura x64 que en verdad es la x86-64, como era de esperarse este arquitectura mostraba muchas ventajas sobre la x86 pero la más importante fue su direccionamiento de 64 bits.

DESARROLLO ¿Qué significa que el microprocesador sea de 16, 32 o 64 bits? Estos términos (16,32 o 64 bits) hacen referencia al modo en que el procesador de un equipo administra la información. Más concretamente representan la capacidad de procesamiento de datos entre la memoria RAM y el procesador.

Arquitectura x86 (32 bit) Surgimiento Antes de entrar en lleno a la arquitectura x86 vamos a conocer de manera breve sus raíces, es decir los principios bajo los cuales se fundó. El primer indicio para la creación de esta arquitectura surge en abril de 1972 año en el que es lanzado al mercado el microprocesador en un solo chip (lo cual era una eventualidad en esa época) el Intel 8008, diseñado por la compañía Intel, este microprocesador tenía un bus compartido de datos y direcciones de 8bits. Dos años después, específicamente en 1974 surgió el microprocesador 8080, este microprocesador no fue desarrollado solamente por Intel sino que también hubieron otros fabricantes como: AMD, MITSUBISHI, NATSEMI, NEC, SIEMENS y TEXAS

2

INSTRUMENTS. El 8080 brindaba ciertas ventajas sobre el 8008 las más importantes fueron las siguientes: 1. Empaquetado de 40 pines. 2. Un bus de dirección de 16 bits y un bus de datos de 8 bits. 3. Trabaja a una frecuencia de reloj superior que el 8008. En el año 1977, Intel lanzo al mercado el microprocesador 8085, que como era de esperarse fue superior al 8080, por muchas razones, las principales fueron: 1. Requería solamente una alimentación de 5V. 2. Ahorra terminales ya que el bus de datos y el de direcciones esta multiplexado. 3. Los registros son programables. Posteriormente en 1978, Intel comenzó a comercializar el procesador 8086, un ambicioso chip de 16 bits potencialmente capaz de ser el corazón de computadoras de propósito múltiple. El 8086 se comercializó en versiones desde 4,77 y hasta 10MHz. IBM adoptó al hermano mayor del 8086 (el 8088, un procesador con un bus de datos interno de 16 bits, pero con el bus externo de 8 bits, lo que permitía aprovechar diseños y circuitos para sistemas de 8 bits) para basarse en él y lanzar la línea de computadoras más exitosa de la historia: el IBMPC (1981) y el IBMXT (eXtended Technology) (1983). Al 8086 lo sucedió el 80286 en 1982. Este chip, de 24/16 bits, implementó el modo protegido de ejecución, sentando las bases para la aparición de los verdaderos sistemas multitarea de escritorio. El 80286 apareció a 6MHz, y a lo largo de los años llegó hasta los 12MHz. En 1985surge el 80386 el cual fue el primer microprocesador de Intel de 32 bits, este microprocesador fue mucho más fácil de utilizarlo en aplicaciones multitarea. Con el pasar de los años se desarrollaron otros microprocesadores con características de funcionamiento superiores a las del 80386 como: el 80486 (1989), Pentium I (1993), Pentium II (1997), Pentium III (1999), y Pentium 4 (2000) todos estos de 32 bits.

Características La característica más elemental de la familia x86 es que está diseñada bajo la arquitectura Von Neumann, ha como sabemos en este tipo de arquitectura se utiliza el mismo dispositivo de almacenamiento para las instrucciones y para los datos a como se muestra en la figura:

3

Otras características básicas e importantes son: 1. La arquitectura x86 es de longitud de instrucción variable, de tipo registro memoria y diseño CISC. 2. El espacio de direcciones lineal es de 4GB, aunque la memoria física puede llegar hasta los 64GB en algunos modelos, con acceso desalineado y almacenamiento little-endian. 3. Un programa normal dispone de 8 registros de propósito general de 32 bits, 6 registros de segmento de 16 bits, un registro de estado EFLAGS y un puntero de instrucción EIP, ambos de 32 bits. Dichos registros se pueden acceder desde las operaciones de propósito general, compuestas por las instrucciones de aritmética entera, las instrucciones de control de flujo, las de operaciones con bits y con cadenas de bytes, y las instrucciones de acceso a memoria. 4. Un conjunto de 8 registros de coma flotante de 80 bits, un conjunto de 8 registros MMX y XMM, de 64 y 128 bits respectivamente, para realizar operaciones SIMD. 5. Un conjunto de recursos para el manejo de la pila y la invocación de subrutinas. 6. El SO dispone además de puertos E/S, registros de control, de manejo de memoria, de depuración, de monitorización, entre otros.

Modos de funcionamiento 1. Modo protegido Es el modo de funcionamiento normal del procesador, en el que están disponibles todas sus características. 2. Modo direccionamiento-real Es un modo de compatibilidad con el 8086, salvo por la capacidad de cambiar a modo protegido. El procesador siempre comienza su ejecución en este modo (tras el arranque o un reset). 3. Modo de mantenimiento Es un modo en el que se entra por una Interrupción del APIC, útil sólo para labores de mantenimiento del sistema operativo (manejo del control de potencia o seguridad).

Los Registros de la CPU Estos se dedican a almacenar posiciones de memoria debido a que el acceso a los registros es mucho más rápido que los accesos de memoria, también son utilizados para

4

Controlar instrucciones en ejecución, manejar los direccionamientos en memoria y proporcionar capacidad aritmética. En total hay 14 de estos registros cada uno de los cuales está pensado principalmente para alguna función concreta.

Según su funcionalidad estos se dividen en: Registros de propósito general o de almacenamiento temporal: Estos son únicos en el sentido de que se les puede direccionar como una palabra o como un byte. AX (Registro Acumulador): Este registro es usado en operaciones aritméticas como primer operando y también como registro de propósito general a disposición del programador. BX (Registro Base): Se usa principalmente para indicar posiciones de memoria.CX (Registro Contador): Puede contener un valor para controlar el número de veces que un ciclo se repite o un valor para corrimiento de bits. DX (Registro Dato): Se usa como registro auxiliar en operaciones aritméticas con cifras grandes y como contenedor de datos a la hora de usar instrucciones de comunicación de puertos. Estos cuatro registros, como los restantes, son de 16 bits, pero para permitir la realización de operaciones de tipo byte cada uno de estos cuatro registros está dividido en dos subregistros de 8 bits a los que se puede acceder de forma independiente. Así, por Ejemplo AX está dividido en AL que son los 8 bits inferiores y AH que son los 8 bits superiores. En consecuencia los demás registros de propósito general se dividen de la misma manera. De esta forma se tiene que todas las instrucciones ensamblador pueden operar con datos de 8 y 16 bits dependiendo de lo que se precise. Cabe aclarar que esta división no es posible en los demás registros.

Registros de Segmento Son cuatro registros de 16 bits los cuales definen áreas de64Kbits dentro del espacio de direcciones de memoria. Estas áreas pueden solaparse total o parcialmente. No es posible

5

acceder a una posición de memoria no definida por algún segmento: si es preciso, habrá de moverse alguno. CS (CodeSegment): Este registro es usado por el procesador, junto con el registro IP, para conocer la ubicación de la instrucción que está siendo ejecutada. DS (Data Segment): Se usa para indicar dónde están todos los datos del programa que se está ejecutando. SS (StackSegment): En este registro se indica al procesador dónde esta la zona dememoria que se usa como segmento de pila, la cual se utilizara para el almacenamientotemporal de direcciones y datos. ES (Extra Segment): Es utilizado como apuntador de memoria auxiliar en operaciones complejas donde se necesitan dos punteros de datos simultáneos.

Registros Apuntadores o Registros de Pila La pila es un área de memoria muy importante la cual cuenta con dos registros de 16 bits cada uno que se usan como desplazamiento para apuntar su contenido. Estos son utilizados como complemento al registro SS. SP (Stack Pointer): Este registro proporciona un valor de desplazamiento que se refiere a la palabra actual que esta siendo procesada en la pila. SS (StackSegment): En este registro se indica al procesador dónde esta la zona de memoria que se usa como segmento de pila, la cual se utilizara para el almacenamiento temporal de direcciones y datos. ES (Extra Segment): Es utilizado como apuntador de memoria auxiliar en operaciones complejas donde se necesitan dos punteros de datos simultáneos.

Registros Apuntadores o Registros de Pila La pila es un área de memoria muy importante la cual cuenta con dos registros de 16 bits cada uno que se usan como desplazamiento para apuntar su contenido. Estos son utilizados como complemento al registro SS. SP (Stack Pointer): Este registro proporciona un valor de desplazamiento que se refiere la palabra actual que está siendo procesada en la pila. BP (Base Pointer): Se usa como registro auxiliar y facilita la referencia de parámetros, los cuales son datos y direcciones transmitidos a través de la pila.

6

Registros Índice Son utilizados como desplazamientos complementarios para DS y ES a la hora de indicar la posición donde se encuentran los datos a los que se desea acceder. SI (SourceIndex): Se usa como puntero origen en operaciones de desplazamiento de datos entre dos zonas de memoria. DI (DestinationIndex): Utilizado como puntero de destino en operaciones de desplazamiento de datos entre zonas de memoria.

Registro de Instrucción Solo hay uno, el registro IP (Instruction Pointer), el cual es utilizado por la CPU para conocerla posición relativa a la base CS donde se encuentra la instrucción que se está ejecutando en ese momento. Este puntero cambia automáticamente cada vez que se ejecuta una instrucción o se realiza un salto a otro punto del programa a causa de una instrucción de salto.

Registro Bandera Este es un registro de 16 bits, de los cuales 9 sirven para indicar el estado actual de la maquina y el resultado del procesamiento. Muchas instrucciones aritméticas y de comparación cambian el estado de las banderas y apoyándose de ellas determinan la acción subsecuente:

Bit0-CF (CarryFlag): Contiene el acarreo de los bits de mayor orden después de una operación aritmética, también almacena el contenido del último bit en una operación de corrimiento o de rotación. Bit 1: No utilizado. Bit 2 –PF (ParityFlag): Se pone en 1 cuando existe paridad en una operación. Bit 3: No utilizado.

Arquitectura x64 (64 bit) X64 es una arquitectura basada en el conjunto de instrucciones x86 para manejar direcciones de 64 bits, es decir una extensión de la arquitectura x86 a una arquitectura de 64 bits. Esta arquitectura fue desarrollada por primera vez por AMD implementada con el nombre de AMD64. El primer Microprocesador diseñado para este tipo de instrucciones fue OPTERON lanzado en Abril del 2003, posteriormente la empresa INTEL desarrollo una versión de microprocesadores de 64 bits llamada INTEL 64.

7

Algunas Modificaciones en los microprocesadores Nuevos Registros El número de registros de propósito general se ha incrementado de 8 a 16 en los procesadores x86-32, de modo que también a su vez el tamaño de estos registros ha aumentado de 32 bits a 64 bits. De igual manera el número de registros de 128 bits (utilizados en las instrucciones SSE) han aumentado de 8 a 16.

Espacio de direcciones mayor La arquitectura AMD64 puede direccionar hasta 16 exabytes de memoria, esto resulta grandioso comparando con los 4GB del x86-32, de los que solo la mitad está disponible para aplicaciones en la mayoría de las versiones de Microsoft Windows.

Instrucción de acceso a datos relativa al puntero Las instrucciones pueden hacer referencias relativas al puntero de instrucciones (registro RIP). Esto permite crear código independiente de la posición que permite un código mucho más eficiente en bibliotecas dinámicas y código cargado en tiempo de ejecución.

Llamadas al sistema más rápidas Debido a que la segmentación no está soportada en el modo de 64 bits, las llamadas al sistema no tienen las latencias asociadas con almacenar y recuperar la información de segmentación ni tienen que realizar las comprobaciones necesarias de protección a nivel de segmentación. Por lo tanto, AMD ha introducido una nueva interfaz de llamadas al sistema, al que se accede utilizando la instrucción "SYSCALL.

Bit NX El bit NX es una característica del procesador que permite al sistema operativo prohibir la ejecución del código en área de datos, mejorando la seguridad. Estas características está disponible en los modos de 32 y 64 bits, y está soportada por Linux, Solaris, Windows XP SP2, Windows Server 2003 SP1.

Modo de funcionamiento Modo largo Usando el modo largo, un sistema operativo de 64 bits puede ejecutar aplicaciones de 32 bits y 64 bits simultáneamente. También un x86-64 incluye un soporte nativo para ejecutar las aplicaciones de 16 bits del x86.

8

Es el utilizado por algunos BSDs, GNU/Linux (x86_64), Solaris 10, Windows XP Professional (edición x64), Windows Vista (edición x64) y Windows 7 (edición x64).

Modo de herencia El modo utilizado por los sistemas operativos de 16 bits, como MS-DOS, y los sistemas operativos de 32 bits, como Windows XP. En este modo, sólo se puede ejecutar código de 16 bits o de 32 bits. Los sistemas operativos de 64 bits como Windows XP Professional x64 y Windows Server 2003 x64 no se ejecutarán.

Virtudes de la arquitectura x64 A como podemos suponer la arquitectura x64 tiene el doble de capacidad de procesamiento que la arquitectura x86. Esto convierte a los equipos que ocupan microprocesadores de esta familia (x64) en una buena elección si trabaja con video, búsquedas en bases de datos grandes o juegos y otros programas que requieren cálculos complejos y mucha memoria. Por lo tanto, los microprocesadores que pertenecen a la arquitectura x64 son ideales para trabajar con aplicaciones como: 1. Software de diseño asistido por ordenador (CAD). 2. Programas de edición de imágenes y vídeo. 3. Juegos y otros programas que requieren cálculos complejos. 4. Programas que tienen acceso a grandes bases de datos o que trabajan con ellas. 5. Programas de grabación y análisis de vídeo que guardan grandes cantidades de datos en la memoria.

¿Qué hace todavía importante a la arquitectura x86? A pesar de las muchas ventajas que ofrece la arquitectura x64, la familia de microprocesadores x86 no deja de ser importante, es decir, la tecnología x64 no ha logrado desplazar a la x86 por completo. Algunas de las razones son las siguientes: La principal desventaja de las arquitecturas de 64 bits es que, con respecto a las de 32 bits, los mismos datos ocupan ligeramente más espacio en memoria debido al crecimiento de los punteros y posiblemente otros tipos y al relleno para alineamiento. Un equipo con un microprocesador de 32 bits funciona muy bien para la mayoría de los programas. Por ejemplo, los programas de hojas de cálculo, los exploradores web y los programas de procesamiento de texto. En la actualidad muchos de los programas están construidos como código de 32 bits. Los sistemas de 64 bits algunas veces carecen de software equivalente escrito para arquitectura de 32 bits.

9

Tendencias Futuras de los Microprocesadores En cualquier caso el futuro es compatibilidad. Los sistemas más ambiciosos, por lo menos sobre el papel, son los que están desarrollando conjuntamente IBM y Apple, y que consistirán en una nueva gama de micros y de sistemas operativos que, al parecer tendrán el nombre de PowerPC. La gama de estos micros abarcará desde portátiles hasta ordenadores de sobremesa incluyendo potentes estaciones de trabajo; y el sistema operativo dispondrá de la capacidad para ejecutar programas DOS, Windows, Apple y Unix (por lo menos de los Unix de IBM y de Apple). Se manifestará por el dominio de tres ideas o conceptos fundamentales: 1. Multimedia 2. Conectividad 3. Orientación al documento

Los sistemas multimedia El concepto de multimedia incluirá al de hipertexto y, con la mayor naturalidad del mundo, los nuevos sistemas operativos y las nuevas aplicaciones que se desarrollen para ellos incluirán hipertextos y/o prestaciones de tipo hipertexto, como ya sucede con los tutoriales y la ayuda en línea de muchas aplicaciones para Windows.

Conectividad La conectividad vendrá de la mano de las redes locales, hacia las cuales están especialmente orientados los nuevos sistemas operativos (OS/2 y Windows, particularmente); así como de protocolos informáticos, que permiten intercambiar información entre distintas aplicaciones, incluso de distintos fabricantes.

Orientación al documento Finalmente, la orientación al documento dará lugar a una nueva generación de sistemas operativos que permitirá que el usuario se pueda olvidar del programa con que creó cada documento; en primer lugar porque serán sistemas que pondrán el énfasis en los documentos y no en las aplicaciones, y en segundo lugar porque muchos documentos serán compuestos, en los cuales una parte será un gráfico, otra un texto o una grabación de voz, etc., y cada parte del documento podrá estar creada, gestionada y mantenida por una aplicación o una herramienta informática distinta.

Fabricantes de Microprocesadores  El Intel 4004  El Intel 8008  El SC/MP desarrollado por National

10

                               

Semiconductor. El Intel 8080 Motorola 6800 El Z80 Los Intel 8086 y 8088 El Intel 80286 El Intel 80386 El VAX 78032 El Intel 80486 El AMD AMx86 PowerPC 601 El Intel Pentium EL PowerPC 620 EL Intel Pentium Pro El AMD K5 Los AMD K6 y AMD K6-2 El Intel Pentium II El Intel Pentium II Xeon El Intel Celeron El AMD Athlon K7 (Classic y Thunderbird) El Intel Pentium III El Intel Pentium III Xeon EL Intel Pentium 4 El AMD Athlon XP El Intel Pentium 4 (Prescott) El AMD Athlon 64 EL Intel CoreDuo El AMD Phenom El Intel CoreNehalem Los AMD Phenom II y Athlon II El Intel Core Sandy Bridge El AMD Fusion

11

Microprocesador con arquitectura x86

Microprocesador con arquitectura x64

CONCLUSIONES Desde que se desarrollo el primer microprocesador que fue el 4004 se fueron desarrollando modelos superiores con el objetivo de suplir necesidades con respecto a las aplicaciones con los cuales interactuaban. Al surgir el 80386 se dio inicio a una nueva etapa de desarrollo de microprocesadores, ya que fue el primer micro de 32 bits y capaz de realizar aplicaciones multitarea. Después de este se desarrollaron microprocesadores de 64 bits. Por lo tanto es esencial saber que características acarrean esta innovación y principalmente la arquitectura a la que pertenece pues esta es el principio en el cual sustentan su diseño.

12