Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EL PROCESADOR
Von Neumann propuso una estructura concreta para los ordenadores, y los que
se ajustan a esa estructura se conocen como máquinas de Von Neumann. Una má-
quina de Von Neumann consta de 3 unidades básicas: Procesador, también llamado
CPU (siglas de Unidad Central de Proceso, en inglés Central Process Unit), memoria
y unidad de E/S (que serán estudiados en este tema y en sucesivos. La unidad de
E/S permite que el ordenador reciba y envíe información al exterior.
23
Apuntes de Informática
PROCESADOR
MEMORIA
Unidad de control
(UC)
(1) UNIDAD DE E/S
(2)
Unidad aritmético- Puerto salida
lógica (ALU) Puerto entrada
La memoria esta compuesta de varias celdas, cada una de las cuales es capaz de
contener 1 byte y que tiene una dirección para permitirnos acceder a la misma, como
se muestra en la figura adjunta.
MEMORIA
. .
.. ..
00100 00010101
00011 01001001
00010 10110111
00001 10101101
00000 01101101
dirección datos
Para que el procesador pueda acceder a un determinado byte (para leerlo o para
escribir en él) es preciso que conozca su dirección.
El procesador esta conectado con la memoria a través de dos buses, que se llaman
bus de datos y bus de direcciones. El primero sirve para que el procesador intercam-
bie datos con la memoria y el segundo para especificar que dirección de memoria
debe emplear para ello. Además existen unas señales de control que permiten, entre
otras cosas, decir si queremos leer o escribir.
24
TEMA 2 – El procesador
Procesador Memoria
Bus de datos
Bus de direcciones
Lectura/escritura (W/R)
25
Apuntes de Informática
26
TEMA 2 – El procesador
grama. Dependiendo del tamaño en bytes de las instrucciones que se ejecuten, así
será incrementado el contador de programa. Una vez leída la instrucción, esta pasa a
la unidad de decodificación, que es la encargada de ver que tipo de instrucción es,
que operandos tiene, etc. Finalmente pasa a la unidad de ejecución donde es ejecuta-
da. Si para ejecutar la instrucción se precisa realizar alguna operación aritmética o
lógica se pasa el control a la ALU para que la realice. Después con el PC ya incremen-
tado empieza un nuevo ciclo para ejecutar la instrucción siguiente. Así pues el proce-
sador ejecuta los programas de modo secuencial, no obstante existen instrucciones
que permiten evitar esto, son las instrucciones de salto.
Parte de la memoria principal se reserva para ser utilizada como una pila (LIFO),
es decir el primer dato en entrar en la pila es el último en salir. Con lo cual es óptima
para guardar la información del estado del programa (valores de los registros, flags,
PC) cuando una interrupción requiere al procesador para otra tarea, permitiendo así
regresar al estado original de una forma natural.
27
Apuntes de Informática
Hasta ahora nos hemos ocupado de cómo es el procesador por dentro. Veamos
ahora como se comunica con el exterior.
El bus de datos 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
ellos representa un bit del dato que el procesador lee o escribe.
El bus de direcciones 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 depen-
diendo del 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 de
compatibilidad las posiciones de memoria se numeran de 8 en 8 bits. Análogamente
al bus de datos, por 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 bus de direcciones son 16 (lo que permite tener 64Kb de memoria), 20 (1Mb), 24
(16Mb) y 32 (4Gb).
Las señales de control sirven para que el procesador pueda controlar lo que hace,
por ejemplo hay una llamada W/ R que le sirve al procesador para indicar cuando
quiere leer y cuando quiere escribir, si la señal está a 0 se trata de una lectura y si está
a 1 el procesador necesita escribir.
28
TEMA 2 – El procesador
29
Apuntes de Informática
30
TEMA 2 – El procesador
Los ordenadores con uno o dos operandos por instrucción son los más frecuentes,
aunque existen ordenadores con más operandos por instrucción e incluso sin refe-
rencia a operandos en la instrucción, y en los cuales los operandos se obtienen de la
memoria, considerando ésta como una pila. Por ello aquí nos limitaremos a conside-
rar el caso de operaciones con uno o dos operandos.
31
Apuntes de Informática
Borra (CLear) el flag Carry, en realidad tiene un operando que es el carry, pero
forma parte del código de la instrucción.
Veamos ahora los modos de direccionamiento más comunes. Para ello vamos a
usar la sintaxis de los procesadores Intel de la familia 80x86 simplificada. Supondre-
mos que el procesador tiene un bus de datos de 16 bits, un bus de direcciones tam-
bién de 16 bits y registros de 16 bits llamados AX, BX, CX, DX, que son a su vez divi-
sibles en 2 mitades de 8 bits, AH (parte alta) y AL (parte baja) para AX y de forma
similar para el resto. Usaremos en todos los casos (salvo en el relativo) la instrucción
MOV que sirve para mover datos y tiene dos operandos, uno fuente que es el dato
que se copia y otro destino que es donde queda la copia, supondremos que el destino
es siempre un registro, los procesadores de Intel sólo permiten que uno de los dos
operandos este en memoria, el otro obligatoriamente es un registro. Todos los núme-
ros empleados están en hexadecimal.
DIRECCIONAMIENTO INMEDIATO
DIRECCIONAMIENTO REGISTRO
32
TEMA 2 – El procesador
nido de la posición baja 1234 va a la parte baja de AX: AL y el de la alta 1235 a AH,
hay otros procesadores que funcionan a la inversa).
33
Apuntes de Informática
DIRECCIONAMIENTO INDIRECTO
DIRECCIONAMIENTO INDEXADO
MOV AL,DIASMES[BX]
...
DIASMES:DB 31,28,31,...
DIRECCIONAMIENTO RELATIVO
34
TEMA 2 – El procesador
sino que forman parte de un conjunto de registros de propósito general, es decir que
cualquier registro de propósito general se puede emplear para la tarea especifica de
registro acumulador u otro de los citados.
Por último conviene citar que existen dos filosofías a la hora de diseñar un proce-
sador de propósito general: CISC y RISC. Los procesadores RISC son procesadores
con un conjunto reducido de instrucciones, esto significa que se ha reducido el nú-
mero de instrucciones, siendo todas ellas más sencillas, pero a cambio ganando velo-
cidad, ya que dedican más transistores a la parte de la ALU quitándolos de la parte
de control (CU). Los CISC por contra tienen un conjunto más amplio de instruccio-
nes, pero eso redunda en una pérdida de velocidad, no obstante los procesadores
CISC actuales se acercan cada vez más al rendimiento de los RISC, ya que cada vez se
integran más transistores por chip. Debido a ello se pueda conseguir que las instruc-
ciones más elementales, que son por otra parte las más utilizadas, puedan realizarse
en un ciclo de reloj, es decir a la máxima velocidad posible. Las intrucciones más
complejas (que no existen en un procesador RISC) se realizan en más de un ciclo de
reloj.
35
Apuntes de Informática
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 sucesor del 8080 fue el 8085 que casi no aportaba ninguna novedad con respec-
to al anterior y que por tanto no merece mayor mención.
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 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 rebautizaron como IP), SP y flags. Funcionaba a 5MHz y posteriormente a
8MHz. Debido a que los registros no tienen suficiente capacidad para contener una
dirección de memoria, emplea un modelo segmentado. Existen 4 registros extra de 16
bits DS, ES, CS y SS, llamados segmentos de datos, extra, de código y de pila, que
sirven para poder formar las direcciones de 20 bits. Para formar una dirección el pro-
cesador toma un registro de segmento, lo multiplica por 16 (con lo que obtiene un
número de 20 bits) y le suma un offset de 16 bits, obteniendo así una dirección final
de 20 bits. Por este procedimiento se puede acceder a 4 zonas de memoria de 64Kb
dentro del rango de 1Mb, de ellas una está reservada para el código (la apuntada por
CS) y otra para la pila (la de SS), si se quiere acceder a más memoria hay que cambiar
los registros de segmento.
Un año después apareció el 8088, idéntico al anterior, salvo por tener un bus de
datos de 8 bits, lo que lo hacía muy apropiado para construir un ordenador personal,
ya que para manejar los periféricos podía ayudarse por los chips de 8 bits desarrolla-
dos para los microprocesadores de 8 bits como el 8080, por ello fue el elegido por
IBM para construir su ordenador IBM PC, PC/XT, portátil y en el PCjr ( PC Junior ).
La velocidad también se mantuvo en 5 y 8 Mhz.
36
TEMA 2 – El procesador
No obstante el 80286 tiene varios fallos, el primero y principal es que los progra-
mas diseñados para funcionar en modo real no pueden hacerlo en modo protegido y
viceversa, además el aumento de memoria, la multitarea, la memoria virtual, etc. es
sólo posible para los programas en modo protegido. 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 tanto en un micro como el 80286, y para colmo, el procesa-
dor arranca en modo real, tiene una instrucción que permite pasar a modo protegido,
pero olvidaron poner una instrucción para volver a modo real, de modo que se im-
pedía el funcionamiento de los antiguos programas al pasar a modo protegido. Por
todo ello el modo protegido es prácticamente inútil y el 80286 no es más que un 8086
rápido.
El año 1985 INTEL empezó la fabricación del 80386, que pasaría a denominarse
posteriormente 386DX, en este caso las mejoras eran importantes, lo fundamental es
que extendió el bus de 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 4Gb, sin necesidad
de segmentos. Además la velocidad pasó a ser entre 16 y 40 MHz y el modo protegi-
do, único en el que se puede acceder a las mejoras de memoria se hizo más compati-
ble con el modo real: no sólo incluyeron la instrucción para volver a modo real, sino
que hicieron que los programas diseñados para modo real pudieran funcionar en un
submodo del modo protegido, el modo V86, pudiendo ejecutarse en multitarea va-
rios de ellos o con programas diseñados para el modo protegido. 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 para verlo en modelos de IBM.
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 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, pero se ha reducido el bus de datos a 16 bits
37
Apuntes de Informática
y el de direcciones a 24, lo que permite emplear como chips de apoyo los mismos que
para el 80286 y sin 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 co-
procesador y 8Kb de memoria caché incorporada en el chip. Los modelos anteriores
disponían de un compañero llamado 8087, 80287, 80387 que permitía realizar opera-
ciones en coma flotante, ya que el procesador sólo es capaz de operar con enteros, en
el caso del 486DX no era ya necesario, pues estaba incluido en el propio procesador.
La memoria caché era en este modelo casi imprescindible, era el primero que se acer-
caba 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 necesita tener los datos en el pro-
pio procesador, sin necesidad de ir a buscarlos a la memoria. Empezó a funcionar a
20MHz y llegó hasta los 50MHz.
Posteriormente y de modo análogo al caso del 386SX, Intel sacó una versión redu-
cida del 486DX, llamada 486SX, a la que se le había quitado el coprocesador. También
comercializó un 487SX, que era en realidad un 486DX que además desactivaba el
486SX junto al que se instalaba.
Posteriormente aparecieron los 486DX2 y 486SX2, eran iguales que sus homóni-
mos sin el 2, pero internamente doblaban la velocidad del reloj, así el 486DX2-66 fun-
cionaba internamente a 66MHz y externamente a 33MHz igual que el 486DX-33, con
ello y gracias a los 8Kb de memoria caché interna casi duplicaba el rendimiento de
un 486DX-33. Más adelante aparecieron modelos 486DX4 que en realidad multiplica-
ban por 3 la frecuencia externa de funcionamiento, es decir un 486DX4-100 funciona-
ba a 33MHz por fuera y a 100MHz por dentro, AMD llegó incluso a fabricar 486DX5-
133 que funcionaban a 33MHz por fuera y 133MHz internamente.
Finalmente los últimos procesadores de Intel son los Pentium. En sus batallas le-
gales con Cyrix y AMD para que no pudieran usar el mismo nombre en los procesa-
dores compatibles que fabricaban, no consiguió que le dejaran usar los números 386,
486, etc. como marca registrada, por tanto cambió la numeración por una palabra
como Pentium que sí le fue posible registrar como marca. Por eso los procesadores
compatibles Pentium de Cyrix se llaman 6x86 y los de AMD K5 y K6.
Actualmente los Pentium han dejado de fabricarse y existen en su lugar tres deri-
vados del Pentium: 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. El Pentium MMX, que incorpora 57 nue-
vas instrucciones que operan con varios enteros a la vez, utilizan para ello los 64 bits
38
TEMA 2 – El procesador
A continuación se presenta una tabla de procesadores actuales con los datos más
básicos. Cada año se actualizarán bien con trabajos de los alumnos o con la incorpo-
ración a estos apunes de los procesadores incorporados al mercado.
39
Apuntes de Informática
40