+ All Categories
Home > Documents > E.P.S. de Zamora -...

E.P.S. de Zamora -...

Date post: 27-Sep-2018
Category:
Upload: dangdan
View: 213 times
Download: 0 times
Share this document with a friend
35
09/03/2008 1 Escuela Politécnica Superior de Zamora Escuela Politécnica Superior de Zamora Departamento de Informática y Automática Departamento de Informática y Automática Informática ITOP Informática ITOP José Mª González Ríos José Mª González Ríos Curso 2007/2008 Curso 2007/2008 E.P.S. de Zamora El procesador El procesador Informática Informática Se entiende por Se entiende por ordenador una máquina que permite el tratamiento de ordenador una máquina que permite el tratamiento de la información. la información. Desde un punto de vista muy general, se pueden Desde un punto de vista muy general, se pueden distinguir dos partes en todo ordenador: distinguir dos partes en todo ordenador: Hardware: Hardware: Se refiere a todos los componentes físicos del ordenador, tales Se refiere a todos los componentes físicos del ordenador, tales como el disco duro, el CDROM, la CPU, la tarjeta de video, la impresora, etc. como el disco duro, el CDROM, la CPU, la tarjeta de video, la impresora, etc. Software: Software: Se refiere al conjunto de algoritmos, programados en algún tipo Se refiere al conjunto de algoritmos, programados en algún tipo de lenguaje comprensible por el ordenador, cuyo objetivo es realizar alguna de lenguaje comprensible por el ordenador, cuyo objetivo es realizar alguna tarea mediante cómputos operando sobre el hardware del ordenador. El tarea mediante cómputos operando sobre el hardware del ordenador. El software más importante es el software más importante es el Sistema Operativo (SO), dedicado a gestionar Sistema Operativo (SO), dedicado a gestionar las distintas las distintas partes del ordenador para poder hacer uso de esta. partes del ordenador para poder hacer uso de esta. Un sistema informático es, en mayor o menor medida, el conjunto de Un sistema informático es, en mayor o menor medida, el conjunto de hardware y software interconectados entre si para el tratamiento de la hardware y software interconectados entre si para el tratamiento de la información. información. En este estudio nos centraremos exclusivamente en el hardware del En este estudio nos centraremos exclusivamente en el hardware del ordenador. Obtendremos una visión de conjunto del hardware de todo ordenador. Obtendremos una visión de conjunto del hardware de todo ordenador y nos centraremos sobre todo en los componentes hardware ordenador y nos centraremos sobre todo en los componentes hardware más importantes, a saber: más importantes, a saber: La La Unidad Central de Proceso (CPU Unidad Central de Proceso (CPU - Central Central Processing Processing Unit Unit). ). La La Memoria Principal, (tema siguiente). Memoria Principal, (tema siguiente). Estructura de un ordenador propuesta por Estructura de un ordenador propuesta por Von Von Neumann Neumann José Mª González Ríos José Mª González Ríos Informática Informática –– 2007/2008 2007/2008 2 2
Transcript

09/03/2008

1

Escuela Politécnica Superior de ZamoraEscuela Politécnica Superior de ZamoraDepartamento de Informática y AutomáticaDepartamento de Informática y AutomáticaInformática ITOPInformática ITOPJosé Mª González RíosJosé Mª González RíosCurso 2007/2008Curso 2007/2008

E.P.S. de Zamora

El procesadorEl procesador

InformáticaInformática

Se entiende por Se entiende por ordenador una máquina que permite el tratamiento de ordenador una máquina que permite el tratamiento de la información. la información. Desde un punto de vista muy general, se pueden Desde un punto de vista muy general, se pueden distinguir dos partes en todo ordenador:distinguir dos partes en todo ordenador:

Hardware: Hardware: Se refiere a todos los componentes físicos del ordenador, tales Se refiere a todos los componentes físicos del ordenador, tales como el disco duro, el CDROM, la CPU, la tarjeta de video, la impresora, etc.como el disco duro, el CDROM, la CPU, la tarjeta de video, la impresora, etc.Software: Software: Se refiere al conjunto de algoritmos, programados en algún tipo Se refiere al conjunto de algoritmos, programados en algún tipo de lenguaje comprensible por el ordenador, cuyo objetivo es realizar alguna de lenguaje comprensible por el ordenador, cuyo objetivo es realizar alguna tarea mediante cómputos operando sobre el hardware del ordenador. El tarea mediante cómputos operando sobre el hardware del ordenador. El software más importante es el software más importante es el Sistema Operativo (SO), dedicado a gestionar Sistema Operativo (SO), dedicado a gestionar las distintas las distintas partes del ordenador para poder hacer uso de esta.partes del ordenador para poder hacer uso de esta.

Un sistema informático es, en mayor o menor medida, el conjunto de Un sistema informático es, en mayor o menor medida, el conjunto de hardware y software interconectados entre si para el tratamiento de la hardware y software interconectados entre si para el tratamiento de la información.información.En este estudio nos centraremos exclusivamente en el hardware del En este estudio nos centraremos exclusivamente en el hardware del ordenador. Obtendremos una visión de conjunto del hardware de todo ordenador. Obtendremos una visión de conjunto del hardware de todo ordenador y nos centraremos sobre todo en los componentes hardware ordenador y nos centraremos sobre todo en los componentes hardware más importantes, a saber:más importantes, a saber:

La La Unidad Central de Proceso (CPU Unidad Central de Proceso (CPU -- Central Central ProcessingProcessing UnitUnit).).La La Memoria Principal, (tema siguiente).Memoria Principal, (tema siguiente).

Estructura de un ordenador propuesta por Estructura de un ordenador propuesta por Von Von NeumannNeumann

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 22

09/03/2008

2

La idea de Von La idea de Von NeumannNeumann consistió en conectar consistió en conectar permanentemente determinadas unidades del ordenador, permanentemente determinadas unidades del ordenador, colocándolas bajo un control central, donde las colocándolas bajo un control central, donde las instrucciones eran tratadas secuencialmente en un ciclo instrucciones eran tratadas secuencialmente en un ciclo repetitivo de operaciones. Los dos puntos más importantes repetitivo de operaciones. Los dos puntos más importantes a tener en cuenta son:a tener en cuenta son:

a)a) Todos los datos y las instrucciones se representan en código Todos los datos y las instrucciones se representan en código binario y se almacenarán juntos en la memoria del ordenador.binario y se almacenarán juntos en la memoria del ordenador.

b)b) El ordenador no hará distinciones entre datos e instrucciones.El ordenador no hará distinciones entre datos e instrucciones.Von Von NeumannNeumann propuso una estructura concreta para los propuso una estructura concreta para los ordenadores, y los que se ajustan a esa estructura se ordenadores, y los que se ajustan a esa estructura se conocen como máquinas de Von conocen como máquinas de Von NeumannNeumann. Una máquina de . Una máquina de Von Von NeumannNeumann consta de 3 unidades básicas: consta de 3 unidades básicas: ProcesadorProcesador, , también llamado CPU (siglas de Unidad Central de Proceso, también llamado CPU (siglas de Unidad Central de Proceso, en inglés Central en inglés Central ProcessProcess UnitUnit), ), memoriamemoria y y unidad de E/S.unidad de E/S.

Estructura de un ordenador propuesta por Estructura de un ordenador propuesta por Von Von NeumannNeumann

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 33

En la figura podemos ver dividido el ordenador en las En la figura podemos ver dividido el ordenador en las siguientes partes:siguientes partes:

Buses de control, dirección y datos.Buses de control, dirección y datos.Memoria principal.Memoria principal.Unidad central de proceso.Unidad central de proceso.Dispositivos periféricos.Dispositivos periféricos.

Estructura de un ordenador propuesta por Estructura de un ordenador propuesta por Von Von NeumannNeumann

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 44

09/03/2008

3

Resulta necesario almacenar instrucciones y datos en algún sitio mientras se Resulta necesario almacenar instrucciones y datos en algún sitio mientras se ejecuta un programa en el ordenador, cuando menos de manera temporal. Para ejecuta un programa en el ordenador, cuando menos de manera temporal. Para este fin existe la memoria principal, que es donde se almacenan los datos y las este fin existe la memoria principal, que es donde se almacenan los datos y las instrucciones de los programas en ejecución, donde se pueden recuperar y instrucciones de los programas en ejecución, donde se pueden recuperar y grabar en ella datos a través de las dos operaciones básicas definidas sobre grabar en ella datos a través de las dos operaciones básicas definidas sobre ella, una de lectura y la otra de escritura.ella, una de lectura y la otra de escritura.La memoria principal o central está dividida en celdas formadas generalmente La memoria principal o central está dividida en celdas formadas generalmente por un por un octeto (byte), octeto (byte), aunque puede estarlo en unidades mayores. Habitualmente aunque puede estarlo en unidades mayores. Habitualmente a estas celdas se les denomina a estas celdas se les denomina palabraspalabras de memoria. Cada una de esas palabras de memoria. Cada una de esas palabras es una unidad direccionable en la memoria. El mapa de memoria se corresponde es una unidad direccionable en la memoria. El mapa de memoria se corresponde con el espacio de memoria direccionable. Este espacio viene determinado por el con el espacio de memoria direccionable. Este espacio viene determinado por el tamaño de las direcciones.tamaño de las direcciones.El siguiente gráfico esquematiza de forma básica una unidad de memoria:El siguiente gráfico esquematiza de forma básica una unidad de memoria:

MemoriaMemoria

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 55

MemoriaMemoriaBus de controlBus de control

Bus de direcciónBus de dirección

Bus de datosBus de datos

Para acceder a una palabra en particular se envía su dirección (a Para acceder a una palabra en particular se envía su dirección (a través del un través del un bus de direcciónbus de dirección) y una apropiada función de ) y una apropiada función de control, leer o grabar en la memoria (a través de un control, leer o grabar en la memoria (a través de un bus de bus de controlcontrol). Si la función es de grabación además se debe colocar la ). Si la función es de grabación además se debe colocar la palabra que desea grabar en el palabra que desea grabar en el bus de datos bus de datos de la memoria desde de la memoria desde donde será transferida a su correcta ubicación. Cuando la palabra donde será transferida a su correcta ubicación. Cuando la palabra es leída aparecerá en el es leída aparecerá en el bus de datos bus de datos la palabra solicitada.la palabra solicitada.De lo dicho se deduce que la memoria de un ordenador es una De lo dicho se deduce que la memoria de un ordenador es una secuencia de bytes, que empieza en el 0 y termina en un secuencia de bytes, que empieza en el 0 y termina en un determinado número, según la capacidad que tenga la memoria. Es determinado número, según la capacidad que tenga la memoria. Es decir, es una tabla o "decir, es una tabla o "arrayarray" de bytes. Cada byte tiene una " de bytes. Cada byte tiene una dirección: el número que ocupa posicionalmente en la memoria. dirección: el número que ocupa posicionalmente en la memoria. Esta dirección es conocida como "Esta dirección es conocida como "dirección físicadirección física". En oposición al ". En oposición al concepto de “dirección virtual” de la “memoria virtual” que concepto de “dirección virtual” de la “memoria virtual” que veremos más adelante.veremos más adelante.

MemoriaMemoria

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 66

09/03/2008

4

La siguiente figura muestra la La siguiente figura muestra la memoria de un ordenador con memoria de un ordenador con una longitud de palabra de 8 una longitud de palabra de 8 bits y un bus de direcciones bits y un bus de direcciones también de 8 bits.también de 8 bits.Existen 2Existen 288 = 256 casillas (en = 256 casillas (en lenguaje binario, desde la lenguaje binario, desde la 00000000 hasta la 11111111), 00000000 hasta la 11111111), cada una conteniendo un dato cada una conteniendo un dato de 8 bits de tamaño, en total de 8 bits de tamaño, en total 256 x 8 = 2048 bits o 256 256 x 8 = 2048 bits o 256 Bytes. Los datos contenidos en Bytes. Los datos contenidos en las casillas de memoria no las casillas de memoria no tienen evidentemente ninguna tienen evidentemente ninguna relación con la dirección de relación con la dirección de estas, ya que van variando estas, ya que van variando conforme se ejecuta el conforme se ejecuta el programa o se producen programa o se producen entradas de nuevos datos.entradas de nuevos datos.

MemoriaMemoria

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 77

Se define Se define Unidad Central de Proceso Unidad Central de Proceso (CPU (CPU -- Control Control ProcessingProcessing UnitUnit) o ) o procesador, procesador, como la unidad funcional que ejecuta las instrucciones de una como la unidad funcional que ejecuta las instrucciones de una determinada arquitectura de propósito general. Muchos ordenadores tienen determinada arquitectura de propósito general. Muchos ordenadores tienen un procesador que se encarga de la totalidad de las funciones de un procesador que se encarga de la totalidad de las funciones de interpretación de instrucciones y su ejecución.interpretación de instrucciones y su ejecución.El término de propósito general sirve para diferenciar a la CPU de otros El término de propósito general sirve para diferenciar a la CPU de otros procesadores tales como los procesadores de E/S cuyas funciones son en procesadores tales como los procesadores de E/S cuyas funciones son en cierta forma más restringidas o para un propósito específico.cierta forma más restringidas o para un propósito específico.Generalmente existe una sola CPU en la mayoría de los ordenadores. Un Generalmente existe una sola CPU en la mayoría de los ordenadores. Un ordenador con una sola CPU se denomina ordenador con una sola CPU se denomina Monoprocesador; Monoprocesador; un ordenador con un ordenador con más CPUs se denomina un más CPUs se denomina un Multiprocesador.Multiprocesador.La figura siguiente muestra un bloque sencillo que se utiliza para La figura siguiente muestra un bloque sencillo que se utiliza para representar a la CPU. Existe un bus de datos de una sola palabra que es el representar a la CPU. Existe un bus de datos de una sola palabra que es el camino por el cual fluye la información desde o hacia la CPU. Un segundo bus camino por el cual fluye la información desde o hacia la CPU. Un segundo bus por el cual se transmiten las direcciones desde la CPU a la memoria principal por el cual se transmiten las direcciones desde la CPU a la memoria principal y también a los dispositivos de E/S. Y por último un bus de control que se y también a los dispositivos de E/S. Y por último un bus de control que se utilizan para controlar los otros componentes del sistema y además para utilizan para controlar los otros componentes del sistema y además para sincronizar sus operaciones con las de la CPU.sincronizar sus operaciones con las de la CPU.

CPUCPU

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 88

09/03/2008

5

Desde un punto de vista conceptual, la CPU muestra una Desde un punto de vista conceptual, la CPU muestra una clara división funcional. Estas funciones son:clara división funcional. Estas funciones son:

Procesamiento de los datos.Procesamiento de los datos.Control del procesamiento en sí mismo.Control del procesamiento en sí mismo.

En esencia el trabajo de un ordenador consiste en recibir En esencia el trabajo de un ordenador consiste en recibir datos del usuario (entrada) según el dispositivo periférico y datos del usuario (entrada) según el dispositivo periférico y seguir las instrucciones para transformar esa entrada en seguir las instrucciones para transformar esa entrada en una salida y devolverla al usuario. Estas transformaciones una salida y devolverla al usuario. Estas transformaciones son realizadas por la CPU que interpreta y lleva a cabo las son realizadas por la CPU que interpreta y lleva a cabo las instrucciones de los programas, efectúa manipulaciones instrucciones de los programas, efectúa manipulaciones aritméticas y lógicas con los datos y se comunica con las aritméticas y lógicas con los datos y se comunica con las demás partes del sistema.demás partes del sistema.

CPUCPU

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 99

CPUCPUBus de controlBus de control

Bus de direcciónBus de dirección

Bus de datosBus de datos

Ejecutar rápidamente todos los pasos de una tareaEjecutar rápidamente todos los pasos de una tareaFuncionar lo mas rápidamente posibleFuncionar lo mas rápidamente posibleConsumiendo la mínima potenciaConsumiendo la mínima potenciaEvitar errores y paradasEvitar errores y paradas

Para ello, el procesador utiliza una serie de operaciones Para ello, el procesador utiliza una serie de operaciones elementales, a partir de las cuales se pueden resolver elementales, a partir de las cuales se pueden resolver tareas más complejas. Cada una de las operaciones tareas más complejas. Cada una de las operaciones elementales tiene un código binario y puede tener uno, o elementales tiene un código binario y puede tener uno, o varios operandos sobre los que actuar.varios operandos sobre los que actuar.El procesador dispone habitualmente de un conjunto El procesador dispone habitualmente de un conjunto reducido de posiciones de memoria internas, que se conocen reducido de posiciones de memoria internas, que se conocen como registros, y que le permiten almacenar los datos y los como registros, y que le permiten almacenar los datos y los resultados con los que está trabajando en ese momentoresultados con los que está trabajando en ese momento

Objetivos de la CPUObjetivos de la CPU

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 1010

09/03/2008

6

Se distinguen básicamente dos partes:Se distinguen básicamente dos partes:1.1. La La Unidad Aritmética LógicaUnidad Aritmética Lógica: : Agrupa a todos los componentes capaces de Agrupa a todos los componentes capaces de

manipular los datos, es decir los recursos que disponemos en el interior del manipular los datos, es decir los recursos que disponemos en el interior del procesador. También es conocida como procesador. También es conocida como UAL ó ALU UAL ó ALU ((AritmethicAritmethic LogicLogicUnitUnit). ). Generalmente, la unidad aritmético lógica está dividida en tres Generalmente, la unidad aritmético lógica está dividida en tres subunidades que realizan las funciones:subunidades que realizan las funciones:

Operaciones de punto fijoOperaciones de punto fijo, que incluye aritmética entera y cálculo efectivo de las , que incluye aritmética entera y cálculo efectivo de las direcciones.direcciones.Operaciones de punto flotanteOperaciones de punto flotante, que incluyen aritmética con mantisa y exponente., que incluyen aritmética con mantisa y exponente.Operaciones de longitud variableOperaciones de longitud variable, que incluye aritmética decimal y operaciones , que incluye aritmética decimal y operaciones sobre conjuntos de caracteres.sobre conjuntos de caracteres.

2.2. La La Unidad de ControlUnidad de Control: : Encargada de realizar el control del proceso, es Encargada de realizar el control del proceso, es decir, de generar las señales necesarias para activar los componentes de la decir, de generar las señales necesarias para activar los componentes de la unidad de tratamiento que actuarán sobre los datos en el instante de unidad de tratamiento que actuarán sobre los datos en el instante de tiempo que corresponda. También es conocida como tiempo que corresponda. También es conocida como UC o CU (Control UC o CU (Control UnitUnit).).La unidad de control trabaja en base al reloj maestro que interpreta y La unidad de control trabaja en base al reloj maestro que interpreta y coordina la ejecución de todas las operaciones que realiza el coordina la ejecución de todas las operaciones que realiza el microprocesador. Como ya hemos dicho, la función fundamental de este microprocesador. Como ya hemos dicho, la función fundamental de este reloj es marcar la cantidad de instrucciones que el microprocesador puede reloj es marcar la cantidad de instrucciones que el microprocesador puede ejecutar en un segundo. La frecuencia del reloj determina la velocidad en la ejecutar en un segundo. La frecuencia del reloj determina la velocidad en la transferencia de un dato entre dos dispositivos conectados a un mismo bus transferencia de un dato entre dos dispositivos conectados a un mismo bus (por ejemplo, la lectura de una palabra de memoria por parte de la CPU).(por ejemplo, la lectura de una palabra de memoria por parte de la CPU).

Estructura de la CPUEstructura de la CPU

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 1111

Se encarga de realizar todas las operaciones, tanto aritméticas Se encarga de realizar todas las operaciones, tanto aritméticas como lógicas, mediante un número elevado de pequeños pasos.como lógicas, mediante un número elevado de pequeños pasos.Esta formada por:Esta formada por:1.1. Acumulador:Acumulador:

Es el área de trabajo del procesador.Es el área de trabajo del procesador.Contiene uno de los datos implicados en la operación y almacena el Contiene uno de los datos implicados en la operación y almacena el resultado (En los procesadores actuales no suele existir un registro resultado (En los procesadores actuales no suele existir un registro reservado a tal fin).reservado a tal fin).

2.2. Circuitos lógicos:Circuitos lógicos:Son los circuitos encargados de realizar las operaciones con 1 ó 2 Son los circuitos encargados de realizar las operaciones con 1 ó 2 datos. Estas operaciones se llevan a cabo mediante un gran número datos. Estas operaciones se llevan a cabo mediante un gran número de pequeños pasos, involucrando cada una de ellas, a uno, o varios de de pequeños pasos, involucrando cada una de ellas, a uno, o varios de los circuitos lógicos.los circuitos lógicos.

3.3. Registro de códigos de condición:Registro de códigos de condición:Informa sobre la última operación realizada. Algunos de sus bits Informa sobre la última operación realizada. Algunos de sus bits son:son:•• C (C (carrycarry): Se activa al operar con números sin signo, cuando no ): Se activa al operar con números sin signo, cuando no

puede almacenarse el resultado correctamente puede almacenarse el resultado correctamente (desbordamiento).(desbordamiento).•• Z (Z (ZeroZero): Se activa con resultado 0): Se activa con resultado 0•• OV (OV (overflowoverflow): Igual que C pero para números con signo.): Igual que C pero para números con signo.

AluAlu

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 1212

09/03/2008

7

La unidad de control, reducida a la mínima expresión, consta de La unidad de control, reducida a la mínima expresión, consta de contador de contador de programa programa (normalmente llamado PC), (normalmente llamado PC), decodificador de instrucciones, decodificador de instrucciones, puntero de pilapuntero de pila (comúnmente llamado SP, en inglés (comúnmente llamado SP, en inglés StackStack Pointer) y, Pointer) y, opcionalmente, de opcionalmente, de registro índiceregistro índice. . La unidad de control tiene, así mismo, algo muy necesario, que es el La unidad de control tiene, así mismo, algo muy necesario, que es el generador de impulsos de relojgenerador de impulsos de reloj, encargado de sincronizar el , encargado de sincronizar el funcionamiento del procesador. Para ello, se emplea un cristal de cuarzo funcionamiento del procesador. Para ello, se emplea un cristal de cuarzo externo a la CPU que le suministra a través de una de sus patas una onda externo a la CPU que le suministra a través de una de sus patas una onda cuadrada. Cada período de la onda recibe el nombre de ciclo de reloj, y se cuadrada. Cada período de la onda recibe el nombre de ciclo de reloj, y se utiliza su frecuencia para medir la velocidad del procesador. Para realizar utiliza su frecuencia para medir la velocidad del procesador. Para realizar cualquier operación, el procesador tiene unas tablas en las que se especifica cualquier operación, el procesador tiene unas tablas en las que se especifica los ciclos de reloj que dura, la unidad de control coloca los operandos los ciclos de reloj que dura, la unidad de control coloca los operandos necesarios para la misma, donde se necesiten y espera los ciclos que marca necesarios para la misma, donde se necesiten y espera los ciclos que marca la tabla, para darla por concluida.la tabla, para darla por concluida.Las funciones de la unidad de control son las de controlar el funcionamiento Las funciones de la unidad de control son las de controlar el funcionamiento paso a paso del procesador, mientras éste ejecuta cada una de las paso a paso del procesador, mientras éste ejecuta cada una de las instrucciones de un programa. Resumiendo:instrucciones de un programa. Resumiendo:

a)a) Controlar la secuencia en que se ejecutan las instrucciones.Controlar la secuencia en que se ejecutan las instrucciones.b)b) Controlar el acceso del procesador a la memoria principal.Controlar el acceso del procesador a la memoria principal.c)c) Regular las temporizaciones de todas las operaciones que ejecuta el procesador.Regular las temporizaciones de todas las operaciones que ejecuta el procesador.d)d) Enviar y recibir señales de control desde los periféricos.Enviar y recibir señales de control desde los periféricos.

AluAlu

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 1313

Generador de impulsos de relojGenerador de impulsos de reloj

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 1414

09/03/2008

8

Otro componente importante en un procesador son los Otro componente importante en un procesador son los Registros. Registros. Un Un registro es registro es la unión de varios circuitosla unión de varios circuitos lógicos que almacenan un lógicos que almacenan un determinado número de bitsdeterminado número de bits, normalmente el de una palabra (8, 16, 32 , normalmente el de una palabra (8, 16, 32 o 64 bits). Estos circuitos son muy rápidos y, puesto que forman parte o 64 bits). Estos circuitos son muy rápidos y, puesto que forman parte del propio procesador, componen la memoria a la que más fácilmente y del propio procesador, componen la memoria a la que más fácilmente y más rápidamente puede acceder cualquier otra parte de la CPU. Los más rápidamente puede acceder cualquier otra parte de la CPU. Los registros suelen formar grupos según la funcionalidad a la que estén registros suelen formar grupos según la funcionalidad a la que estén destinados. Los tipos básicos de registros según su función son:destinados. Los tipos básicos de registros según su función son:

Uso general: Uso general: No tienen una función específica. Cualquier registro de No tienen una función específica. Cualquier registro de propósito general puede almacenar el operando para cualquier código de propósito general puede almacenar el operando para cualquier código de operación; como en todo orden de cosas, existen algunas restricciones, operación; como en todo orden de cosas, existen algunas restricciones, por ejemplo, podrán existir registros de propósito general específicos por ejemplo, podrán existir registros de propósito general específicos para operaciones de punto flotante, o de direccionamiento.para operaciones de punto flotante, o de direccionamiento.Datos: Datos: Sólo se usan para contener datos y no participan en el cálculo de Sólo se usan para contener datos y no participan en el cálculo de direcciones de operandosdirecciones de operandos..Direcciones: Direcciones: Pueden ser registros de uso parcialmente general, o sólo Pueden ser registros de uso parcialmente general, o sólo dedicados a modos de direccionamientos específicos. Algunos registros dedicados a modos de direccionamientos específicos. Algunos registros de dirección más usados son los Registros índices y los Punteros de Pila.de dirección más usados son los Registros índices y los Punteros de Pila.Códigos de condición: Códigos de condición: También llamados “También llamados “flagsflags”. Específicamente son ”. Específicamente son bits fijados mediante el hardware, por ejemplo, indican si una operación bits fijados mediante el hardware, por ejemplo, indican si una operación entrega un resultado positivo, negativo, nulo, si hay entrega un resultado positivo, negativo, nulo, si hay overflowoverflow, etc., etc.

RegistrosRegistros

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 1515

1.1. PC (PC (ProgramProgram CounterCounter): ): Contador de ProgramaContador de Programa. Contiene la dirección de la siguiente instrucción. Contiene la dirección de la siguiente instrucción. . Típicamente, la CPU actualiza el contador de programa después de cada lectura de instrucción de Típicamente, la CPU actualiza el contador de programa después de cada lectura de instrucción de manera que siempre apunta a la siguiente instrucción a ejecutar. Una instrucción de bifurcación o manera que siempre apunta a la siguiente instrucción a ejecutar. Una instrucción de bifurcación o salto también modificará el contenido de PC. La instrucción leída se carga en el registro de salto también modificará el contenido de PC. La instrucción leída se carga en el registro de instrucción.instrucción.

2.2. INC (INC (IncrementerIncrementer): ): IncrementadorIncrementador. Registro que, sumando su contenido al registro PC, . Registro que, sumando su contenido al registro PC, incrementa el contenido de este. Normalmente este incremento es la unidad (PC=PC+1), pero en incrementa el contenido de este. Normalmente este incremento es la unidad (PC=PC+1), pero en ciertas ocasiones puede ser otro valor, tales como instrucciones de salto o instrucciones que ciertas ocasiones puede ser otro valor, tales como instrucciones de salto o instrucciones que ocupen más de una palabra en memoria.ocupen más de una palabra en memoria.

3.3. IR (IR (InstructionInstruction RegisterRegister): ): Registro de InstrucciónRegistro de Instrucción. Contiene la instrucción actual, aquí se analiza . Contiene la instrucción actual, aquí se analiza el código de operación. Nótese que almacena el contenido de las posiciones de memoria que indica el código de operación. Nótese que almacena el contenido de las posiciones de memoria que indica el registro PC.el registro PC.

4.4. MAR (MAR (MemoryMemory AddressAddress RegisterRegister): ): Registro de dirección de memoriaRegistro de dirección de memoria. Contiene la dirección de una . Contiene la dirección de una posición de memoria, y el intercambio de datos con la memoria se realiza conectado directamente posición de memoria, y el intercambio de datos con la memoria se realiza conectado directamente al bus de direcciones.al bus de direcciones.

5.5. MBR (MBR (MemoryMemory Buffer Buffer RegisterRegister): ): Registro intermedio de memoriaRegistro intermedio de memoria. Contiene la palabra de datos . Contiene la palabra de datos para escribir en memoria que ha sido leída más recientemente, el intercambio de datos con la para escribir en memoria que ha sido leída más recientemente, el intercambio de datos con la memoria se realiza conectándose directamente al bus de datos.memoria se realiza conectándose directamente al bus de datos.

6.6. Registros Registros E/S: E/S: Entrada/Salida.Entrada/Salida. Registros destinados a contener la dirección de memoria cuyo Registros destinados a contener la dirección de memoria cuyo contenido se reserva para almacenar datos provenientes de algún dispositivo de entrada y salida.contenido se reserva para almacenar datos provenientes de algún dispositivo de entrada y salida.

Algunos de estos registros son:Algunos de estos registros son:E/SAR (E/S E/SAR (E/S AddressAddress RegisterRegister): ): Registro de Registro de direccionesdirecciones para especificar para especificar unun dispositivo dispositivo de E/S. A de E/S. A estas posiciones de memoria cuyo contenido se usa para comunicarse con los estas posiciones de memoria cuyo contenido se usa para comunicarse con los dispositivos de E/S se les denomina dispositivos de E/S se les denomina puertos.puertos.E/SBR (E/S Buffer E/SBR (E/S Buffer RegisterRegister): ): Registro de datos Registro de datos que se utiliza para intercambiar datos que se utiliza para intercambiar datos entre un módulo de E/S y la CPU.entre un módulo de E/S y la CPU.

7.7. Registros Registros D0, D1 ... DN (Data D0, D1 ... DN (Data RegistersRegisters): ): Registros genéricos destinados a contener todo tipo Registros genéricos destinados a contener todo tipo de datos. En ciertos procesadores estos registros son también llamados simplemente de datos. En ciertos procesadores estos registros son también llamados simplemente R0, R1 ... R0, R1 ... RN (RN (RegistersRegisters).).

Registros fundamentalesRegistros fundamentales

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 1616

09/03/2008

9

Contiene la Contiene la dirección de la dirección de la instrucción instrucción del del programa que se programa que se está ejecutando en está ejecutando en cada momentocada momento

Contador del programaContador del programa

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 1717

Recogida la Recogida la instrucción de la instrucción de la memoria del PC se memoria del PC se incrementaincrementa, de , de acuerdo al tamaño acuerdo al tamaño en bytes de las en bytes de las instrucciones que se instrucciones que se ejecutenejecuten

Esquema de los registros Esquema de los registros de la CPUde la CPU

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 1818

Contador de programaContador de programa

IncrementadorIncrementador

Registro de dirección de memoriaRegistro de dirección de memoria

Registro intermedio de memoriaRegistro intermedio de memoriaRegistro de instrucciónRegistro de instrucción

Registros de datosRegistros de datos

Unidad aritmético lógicaUnidad aritmético lógica

Unidad de controlUnidad de control

09/03/2008

10

Estructura básica de una CPUEstructura básica de una CPU

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 1919

ALU

Registro de desplazamiento

Acumulador(A)

Palabra de

 Estado

 (F)

Unida

d de

 Con

trol

(Secue

nciado

r)

Decodificador deInstrucciones

(Microprograma)

BUS DE DATOS (INTERNO)

Registro de instruccionesy datos

BUS DEDATOS

2º Operando

Contador de programa (PC)

Registro de direcciones (RD)

BUS DEDIRECCIONES

CLKR/WRESETINT

BUS DECONTROL

Registros Indice (IX)

Puntero de pila (SP)

Para funcionar el hardware necesita unas conexiones Para funcionar el hardware necesita unas conexiones materiales que permitan a los componentes comunicarse materiales que permitan a los componentes comunicarse entre sí e interaccionar. Estas conexiones se denominan entre sí e interaccionar. Estas conexiones se denominan buses o canales. buses o canales. Un bus constituye un sistema común Un bus constituye un sistema común interconectado compuesto por un grupo de cables o interconectado compuesto por un grupo de cables o circuitos que coordina y transporta información entre las circuitos que coordina y transporta información entre las partes internas del ordenadorpartes internas del ordenador..Existen tres tipos de buses en un ordenador, en función del Existen tres tipos de buses en un ordenador, en función del tipo de datos que transporten:tipo de datos que transporten:

Bus de Bus de Control: Control: Se encarga de transmitir datos que serán Se encarga de transmitir datos que serán utilizados como órdenes de control.utilizados como órdenes de control.Bus de Bus de Direcciones: Direcciones: Se encarga de transmitir datos que serán Se encarga de transmitir datos que serán utilizados como direcciones de memoria.utilizados como direcciones de memoria.Bus de Bus de Datos: Datos: Se encarga de transportar datos como tales.Se encarga de transportar datos como tales.

Comunicación con el sistema. BUSESComunicación con el sistema. BUSES

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 2020

09/03/2008

11

Un bus se caracteriza por dos propiedades:Un bus se caracteriza por dos propiedades:La cantidad de información que puede manipular simultáneamente, La cantidad de información que puede manipular simultáneamente, llamada ”anchura de bus”.llamada ”anchura de bus”.La rapidez con que puede transferir dichos datos.La rapidez con que puede transferir dichos datos.

El conjunto de estos tres buses forma el El conjunto de estos tres buses forma el Bus del SistemaBus del Sistema. . Su Su capacidad debe estar en correspondencia con lacapacidad debe estar en correspondencia con la demanda de demanda de servicio que realizan los componentes conectados al bus, tales servicio que realizan los componentes conectados al bus, tales como la unidad central de proceso, la memoria, como la unidad central de proceso, la memoria, etcetc, y que el ancho , y que el ancho del bus sea tal que no imposibilite la adecuada transmisión de del bus sea tal que no imposibilite la adecuada transmisión de datos.datos.

Comunicación con el sistema. BUSESComunicación con el sistema. BUSES

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 2121

Bus de datosBus de datosSon las líneas por las que el procesador lee o escribe datos en la memoria o Son las líneas por las que el procesador lee o escribe datos en la memoria o en los periféricos. Consta normalmente de 8, 16, 32 o 64 hilos, cada uno de en los periféricos. Consta normalmente de 8, 16, 32 o 64 hilos, cada uno de ellos representa un bit del dato que el procesador lee o escribe.ellos representa un bit del dato que el procesador lee o escribe.

Bus de direccionesBus de direccionesSon las líneas por las que el procesador decide la posición de memoria con la Son las líneas por las que el procesador decide la posición de memoria con la que quiere comunicarse. Cada posición tiene un número y dependiendo del que quiere comunicarse. Cada posición tiene un número y dependiendo del número de hilos que compongan dicho bus, el procesador podrá manejar más número de hilos que compongan dicho bus, el procesador podrá manejar más o menos memoria. Aunque el bus de datos sea de más de 8 bits, por razones o menos memoria. Aunque el bus de datos sea de más de 8 bits, por razones de compatibilidad las posiciones de memoria se numeran de 8 en 8 bits. Por de compatibilidad las posiciones de memoria se numeran de 8 en 8 bits. Por cada hilo del bus de direcciones circula un bit, y la dirección se forma con el cada hilo del bus de direcciones circula un bit, y la dirección se forma con el número binario que representan dichos bits. Los tamaños más comunes de número binario que representan dichos bits. Los tamaños más comunes de bus de direcciones son 16(lo que permite tener 64Kb de memoria), 20 bus de direcciones son 16(lo que permite tener 64Kb de memoria), 20 (1Mb), 24 (16Mb) y 32 (4Gb).(1Mb), 24 (16Mb) y 32 (4Gb).

Bus de controlBus de controlLas señales de control sirven para que el procesador pueda controlar lo que Las señales de control sirven para que el procesador pueda controlar lo que hace, por ejemplo hay una llamada hace, por ejemplo hay una llamada W/ R W/ R que le sirve al procesador para que le sirve al procesador para indicar cuando quiere leerindicar cuando quiere leer y y cuando quiere escribir, si la señal está a 0 se cuando quiere escribir, si la señal está a 0 se trata de una lectura y si está a 1 el procesador necesita escribirtrata de una lectura y si está a 1 el procesador necesita escribir

Comunicación con el sistema. BUSESComunicación con el sistema. BUSES

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 2222

09/03/2008

12

Bus de direcciones: Bus de direcciones: AA00…A…A2323

Bus de datos: Bus de datos: DD00…D…D1515

Bus de control: Bus de control: W/R, M/IOW/R, M/IO

Alimentación: Alimentación: VVCCCC

Masa de referencia: Masa de referencia: VVSSSS

Entrada de reloj: Entrada de reloj: CLK2CLK2

Interrupción: Interrupción: INTRINTR

Buses del 80386Buses del 80386--SX de AMDSX de AMD

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 2323

Diagrama de los buses de un ordenadorDiagrama de los buses de un ordenador

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 2424

09/03/2008

13

"Chipset" significa "conjunto de chips"."Chipset" significa "conjunto de chips".Normalmente, en las placas base se trata de 2 chips, Normalmente, en las placas base se trata de 2 chips, denominados denominados NorthbridgeNorthbridge y y SouthbridgeSouthbridge..

CHIPSETCHIPSET

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 2525

Controla aspectosControla aspectos específicos específicos deldel microprocesador y la microprocesador y la memoria (tipo de bus y de memoria (tipo de bus y de

memoria, por ejemplo)memoria, por ejemplo)

Controla los aparatos de I/OControla los aparatos de I/O(entrada/salida: disco duro, (entrada/salida: disco duro,

USB, ...)USB, ...)

Mapeado en memoriaMapeado en memoria: (Motorola): (Motorola)Se reservan determinadas direcciones de memoria para los Se reservan determinadas direcciones de memoria para los periféricos.periféricos.

Espacio de E/S separadoEspacio de E/S separado: (Intel): (Intel)El µP posee una señal de control llamada M/IO, con la que el El µP posee una señal de control llamada M/IO, con la que el procesador indica si quiere comunicarse con un periférico procesador indica si quiere comunicarse con un periférico (0), o con la memoria (1).(0), o con la memoria (1).

Las direcciones de los periféricos se suelen llamar Las direcciones de los periféricos se suelen llamar puertos.puertos.En cualquiera de los dos casos anteriores, en el acceso En cualquiera de los dos casos anteriores, en el acceso a los periféricos el procesador emplea tres a los periféricos el procesador emplea tres estrategias:estrategias:

Escrutinio Escrutinio Interrupción Interrupción Acceso directo a memoriaAcceso directo a memoria

Comunicación con el sistemaComunicación con el sistema

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 2626

09/03/2008

14

Consiste en leer periódicamente el estado del periférico Consiste en leer periódicamente el estado del periférico para decidir lo que debe hacer. para decidir lo que debe hacer. Por ejemplo, si se usa un teclado de esta forma, Por ejemplo, si se usa un teclado de esta forma, periódicamente (por ejemplo, cada centésima de segundo) periódicamente (por ejemplo, cada centésima de segundo) se lee a través de un puerto un registro de estado del se lee a través de un puerto un registro de estado del teclado, que informa de sí hay una tecla pendiente de ser teclado, que informa de sí hay una tecla pendiente de ser leída, en ese caso el procesador lee la tecla a través de otro leída, en ese caso el procesador lee la tecla a través de otro puerto.puerto.

EscrutinioEscrutinio

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 2727

El periférico interrumpe al procesador cuando necesita ser El periférico interrumpe al procesador cuando necesita ser atendidoatendido, para ello el procesador dispone de una señal de control , para ello el procesador dispone de una señal de control llamada llamada INTRINTR, que debe ser usada en ese caso, existe además un , que debe ser usada en ese caso, existe además un controlador de interrupciones externo encargado de canalizar controlador de interrupciones externo encargado de canalizar todas las posibles peticiones de interrupción. todas las posibles peticiones de interrupción. Cuando se interrumpe al procesador, Cuando se interrumpe al procesador, éste para lo que está éste para lo que está haciendo y ejecuta un programa de atención al periféricohaciendo y ejecuta un programa de atención al periférico. . Cuando acaba Cuando acaba dicho programa, dicho programa, se vuelve al estado anterior y se vuelve al estado anterior y continúa con lo que hacía al ser interrumpidocontinúa con lo que hacía al ser interrumpido. . La pila sirve para conservar el estado del procesador cuando se La pila sirve para conservar el estado del procesador cuando se produce la interrupción, y poder continuar más adelante. Por produce la interrupción, y poder continuar más adelante. Por ejemplo, el reloj funciona de esta forma. Cada cierto tiempo (por ejemplo, el reloj funciona de esta forma. Cada cierto tiempo (por ejemplo, una centésima de segundo) interrumpe al procesador y le ejemplo, una centésima de segundo) interrumpe al procesador y le fuerza a que ejecute un programa que se encarga de incrementar fuerza a que ejecute un programa que se encarga de incrementar la hora, que está almacenada en varias posiciones de memoria (una la hora, que está almacenada en varias posiciones de memoria (una para las centésimas de segundo, otra para los segundos, etc.).para las centésimas de segundo, otra para los segundos, etc.).

InterrupciónInterrupción

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 2828

09/03/2008

15

Cuando un periférico necesita enviar varios datos Cuando un periférico necesita enviar varios datos consecutivamente a memoria, los dos métodos anteriores son muy consecutivamente a memoria, los dos métodos anteriores son muy difíciles de emplear y se emplea éste, que difíciles de emplear y se emplea éste, que consiste en tener un consiste en tener un chip de apoyo al procesador que se llama controlador de DMA chip de apoyo al procesador que se llama controlador de DMA (acceso directo a memoria) que es capaz de leer y escribir en (acceso directo a memoria) que es capaz de leer y escribir en memoria sin ayuda del procesadormemoria sin ayuda del procesador. . Un Un ejemploejemplo de esto es el caso de de esto es el caso de los disquetes, cuando se lee un los disquetes, cuando se lee un sector, se deben transferir 512 bytes del disquete a la memoriasector, se deben transferir 512 bytes del disquete a la memoria. . En este caso, En este caso, se programa al controlador de disquetes para que se programa al controlador de disquetes para que lea el sector y lo envíe al controlador de DMAlea el sector y lo envíe al controlador de DMA. . Por otra parte, se programa al controlador de DMA para decirle Por otra parte, se programa al controlador de DMA para decirle que la unidad de disquetes va a enviarle 512 bytes, que tiene que que la unidad de disquetes va a enviarle 512 bytes, que tiene que poner a partir de determinada posición de memoria. poner a partir de determinada posición de memoria. Después de hecho esto, Después de hecho esto, el procesador no tiene que intervenir el procesador no tiene que intervenir para nada en la operaciónpara nada en la operación, la realizan entera solos el controlador , la realizan entera solos el controlador de disquetes y el controlador de DMA. Para avisar al procesador de disquetes y el controlador de DMA. Para avisar al procesador de que la lectura ha concluido se utiliza una interrupción.de que la lectura ha concluido se utiliza una interrupción.

Acceso directo a memoriaAcceso directo a memoria

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 2929

Son instrucciones que controlan paso a paso el Son instrucciones que controlan paso a paso el funcionamiento del procesadorfuncionamiento del procesadorSon propias de cada arquitectura Son propias de cada arquitectura Características:Características:

Están en código binarioEstán en código binarioHacen referencia directa a registros y unidades funcionales del Hacen referencia directa a registros y unidades funcionales del microprocesadormicroprocesadorTienen dos partes: una dedicada al código de la operación y otra Tienen dos partes: una dedicada al código de la operación y otra dedicada al operando u operandos (si existen)dedicada al operando u operandos (si existen)

Lenguaje máquinaLenguaje máquina

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 3030

09/03/2008

16

Es un lenguaje complicado, por lo que se buscó algo que se Es un lenguaje complicado, por lo que se buscó algo que se pareciera más al humano:pareciera más al humano:

LENGUAJE ENSAMBLADORLENGUAJE ENSAMBLADORCada instrucción se sustituyó por un mnemónico:Cada instrucción se sustituyó por un mnemónico:

ADDADD SumarSumarSUBSUB Restar, …Restar, …

Lenguaje máquina Lenguaje máquina -- lenguaje ensambladorlenguaje ensamblador

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 3131

Instrucciones sin operando: CLCInstrucciones sin operando: CLCBorra (Clear) el Borra (Clear) el flagflag de de CarryCarry

Instrucciones con un operando: INC IInstrucciones con un operando: INC IIncrementa en 1 el contenido de la posición de memoria o registro IIncrementa en 1 el contenido de la posición de memoria o registro I

Instrucciones con dos operandos: ADD I,3Instrucciones con dos operandos: ADD I,3Suma los números I y 3 (en registros o en memoria) y almacena el Suma los números I y 3 (en registros o en memoria) y almacena el resultado en I.resultado en I.

Los operandos de las instrucciones pueden estar en la Los operandos de las instrucciones pueden estar en la memoria principal del ordenador, en registros, o en la propia memoria principal del ordenador, en registros, o en la propia instrucción.instrucción.Los métodos para especificarLos métodos para especificar los operandos se conocen los operandos se conocen habitualmente como:habitualmente como:MODOS DE DIRECCIONAMIENTOMODOS DE DIRECCIONAMIENTO

Lenguaje máquina Lenguaje máquina -- tipos de instruccionestipos de instrucciones

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 3232

Cada procesador Cada procesador tiene los suyos tiene los suyos

propiospropios

09/03/2008

17

Máquina Intel 80x86:Máquina Intel 80x86:Bus de datos y direcciones: 16 bitsBus de datos y direcciones: 16 bitsRegistros de 16 bits: AX, BX, CX, DXRegistros de 16 bits: AX, BX, CX, DX

En estos registros se puede acceder solo a una mitad(8 bits): En estos registros se puede acceder solo a una mitad(8 bits): AHAH (parte alta), (parte alta), ALAL (parte baja).(parte baja).

Instrucción: MOV Instrucción: MOV Mueve datosMueve datosTiene dos operandosTiene dos operandos

Los números en HexadecimalLos números en Hexadecimal

Modos de direccionamiento Modos de direccionamiento IntelIntel

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 3333

Fuente:Fuente:el dato que se copiael dato que se copia

Destino:Destino:donde se copia donde se copia un registroun registro

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 3434

Modos de direccionamientoModos de direccionamiento

InmediatoInmediatoDirectoDirectoIndirectoIndirectoRegistroRegistroRegistro indirectoRegistro indirectoDesplazamiento (Indexado) Desplazamiento (Indexado)

09/03/2008

18

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 3535

Direccionamiento inmediatoDireccionamiento inmediatoEl dato es parte de la instrucciónEl dato es parte de la instrucciónOperando = campo direcciónOperando = campo direcciónejemplo. ADD 5ejemplo. ADD 5

Suma 5 al contenido del acumuladorSuma 5 al contenido del acumulador5 es operando5 es operandoMOV AX, 5MOV AX, 5 Pone el número 5 en el registro AXPone el número 5 en el registro AX

No hay referencia a memoria para extraer datosNo hay referencia a memoria para extraer datosRápidoRápidoRango limitadoRango limitadoDiagrama:Diagrama:

OperandoOperandoOpcodeOpcode

Instrucción

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 3636

Direccionamiento directoDireccionamiento directoEl campo de direcciones contiene la dirección del operandoEl campo de direcciones contiene la dirección del operandoLa dirección efectiva (EA) = campo de dirección (A)La dirección efectiva (EA) = campo de dirección (A)ejemplo. ADD Aejemplo. ADD A

Suma el contenido de la celda A al acumuladorSuma el contenido de la celda A al acumuladorBuscar en memoria la dirección A para el operandoBuscar en memoria la dirección A para el operandoMOV AX, [1234]MOV AX, [1234] LeeLee el dato de 16 bits contenido en las el dato de 16 bits contenido en las direcciones de memoria 1234 y 1235, colocándolo en AXdirecciones de memoria 1234 y 1235, colocándolo en AX

Una sola referencia a memoria para accesar datosUna sola referencia a memoria para accesar datosNo se hacen cálculos adicionales para trabajar la dirección efectivaNo se hacen cálculos adicionales para trabajar la dirección efectivaEspacio de direcciones limitadoEspacio de direcciones limitadoDiagrama:Diagrama:

DirecciónDirección AAOpcodeOpcodeInstrucción Memoria

Operando

09/03/2008

19

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 3737

Direccionamiento indirectoDireccionamiento indirectoCeldas de memoria apuntadas por un campo de dirección que Celdas de memoria apuntadas por un campo de dirección que contiene la dirección (apuntador) al operando (dato).contiene la dirección (apuntador) al operando (dato).EA = (A)EA = (A)

Busca en A, encuentra la dirección (A) y ahí busca el operandoBusca en A, encuentra la dirección (A) y ahí busca el operandoEjemplo. ADD (A)Ejemplo. ADD (A)

Suma el contenido de una celda apuntada por el contenido de A al Suma el contenido de una celda apuntada por el contenido de A al acumuladoracumulador

Espacio de direccionamiento grandeEspacio de direccionamiento grande22nn donde n = es la longitud de la palabradonde n = es la longitud de la palabraPuede ser anidado, multinivel, en cascadaPuede ser anidado, multinivel, en cascada

ejemplo. EA = (((A)))ejemplo. EA = (((A)))¿Cómo sería el diagrama?¿Cómo sería el diagrama?

MOV AX, [BX]MOV AX, [BX] Se lee el contenido de BX, supongamos que es 2345, Se lee el contenido de BX, supongamos que es 2345, el contenido de 2345 y 2346 pasa a AXel contenido de 2345 y 2346 pasa a AX

Varios accesos a memoria para encontrar el operandoVarios accesos a memoria para encontrar el operandoMás lentoMás lento

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 3838

Diagrama de direccionamiento indirectoDiagrama de direccionamiento indirecto

Dirección ADirección AOpcodeOpcode

InstrucciónInstrucción

MemoriaMemoria

Operando

Apuntador al operandoApuntador al operando

09/03/2008

20

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 3939

Direccionamiento registroDireccionamiento registroEl operando está en el registro nombrado en el campo direcciónEl operando está en el registro nombrado en el campo direcciónEA = REA = RNúmero limitado de registrosNúmero limitado de registrosSe requiere un campo de direcciones muy pequeñoSe requiere un campo de direcciones muy pequeño

Instrucciones más cortasInstrucciones más cortasExtracción de instrucciones más rápidaExtracción de instrucciones más rápidaMOV AX, BX Copia el contenido del registro BX en el AXMOV AX, BX Copia el contenido del registro BX en el AX

No se hace acceso a memoriaNo se hace acceso a memoriaLa ejecución es muy rápidaLa ejecución es muy rápidaEspacio de direcciones muy limitadoEspacio de direcciones muy limitadoMuchos registros ayudan al rendimientoMuchos registros ayudan al rendimiento

Requiere una buena programación en ensamblador o el desarrollo de Requiere una buena programación en ensamblador o el desarrollo de un buen compiladorun buen compiladorProgramando en CProgramando en C

registerregister intint aa;;

Diagrama de direccionamiento registroDiagrama de direccionamiento registro

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 4040

DirecciónDirección del del RegistroRegistro RR

InstrucciónInstrucción

RegistrosRegistrosOpcodeOpcode

OperandoOperando

09/03/2008

21

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 4141

Direccionamiento indirecto con registroDireccionamiento indirecto con registro

EA = (R)EA = (R)El operando está en una celda de memoria apuntado por el El operando está en una celda de memoria apuntado por el contenido del registro Rcontenido del registro REspacio de direcciones grande (2Espacio de direcciones grande (2nn))No se hace acceso a memoriaNo se hace acceso a memoriaLa ejecución es muy rápidaLa ejecución es muy rápidaEspacio de direcciones muy limitadoEspacio de direcciones muy limitadoMuchos registros ayudan al rendimientoMuchos registros ayudan al rendimiento

Requiere una buena programación en ensamblador o el desarrollo Requiere una buena programación en ensamblador o el desarrollo de un buen compiladorde un buen compiladorProgramando en CProgramando en C

registerregister intint aa;;

Diagrama de direccionamiento indirecto con Diagrama de direccionamiento indirecto con registroregistro

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 4242

InstrucciónInstrucción

OpcodeOpcodeMemoriaMemoria

Dirección del registro RDirección del registro R

OperandoOperandoApuntador al Apuntador al operandooperando

RegistrosRegistros

09/03/2008

22

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 4343

Direccionamiento con desplazamientoDireccionamiento con desplazamientoEA = A + (R)EA = A + (R)El campo de direcciones tiene dos valoresEl campo de direcciones tiene dos valores

A = valor baseA = valor baseR = registro que tiene el desplazamientoR = registro que tiene el desplazamientoo viceversao viceversa

RegistroRegistro RROpcodeOpcode

InstrucciónInstrucción

MemoriaMemoriaDirecciónDirección AA

++ OperandoOperandoApuntador al Apuntador al operandooperando

RegistrosRegistros

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 4444

Direccionamiento relativoDireccionamiento relativoUna versión de direccionamiento con desplazamientoUna versión de direccionamiento con desplazamientoR = Contador del programa, PCR = Contador del programa, PCEA = A + (PC)EA = A + (PC)

Obtener operando de A celdas a partir de la posición actualObtener operando de A celdas a partir de la posición actualApuntada por el registro PCApuntada por el registro PC

Localidad de referencias y el uso de la cachéLocalidad de referencias y el uso de la cachéEl operando es un número que sumado al El operando es un número que sumado al contador de contador de programaprograma nos da la dirección del dato:nos da la dirección del dato:JMP +25JMP +25La siguiente instrucción que se ejecutaráLa siguiente instrucción que se ejecutará será la que será la que encuentre 25 posiciones de memoria más abajoencuentre 25 posiciones de memoria más abajo

09/03/2008

23

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 4545

Direccionamiento indexadoDireccionamiento indexadoA = baseA = baseR = desplazamientoR = desplazamientoEA = A + REA = A + RBueno para el acceso de arreglosBueno para el acceso de arreglos

EA = A + REA = A + RR++R++

La instrucción contiene un número que, sumado al La instrucción contiene un número que, sumado al registro registro índice, índice, indica la dirección de memoria donde está el datoindica la dirección de memoria donde está el datoMOV AL, 1234[BX]MOV AL, 1234[BX] Suma 1234 con el contenido del registro Suma 1234 con el contenido del registro BX (que actúa como registro índice). El resultado será la BX (que actúa como registro índice). El resultado será la dirección del dato buscado, que se copiará en la parte baja dirección del dato buscado, que se copiará en la parte baja del registro AX (AL)del registro AX (AL)

Los procesadores reales no tienen registros específicos.Los procesadores reales no tienen registros específicos.Contienen un conjunto de registros generales que se Contienen un conjunto de registros generales que se utilizarán para las distintas tareasutilizarán para las distintas tareas..

DedicadosDedicados

De propósito generalDe propósito general

ProcesadoresProcesadores

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 4646

Se reduce su campo de aplicación Se reduce su campo de aplicación para que sean mas efectivos en para que sean mas efectivos en

determinadas aplicaciones:determinadas aplicaciones:ajedrez, imágenes 3D, etc.ajedrez, imágenes 3D, etc.

Se buscan prestaciones Se buscan prestaciones generalesgenerales

09/03/2008

24

CPUCPU Plataformas OperativasPlataformas Operativas 4747

RISC (RISC (ReducedReduced InstructionInstruction Set Set ComputerComputer))

Características clave:Características clave:Muchos registros de propósito generalMuchos registros de propósito generalEl uso de la tecnología del compilador para optimizar el El uso de la tecnología del compilador para optimizar el uso de los registrosuso de los registrosConjunto de instrucciones limitado y simpleConjunto de instrucciones limitado y simpleÉnfasis en optimizar el Énfasis en optimizar el pipeliningpipelining de las instruccionesde las instruccionesUna instrucción por cicloUna instrucción por cicloOperaciones de registro a registroOperaciones de registro a registroMenos modos de direccionamiento simplesMenos modos de direccionamiento simplesMenos formatos de instrucciones simplesMenos formatos de instrucciones simplesFormato de instrucción fijoFormato de instrucción fijoMás tiempo/esfuerzo para compilarMás tiempo/esfuerzo para compilar

ReducedReduced InstructionInstruction Set Set ComputerComputerCPUsCPUs con un conjunto de instrucciones más con un conjunto de instrucciones más simple y pequeño.simple y pequeño.

Ejecución más rápida de los programas.Ejecución más rápida de los programas.Instrucciones de Longitud Fija (32 ó 64 Bits)Instrucciones de Longitud Fija (32 ó 64 Bits)

Diferencia con los CISC. Ventaja/Desventaja.Diferencia con los CISC. Ventaja/Desventaja.Dos características principalesDos características principales

CPUsCPUs RISC contienen muchos RISC contienen muchos registros internoregistros internoss..CargaCarga y y almacenamientoalmacenamiento: Instrucciones dedicadas.: Instrucciones dedicadas.

Ventaja: Reducción de Modos de Direccionamiento y por lo Ventaja: Reducción de Modos de Direccionamiento y por lo tanto el acceso a memoria externa.tanto el acceso a memoria externa.

Filosofía de diseño RISCFilosofía de diseño RISC

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 4848

09/03/2008

25

Múltiples operaciones de bajo nivel, múltiples Múltiples operaciones de bajo nivel, múltiples instrucciones: instrucciones:

SUMAR ($00) + ($03) y guardarlo en $07SUMAR ($00) + ($03) y guardarlo en $07

Filosofía de diseño RISCFilosofía de diseño RISC

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 4949

CPU $00

Control y ALU

Mem

oria 8‐Bits

$10$00$2E$01$89$02$1A$03$3E$04$5F$05$2E$06$30$07

Bus de Direcciones

Bus de Datos

$00

$10

$03

$1A

$10

$1A

$2A

$03 $07

$07

$2A

Cargar el valor que hay en $00Cargar el valor que hay en $03Sumar $10 con $1A y llevarlo a un registroGuardar el valor del registro en $07

$10 $1A$10+$1A=$2A

ReducedReduced InstructionInstruction Set Set ComputerComputerVarias instrucciones:Varias instrucciones:

Filosofía de diseño RISCFilosofía de diseño RISC

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 5050

Reg. Op AReg. Op A

Reg. Op BReg. Op B

Instrucción Instrucción de Cargade Carga

MemoriaMemoria Reg. Result.Reg. Result.

Instrucción Sumar

MemoriaMemoria

Instrucción de Almacenamiento

09/03/2008

26

CPUCPU Plataformas OperativasPlataformas Operativas 5151

Intención del CISCIntención del CISC((ComplexComplex InstructionInstruction Set Set ComputerComputer))

Desarrollo fácil del compiladorDesarrollo fácil del compiladorMayor número de instrucciones, que realizan tanto operaciones Mayor número de instrucciones, que realizan tanto operaciones elementales como complejas elementales como complejas La mayoría de los tipos de instrucciones permiten que el acceso a La mayoría de los tipos de instrucciones permiten que el acceso a memoria sea de forma directamemoria sea de forma directaNúmero considerable de modos de direccionamientoNúmero considerable de modos de direccionamientoLos formatos de las instrucciones tienen longitudes diferentesLos formatos de las instrucciones tienen longitudes diferentesHacer la ejecución eficienteHacer la ejecución eficiente

Operaciones complejas en microOperaciones complejas en micro--códigocódigoSoporta lenguajes de alto nivel más complejosSoporta lenguajes de alto nivel más complejosEl costo del software excede los costos del hardwareEl costo del software excede los costos del hardwareCada vez más lenguajes de alto nivel complejosCada vez más lenguajes de alto nivel complejosHuecos en la semánticaHuecos en la semánticaLos diseños RISC pueden sacar provecho de la inclusión de algunas Los diseños RISC pueden sacar provecho de la inclusión de algunas características CISC y los CISC sacar provecho de algunas características CISC y los CISC sacar provecho de algunas características RISCcaracterísticas RISCEjemplos: Ejemplos: PowerPCPowerPC y Pentiumy Pentium

ComplexComplex InstructionInstruction Set Set ComputerComputerCPUsCPUs con un conjunto de instrucciones con un conjunto de instrucciones bastante amplio.bastante amplio.

Reducción de Código en Memoria.Reducción de Código en Memoria.Operaciones complejas entre operandos Operaciones complejas entre operandos ubicados en registros y memoria.ubicados en registros y memoria.

VentajaVentaja: Facilidad de programación.: Facilidad de programación.DesventajaDesventaja: Memoria externa.: Memoria externa.

Aceptan muchos Aceptan muchos modos de direccionamientomodos de direccionamiento..VentajaVentaja: Facilidad de programación.: Facilidad de programación.DesventajaDesventaja: No comúnmente usados por el : No comúnmente usados por el compilador.compilador.

Filosofía de diseño CISCFilosofía de diseño CISC

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 5252

09/03/2008

27

Una instrucción, múltiples operaciones de bajo Una instrucción, múltiples operaciones de bajo nivel.nivel.

SUMAR ($00) + ($03) y guardarlo en $07SUMAR ($00) + ($03) y guardarlo en $07

Filosofía de diseño CISCFilosofía de diseño CISC

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 5353

CPU $00

Control y ALU

Mem

oria 8‐Bits

$10$00$2E$01$89$02$1A$03$3E$04$5F$05$2E$06$30$07

Bus de Direcciones

Bus de Datos

$00

$10

$03

$1A

$10

$1A

$2A

$03 $07

$07

$2A

$10$10+$1A$10+$1A=$2A

ComplexComplex InstructionInstruction Set Set ComputerComputerUna sola instrucción:Una sola instrucción:

Filosofía de diseño CISCFilosofía de diseño CISC

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 5454

Operando AOperando A

Operando BOperando B

Tomar datos de memoria principal Operación

ResultadoResultado

Llevar resultado a memoria principal

09/03/2008

28

El primer microprocesador de la historia, aunque hay alguna El primer microprocesador de la historia, aunque hay alguna disputa al respecto, fue el 4004, creado por Intel a petición de disputa al respecto, fue el 4004, creado por Intel a petición de un fabricante de calculadoras japonés, pero que al final no se un fabricante de calculadoras japonés, pero que al final no se llegó a usar, era un micro de 4 bits y fue diseñado a finales del llegó a usar, era un micro de 4 bits y fue diseñado a finales del año 1971.año 1971.El sucesor del 4004 fue el 8008, diseñado al año siguiente, ya era El sucesor del 4004 fue el 8008, diseñado al año siguiente, ya era un procesador de 8 bits, pero tampoco tuvo gran difusión. El un procesador de 8 bits, pero tampoco tuvo gran difusión. El primer procesador que se empleo en grandes cantidades fue el primer procesador que se empleo en grandes cantidades fue el 8080, fabricado el año 1974, tenía un bus de datos de 8 bits, un 8080, fabricado el año 1974, tenía un bus de datos de 8 bits, un bus de direcciones de 16 bits y 7 registros de 8 bits de propósito bus de direcciones de 16 bits y 7 registros de 8 bits de propósito general, más el contador de programa, puntero de pila y registro general, más el contador de programa, puntero de pila y registro de de flagsflags. Funcionaba a 2MHz. . Funcionaba a 2MHz. El primer procesador de la familia 80x86 fue el 8086, fabricado El primer procesador de la familia 80x86 fue el 8086, fabricado el año 1978, era ya un procesador de 16 bits, que tenía un bus de el año 1978, era ya un procesador de 16 bits, que tenía un bus de datos de 16 bits, un bus de direcciones de 20 bits y 7 registros datos de 16 bits, un bus de direcciones de 20 bits y 7 registros de 16 bits de propósito general, además de los consabidos PC (que de 16 bits de propósito general, además de los consabidos PC (que rebautizaron como IP), SP y rebautizaron como IP), SP y flagsflags. Funcionaba a 5MHz y . Funcionaba a 5MHz y posteriormente a 8MHzposteriormente a 8MHz

Familia INTEL: en el inicio …Familia INTEL: en el inicio …

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 5555

Un año después apareció el 8088, idéntico al anterior, salvo Un año después apareció el 8088, idéntico al anterior, salvo por tener un bus de datos de 8bits, lo que lo hacía muy por tener un bus de datos de 8bits, lo que lo hacía muy apropiado para construir un ordenador personal, ya que para apropiado para construir un ordenador personal, ya que para manejarlos periféricos podía ayudarse por los chips de 8 manejarlos periféricos podía ayudarse por los chips de 8 bits desarrollados para los microprocesadores de 8 bits bits desarrollados para los microprocesadores de 8 bits como el 8080, por ello fue el elegido por IBM para construir como el 8080, por ello fue el elegido por IBM para construir su ordenador IBM PC,PC/XT, portátil y en el su ordenador IBM PC,PC/XT, portátil y en el PCjrPCjr (PC (PC Junior). La velocidad también se mantuvo en 5 y 8 Junior). La velocidad también se mantuvo en 5 y 8 Mhz.Mhz.El siguiente miembro de la familia, el 80186, ha pasado por El siguiente miembro de la familia, el 80186, ha pasado por el mundo del PC, prácticamente desapercibido. Suponía el mundo del PC, prácticamente desapercibido. Suponía respecto a sus predecesores, un aumento de velocidad respecto a sus predecesores, un aumento de velocidad pequeño y no rentaba su fabricación para las mejoras pequeño y no rentaba su fabricación para las mejoras conseguidas, por lo que se instaló en muy pocos aparatos. conseguidas, por lo que se instaló en muy pocos aparatos. Sus buses de datos y de direcciones eran iguales que en los Sus buses de datos y de direcciones eran iguales que en los micros anteriores. También existió el 80188.micros anteriores. También existió el 80188.

Familia INTEL: 8088Familia INTEL: 8088

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 5656

09/03/2008

29

El 80286 fue un avance importante en la historia del PC, El 80286 fue un avance importante en la historia del PC, comercializándose a mediados del año 1.984 bajo el modelo AT y todos comercializándose a mediados del año 1.984 bajo el modelo AT y todos los compatibles con él.los compatibles con él.Es un microprocesador que trabaja con un bus de datos de 16 bits, con Es un microprocesador que trabaja con un bus de datos de 16 bits, con un bus de direcciones de 24 bits (por lo que puede trabajar con una un bus de direcciones de 24 bits (por lo que puede trabajar con una capacidad de memoria de 16Mb) y una velocidad de reloj que oscila capacidad de memoria de 16Mb) y una velocidad de reloj que oscila entre 8 y 16Mhz. Además de la mejora de velocidad (superior a lo que entre 8 y 16Mhz. Además de la mejora de velocidad (superior a lo que indican los MHz del reloj), introdujo un nuevo modo de funcionamiento, indican los MHz del reloj), introdujo un nuevo modo de funcionamiento, el modo protegido, el modo compatible con el 8086 se llamó modo real. el modo protegido, el modo compatible con el 8086 se llamó modo real. El modo protegido estaba diseñado para trabajar en multitarea.El modo protegido estaba diseñado para trabajar en multitarea.El 80286 tiene varios fallos, el primero y principal es que los programas El 80286 tiene varios fallos, el primero y principal es que los programas diseñados para funcionar en modo real no pueden hacerlo en modo diseñados para funcionar en modo real no pueden hacerlo en modo protegido y viceversa, además el aumento de memoria, la multitarea, la protegido y viceversa, además el aumento de memoria, la multitarea, la memoria virtual, etc. es sólo posible para los programas en modo memoria virtual, etc. es sólo posible para los programas en modo protegido. protegido. Además, seguía empleando segmentos de 64Kb, lo cual es tolerable en Además, seguía empleando segmentos de 64Kb, lo cual es tolerable en un micro como el 8086 pensado para la monotarea, pero no lo es como el un micro como el 8086 pensado para la monotarea, pero no lo es como el 80286, y para colmo, el procesador arranca en modo real, tiene una 80286, y para colmo, el procesador arranca en modo real, tiene una instrucción que permite pasar a modo protegido, pero olvidaron poner instrucción que permite pasar a modo protegido, pero olvidaron poner una instrucción para volver a modo real. Por todo ello el modo protegido una instrucción para volver a modo real. Por todo ello el modo protegido es prácticamente inútil y el 80286 se queda en un 8086 más rápido.es prácticamente inútil y el 80286 se queda en un 8086 más rápido.

Familia INTEL: 80286Familia INTEL: 80286

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 5757

El año 1985 INTEL empezó la fabricación del 80386, que pasaría El año 1985 INTEL empezó la fabricación del 80386, que pasaría a denominarse posteriormente 386DX, en este caso las mejoras a denominarse posteriormente 386DX, en este caso las mejoras eran importantes, lo fundamental es que extendió el bus de eran importantes, lo fundamental es que extendió el bus de datos, el de direcciones y los registros a 32 bits, ahora se podía datos, el de direcciones y los registros a 32 bits, ahora se podía direccionar toda la memoria, que en este caso es nada menos que direccionar toda la memoria, que en este caso es nada menos que 4Gb, sin necesidad de segmentos. 4Gb, sin necesidad de segmentos. Además la velocidad pasó a ser entre 16 y 40 MHz y el modo Además la velocidad pasó a ser entre 16 y 40 MHz y el modo protegido, único en el que se puede acceder a las mejoras de protegido, único en el que se puede acceder a las mejoras de memoria, se hizo más compatible con el modo real: no sólo memoria, se hizo más compatible con el modo real: no sólo incluyeron la instrucción para volver a modo real, sino que incluyeron la instrucción para volver a modo real, sino que hicieron que los programas diseñados para modo real pudieran hicieron que los programas diseñados para modo real pudieran funcionar en un funcionar en un submodosubmodo del modo protegido, el modo V86, del modo protegido, el modo V86, pudiendo ejecutarse en multitarea varios de ellos o con pudiendo ejecutarse en multitarea varios de ellos o con programas diseñados para el modo protegido. programas diseñados para el modo protegido. Por alguna extraña razón, IBM en principio no empleó este micro Por alguna extraña razón, IBM en principio no empleó este micro en sus ordenadores y hubo que esperar a la llegada de los PS/2 en sus ordenadores y hubo que esperar a la llegada de los PS/2 para verlo en modelos de IBM.para verlo en modelos de IBM.

Familia INTEL: 80386Familia INTEL: 80386

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 5858

09/03/2008

30

Tres años más tarde del lanzamiento del 386DX, Intel sacó al mercado el Tres años más tarde del lanzamiento del 386DX, Intel sacó al mercado el 386SX, para competir con AMD que fabricaba micros 80286 más rápidos y 386SX, para competir con AMD que fabricaba micros 80286 más rápidos y baratos que los de Intel. Básicamente el 386SX es un 386DX por dentro y baratos que los de Intel. Básicamente el 386SX es un 386DX por dentro y un 80286 por fuera, es decir, tiene todas las características del 386DX, un 80286 por fuera, es decir, tiene todas las características del 386DX, pero se ha reducido el bus de datos a 16 bits y el de direcciones a 24,lo que pero se ha reducido el bus de datos a 16 bits y el de direcciones a 24,lo que permite emplear como chips de apoyo los mismos que para el 80286 y sin permite emplear como chips de apoyo los mismos que para el 80286 y sin embargo tener un auténtico micro de 32 bits.embargo tener un auténtico micro de 32 bits.El siguiente de la serie fue el 486DX, básicamente igual al 386DX, pero con El siguiente de la serie fue el 486DX, básicamente igual al 386DX, pero con el coprocesador y 8Kb de memoria caché incorporada en el chip. Los el coprocesador y 8Kb de memoria caché incorporada en el chip. Los modelos anteriores disponían de un compañero llamado 8087, 80287, 80387 modelos anteriores disponían de un compañero llamado 8087, 80287, 80387 que permitía realizar operaciones en coma flotante, ya que el procesador que permitía realizar operaciones en coma flotante, ya que el procesador sólo es capaz de operar con enteros, en el caso del 486DX no era ya sólo es capaz de operar con enteros, en el caso del 486DX no era ya necesario, pues estaba incluido en el propio procesador. necesario, pues estaba incluido en el propio procesador. La memoria caché era en este modelo casi imprescindible, era el primero La memoria caché era en este modelo casi imprescindible, era el primero que se acercaba a los procesadores RISC, era capaz de ejecutar algunas de que se acercaba a los procesadores RISC, era capaz de ejecutar algunas de sus instrucciones en tan sólo un ciclo de reloj, y para poder hacer eso se sus instrucciones en tan sólo un ciclo de reloj, y para poder hacer eso se necesita tener los datos en el propio procesador, sin necesidad de ir a necesita tener los datos en el propio procesador, sin necesidad de ir a buscarlos a la memoria. Empezó a funcionar a 20MHz y llegó hasta los buscarlos a la memoria. Empezó a funcionar a 20MHz y llegó hasta los 50MHz50MHz

Familia INTEL: 386SXFamilia INTEL: 386SX

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 5959

Posteriormente y de modo análogo al caso del 386SX, Intel sacó Posteriormente y de modo análogo al caso del 386SX, Intel sacó una versión reducida del 486DX, llamada 486SX, a la que se le una versión reducida del 486DX, llamada 486SX, a la que se le había quitado el coprocesador. También comercializó un 487SX, había quitado el coprocesador. También comercializó un 487SX, que era en realidad un 486DX que además desactivaba el 486SX que era en realidad un 486DX que además desactivaba el 486SX junto al que se instalaba. junto al que se instalaba. Posteriormente aparecieron los 486DX2 y 486SX2, eran iguales Posteriormente aparecieron los 486DX2 y 486SX2, eran iguales que sus homónimos sin el 2, pero internamente doblaban la que sus homónimos sin el 2, pero internamente doblaban la velocidad del reloj; así el 486DX2velocidad del reloj; así el 486DX2--66 funcionaba internamente a 66 funcionaba internamente a 66MHz y externamente a 33MHz igual que el 486DX66MHz y externamente a 33MHz igual que el 486DX--33, con ello 33, con ello y gracias a los 8Kb de memoria caché interna casi duplicaba el y gracias a los 8Kb de memoria caché interna casi duplicaba el rendimiento de un 486DXrendimiento de un 486DX--33. 33. Más adelante aparecieron modelos 486DX4 que en realidad Más adelante aparecieron modelos 486DX4 que en realidad multiplicaban por 3 la frecuencia externa de funcionamiento, es multiplicaban por 3 la frecuencia externa de funcionamiento, es decir un 486DX4decir un 486DX4--100 funcionaba a 33MHz por fuera y a 100MHz 100 funcionaba a 33MHz por fuera y a 100MHz por dentro, AMD llegó incluso a fabricar 486DX5por dentro, AMD llegó incluso a fabricar 486DX5--133 que 133 que funcionaban a 33MHz por fuera y 133MHz internamente.funcionaban a 33MHz por fuera y 133MHz internamente.

Familia INTEL: 486Familia INTEL: 486

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 6060

09/03/2008

31

En sus batallas legales con En sus batallas legales con CyrixCyrix y AMD para que no y AMD para que no pudieran usar el mismo nombre en los procesadores pudieran usar el mismo nombre en los procesadores compatibles que fabricaban, no consiguió que le dejaran compatibles que fabricaban, no consiguió que le dejaran usar los números 386, 486, etc. como marca registrada, por usar los números 386, 486, etc. como marca registrada, por tanto cambió la numeración por una palabra como Pentium tanto cambió la numeración por una palabra como Pentium que sí le fue posible registrar como marca. que sí le fue posible registrar como marca. Por eso los procesadores compatibles Pentium de Por eso los procesadores compatibles Pentium de CyrixCyrix se se llaman 6x86 y los de AMD K5 y K6.Los primeros Pentium llaman 6x86 y los de AMD K5 y K6.Los primeros Pentium aparecieron el año 1991 y funcionaban a 60 y 66MHz (tanto aparecieron el año 1991 y funcionaban a 60 y 66MHz (tanto interna como externamente), las mejoras más significativas interna como externamente), las mejoras más significativas de los mismos eran: un bus de datos de 64bits, un tamaño de los mismos eran: un bus de datos de 64bits, un tamaño doble de la cache interna, pasando a 16Kb, 8Kb para datos y doble de la cache interna, pasando a 16Kb, 8Kb para datos y otros 8Kb para código, una unidad doble de operaciones con otros 8Kb para código, una unidad doble de operaciones con enteros, lo que le permite ejecutar simultáneamente 2 enteros, lo que le permite ejecutar simultáneamente 2 instrucciones por ciclo de reloj (es lo que se llama instrucciones por ciclo de reloj (es lo que se llama superescalarsuperescalar) y diversas mejorasen el rendimiento, como ) y diversas mejorasen el rendimiento, como predicción de saltos, etc.predicción de saltos, etc.

Familia INTEL: PentiumFamilia INTEL: Pentium

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 6161

Los siguientes microprocesadores fueron:Los siguientes microprocesadores fueron:El Pentium Pro, que cuenta en su interior no sólo con la cache L1, El Pentium Pro, que cuenta en su interior no sólo con la cache L1, sino también con 256 o 512Kb de caché L2, Utilizó encapsulado sino también con 256 o 512Kb de caché L2, Utilizó encapsulado distinto del Pentium. distinto del Pentium. El Pentium MMX, que incorpora 57 nuevas instrucciones que El Pentium MMX, que incorpora 57 nuevas instrucciones que operan con varios enteros a la vez, utilizando para ello los 64 bits operan con varios enteros a la vez, utilizando para ello los 64 bits de la mantisa de los registros del coprocesador, que pueden de la mantisa de los registros del coprocesador, que pueden dividir en 8 registros de 8 bits, 4 de 16 o 2 de 32 y operar dividir en 8 registros de 8 bits, 4 de 16 o 2 de 32 y operar simultáneamente con ellos. Utilizó el mismo encapsulado que el simultáneamente con ellos. Utilizó el mismo encapsulado que el Pentium y se fabricó hasta 233 MHz (velocidad interna, la Pentium y se fabricó hasta 233 MHz (velocidad interna, la velocidad externa era 66 MHz). velocidad externa era 66 MHz). El Pentium II, que es básicamente un Pentium Pro con El Pentium II, que es básicamente un Pentium Pro con instrucciones MMX. El Pentium MMX se fabrica hasta 233MHz y instrucciones MMX. El Pentium MMX se fabrica hasta 233MHz y el Pentium II hasta 450MHz. Como en el caso de los 486 estas el Pentium II hasta 450MHz. Como en el caso de los 486 estas velocidades son internas, externamente funcionan a 66MHz o a velocidades son internas, externamente funcionan a 66MHz o a 100MHz (Pentium II, desde el 350MHz).100MHz (Pentium II, desde el 350MHz).

Familia INTEL: PentiumFamilia INTEL: Pentium

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 6262

09/03/2008

32

El Pentium III se lanzó 28 de febrero de 1999 con velocidades El Pentium III se lanzó 28 de febrero de 1999 con velocidades de 450, 500 y 550MHz, aunque posteriormente alcanzó 1 de 450, 500 y 550MHz, aunque posteriormente alcanzó 1 GHz.GHz.Este procesador de Intel no descubre ninguna arquitectura Este procesador de Intel no descubre ninguna arquitectura innovadora: simplemente, se trata de un Pentium II modificado innovadora: simplemente, se trata de un Pentium II modificado para emplear un conjunto de 70 nuevas instrucciones para la para emplear un conjunto de 70 nuevas instrucciones para la aceleración de gráficos 3D, reproducción de vídeo y sonido aceleración de gráficos 3D, reproducción de vídeo y sonido digital, tratamiento de imágenes y reconocimiento de voz. digital, tratamiento de imágenes y reconocimiento de voz. Otra característica, que provocó cierto revuelo entre los Otra característica, que provocó cierto revuelo entre los consumidores y algunos medios informativos, fue la inclusión en consumidores y algunos medios informativos, fue la inclusión en cada procesador Pentium III de un número de serie único. El cada procesador Pentium III de un número de serie único. El número de serie lo leía el software con el fin de utilizarlo para dinúmero de serie lo leía el software con el fin de utilizarlo para di--versos fines como, por ejemplo, realizar una identificación de un versos fines como, por ejemplo, realizar una identificación de un usuario en una red local o en Internet. usuario en una red local o en Internet. Levantó airadas críticas entre los grupos defensores de la Levantó airadas críticas entre los grupos defensores de la privacidad de los usuarios de Internet, por lo que Intel decidió privacidad de los usuarios de Internet, por lo que Intel decidió que dicha característica se deshabilitará por defecto en los que dicha característica se deshabilitará por defecto en los Pentium III de nueva fabricación y que fuera el usuario quién la Pentium III de nueva fabricación y que fuera el usuario quién la activara mediante un software diseñado para tal efecto.activara mediante un software diseñado para tal efecto.

Familia INTEL: Pentium III Familia INTEL: Pentium III

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 6363

Este chip es de diseño totalmente nuevo. La mayor ventaja con Este chip es de diseño totalmente nuevo. La mayor ventaja con respecto al anterior es que se ha aumentado la longitud de la respecto al anterior es que se ha aumentado la longitud de la pipeline, lo que permite alcanzar mayores velocidades de reloj pipeline, lo que permite alcanzar mayores velocidades de reloj (cada instrucción se ejecuta en más etapas, cada una de ellas más (cada instrucción se ejecuta en más etapas, cada una de ellas más sencilla), el inconveniente es que cuando falla una predicción de sencilla), el inconveniente es que cuando falla una predicción de salto la penalización es mayor, por eso a igualdad de velocidad, es salto la penalización es mayor, por eso a igualdad de velocidad, es más lento que el Pentium III. más lento que el Pentium III. Para la sorpresa de la industria informática, el Pentium 4 no Para la sorpresa de la industria informática, el Pentium 4 no mejoró el viejo diseño P6 según las dos tradicionales formas para mejoró el viejo diseño P6 según las dos tradicionales formas para medir el rendimiento: medir el rendimiento: velocidad en el proceso de enteros u velocidad en el proceso de enteros u operaciones de coma flotanteoperaciones de coma flotante. . La estrategia de Intel fue La estrategia de Intel fue sacrificar el rendimiento de cada ciclo sacrificar el rendimiento de cada ciclo para para obtener a cambio mayor cantidad de ciclos por segundo obtener a cambio mayor cantidad de ciclos por segundo y y una mejora en las instrucciones SSE. Al igual que los demás una mejora en las instrucciones SSE. Al igual que los demás procesadores de Intel, el Pentium 4 se comercializa en una procesadores de Intel, el Pentium 4 se comercializa en una versión para equipos de bajo presupuesto (Celeron), y una versión para equipos de bajo presupuesto (Celeron), y una orientada a servidores de gama alta (orientada a servidores de gama alta (XeonXeon), además del normal.), además del normal.

Familia INTEL: Pentium Familia INTEL: Pentium iviv

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 6464

09/03/2008

33

Doble ProcesadorDoble ProcesadorIntel tiene cuatro variantes con doble procesador del Pentium 4. La Intel tiene cuatro variantes con doble procesador del Pentium 4. La primera es denominada primera es denominada PaxvillePaxville, que consiste en poco más que dos , que consiste en poco más que dos procesadores Prescott colocados en el mismo substrato. Le seguirá , procesadores Prescott colocados en el mismo substrato. Le seguirá , situándose el más básico de los Core2 situándose el más básico de los Core2 DuoDuo (E4300, 1,86 GHz) por (E4300, 1,86 GHz) por encima del más potente de los Pentium D (965 EE, 3,73 GHz). Esto se encima del más potente de los Pentium D (965 EE, 3,73 GHz). Esto se debe a que la arquitectura debe a que la arquitectura CoreCore 2 2 DuoDuo es muy eficiente, realiza mucho es muy eficiente, realiza mucho más trabajo por más trabajo por clockclock que que NetBurstNetBurst (Pentium 4); asemejándose al K8 (Pentium 4); asemejándose al K8 ((AthlonAthlon 64) de AMD en este sentido...64) de AMD en este sentido...DualCoreDualCore y y QuadCoreQuadCoreIntel a principios de 2006 presenta sus últimos procesadores Intel a principios de 2006 presenta sus últimos procesadores orientados a negocios, diseño, juegos, con procesadores de dos y cuatro orientados a negocios, diseño, juegos, con procesadores de dos y cuatro núcleos y velocidades de 1,7; 1,8; 2,1; 2,4; 2,5 núcleos y velocidades de 1,7; 1,8; 2,1; 2,4; 2,5 Ghz.Ghz. Aunque los precios Aunque los precios del procesador de 4 núcleos (del procesador de 4 núcleos (QuadCoreQuadCore) aún es muy alto es la muestra ) aún es muy alto es la muestra clara de que Intel seguirá al futuro incrementando los núcleos del clara de que Intel seguirá al futuro incrementando los núcleos del procesador para aumentar velocidad y rendimiento multimedia. En Mayo procesador para aumentar velocidad y rendimiento multimedia. En Mayo de 2007 en televisión vía satélite Intel presento un equipo que incluía un de 2007 en televisión vía satélite Intel presento un equipo que incluía un procesador de 80 núcleos que, según los informantes del evento es el procesador de 80 núcleos que, según los informantes del evento es el prototipo de los procesadores Intel para 2012.prototipo de los procesadores Intel para 2012.

Familia Intel: Doble, dual, Familia Intel: Doble, dual, quadquad, …, …

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 6565

Familia INTEL 80x86Familia INTEL 80x86

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 6666

09/03/2008

34

Familia Intel 80x86: otras consideracionesFamilia Intel 80x86: otras consideraciones

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 6767

Name Date Transistors Microns Clock speed

Data width MIPS

8080 1974 6,000 6 2 MHz 8 bits 0.64

8088 1979 29,000 3 5 MHz 16 bits 8-bit bus

0.33

80286 1982 134,000 1.5 6 MHz 16 bits 1

80386 1985 275,000 1.5 16 MHz 32 bits 5

80486 1989 1,200,000 1 25 MHz 32 bits 20

Pentium 1993 3,100,000 0.8 60 MHz 32 bits 64-bit bus

100

Pentium II 1997 7,500,000 0.35 233 MHz

32 bits 64-bit bus

~300

Pentium III 1999 9,500,000 0.25 450 MHz

32 bits 64-bit bus

~510

Pentium 4 2000 42,000,000 0.18 1.5 GHz 32 bits 64-bit bus

~1,700

Pentium 4 "Prescott" 2004 125,000,000 0.09 3.6 GHz

32 bits 64-bit bus

~7,000

Familia INTEL 80x86Familia INTEL 80x86

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 6868

09/03/2008

35

Familia INTEL 80x86Familia INTEL 80x86

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 6969

Familia INTEL 80x86Familia INTEL 80x86

José Mª González RíosJosé Mª González Ríos Informática Informática –– 2007/20082007/2008 7070


Recommended