Está en la página 1de 48

TEMA 2.

Esquema de bloques de un sistema basado en microprocesador.


Arquitectura de
Equipos y Sistemas
Informáticos.
Los microprocesadores son dispositivos muy interesantes tanto a nivel
lógico como a nivel físico: su creación es un proceso que conjuga las más
avanzadas técnicas industriales de diseño y fabricación, en instalaciones
extremadamente limpias, de clase I, donde el aire es 1000 veces más limpio
que el de un quirófano, con menos de 3.500 partículas por metro cúbico de
aire, ya que una sola partícula que aterrice en un chip puede dejarlo
inservible.

Los materiales empleados en la fabricación de los microprocesadores son


los semiconductores, que como su nombre indica tienen una conductividad
eléctrica intermedia entre la de un conductor y un aislante. Los más
comunes son el germanio, el arseniuro de galio y el silicio.

Dejando a un lado el proceso de diseño del chip, para lograr un


microprocesador se llevan a cabo multitud de procesos químicos y ópticos, Sala limpia de una fábrica de microprocesadores AMD, actualmente
GLOBALFOUNDRIES.
que nos llevaría demasiado tiempo su explicación dada la complejidad que GLOBALFOUNDRIES es una fundición de semiconductores
estadounidense con sede en Santa Clara, California, Estados Unidos.
supone. A modo de referencia diremos que, todo comienza con silicio de
extrema pureza con el que se conforman cilindros monocristalinos de un
diámetro de 300 mm, que posteriormente se corta en finísimos discos
llamados “obleas”, en las que se graban los microprocesadores.
Sobre la oblea se graba el circuito electrónico del chip mediante un
proceso de fotolitografía, que en el caso de los microprocesadores
se hace a una escala de unas pocas decenas de nanómetros, lo que
llamamos “proceso de fabricación” (nm, la millonésima parte de un
milímetro), donde cada transistor ocupa un área de 20 nm, es decir,
casi nada.

Esto se consigue mediante la proyección de luz ultravioleta sobre


una máscara que permite “esculpir” el diseño. Para alcanzar las
escalas actuales se sumerge la oblea en una capa de líquido que
hace de lente, diseñándose la máscara teniendo e cuenta diversos
fenómenos de interferencia y difuminado de la luz que permiten
grabar diseños más reducidos.
.1 nm = 0,000 001 mm

Proceso de fabricación o simplemente proceso, es una medida representativa del tamaño más pequeño de elemento electrónico que es capaz de lograrse en un chip.
14 nm Fotografía a escala de un
transistor triple puerta de 2ª
8 nm
generación de 14nm.

Transistor triple puerta de 45nm de micros Intel. Transistor MOS clásico.

Fotografía de una
superficie de 52nm,
donde se observan las
Tri-gate es el nombre con el que la propia Intel interconexiones entre
denomina una nueva gama de transistores con capas de 14nm.
estructura tridimensional, que mejora notablemente la
eficiencia de sus micros bajo arquitectura Ivy Bridge1.

1- Tercera generación de microarquitectura moderna (22nm) y primera en integrar un chip gráfico.


El silicio de la oblea es contaminado, “dopado”, con cantidades casi insignificantes (impurezas) de materiales que le
confieren el carácter de semiconductor apropiado. Además, se depositan varias capas superpuestas de aislante y de
material conductor, interconectadas entre ellas para unir los dispositivos electrónicos de las diferentes capas,
realizando multitud de procesos químicos, físicos y térmicos, obteniendo finalmente la oblea con los chips
terminados.
Posteriormente, la oblea se somete a una batería de pruebas, se cortan los chips individuales y se les encapsulan
para poder ser manejados.
Estructura externa del microprocesador.
Cuando observamos un microprocesador, lo que vemos realmente es un objeto cuadrado, compacto y con
contactos eléctricos: es el encapsulado.

DIP (DIL), Dual In-line Package: se trata del encapsulado clásico con el que se
empezaron a comercializar los chips, de material plástico o cerámico, con el
patillaje dispuesto a ambos lados de una estructura rectangular. Solo fue
utilizado en los primeros micros, como el 8088.

PGA, Pin Grid Array: matriz de contactos rectangular, donde los pines se
encuentran localizados en la base del procesador que lo hacen más fácil de
instalar. Este encapsulado típico de la época del 386 y 486, se presentaba
con dos variantes básicas: CPGA, para un encapsulado cerámico y PPGA,
cuando se empleaba material plástico para el revestimiento del micro.
Este sistema de encapsulamiento pronto evolucionó hacia un tipo de
inserción en la placa base donde no se requería esfuerzo. De esta manera
queda asociado este tipo de procesadores al zócalo de inserción cero,
denominándose PGA/ZIF Socket, gran avance que suponía salvaguardar la
integridad del patillaje del procesador mientras su manipulación.
LGA, Land Grid Array: un encapsulado en el que se intercambian los papeles, los pines pasan a estar en el zócalo
de la placa base, “abajo” (en tierra – land – ), mientras que en el microprocesador lo que encontramos son
contactos planos. Esto permite mayor densidad de pines y aumento de velocidad del bus (FSB).

(LCC)

LGA 1151 (Socket H4)

Plastic Leaded Chip Carrier (PLCC)

Otros formatos menos conocidos son el QFP y el PLCC (donde los contactos están distribuidos en todos los
laterales de un chip cuadrado), y el LCC (contactos laterales dispuestos horizontalmente y plegados).
Por último solo queda nombrar los zócalos de ranura empleados en su momento por el Pentium II y III.
Principales zócalos para microprocesadores (orden cronológico)
Tipo Nº de contactos Micro soportado Comentario
Socket 1 169 pines 486 PGA, para micros a 5V

Socket 2 238 pines 486, Pentium OverDrive PGA, 5V

Socket 3 237 pines 486, Pentium OverDrive PGA / ZIF, 3.3V o 5V

Socket 4 273 Pentium 60/66, Pentium OverDrive 120/133 PGA / ZIF, 5V

Socket 5 320 Pentium (>75MHz), AMD K5 ZIF, 3.3V

Socket 6 235 486, Pentium OverDrive ZIF, 3.3V, poco empleado

Socket 7 321 Pentium, Pentium MMX, K5, K6, Cyrix 6x86 ZIF, 2.5 y 3.5V

Super 7 321 AMD K6-2, K6-III ZIF, FSB hasta 100MHz y AGP

Socket 8 387 Pentium Pro, Pentium II OverDrive ZIF

Slot 1 242 Pentium II, Pentium III, Celeron Ranura SEC

Slot 2 330 Pntium II Xeon, Pentium III Xeon Servidores

Slot A 242 AMD Athlon No compatible con Slot 1

Socket 370 370 Pentium III, Celeron, Cyrix III, VIA C3 ZIF

Socket 423 423 Pentium 4 ZIF, FSB 400

Socket 478 478 Pentium 4, Celeron, P4 Extreme ZIF, FSB 800


Tipo Nº de contactos Micro soportado Comentario
Socket 604 604 Xeon P4 y Xeon Core 2 ZIF, FSB 1066

LGA 775 775 Pentium 4, Pentium D, Core 2 LGA

Socket 940 940 Opteron, Athlon 64 FX ZIF, AMD de 64 bits

Socket 754 754 Athlon 64, Sempron ZIF, sin Dual Channel

Socket 939 939 Athlon 64/64FX/Sempron/Opteron ZIF, con soporte Dual Channel

LGA 771 771 Xeon Dual / Quad Core LGA

LGA 1366 (B) 1366 Core i7, Xeon Nehalem Triple canal DDR3

LGA 1156 (H) 1156 Core i7, i5, i3 Doble canal DDR3

LGA 1150 1150 Core i7, i5, i3 de 4ª y 5ª generación Haswell y Broadwell con GPU

LGA 1151 1151 Core i7, i5, i3 de 6ª generación Shylake, GPU integrada, DDR4
Athlon 64/64FX/64X2, Sempron, Opteron,
Socket AM2 940 ZIF, DDR2
Phenom
Athlon 64/64FX/64X2, Sempron, Opteron, Ahorro energético,
Socket AM2+ 940
Phenom HyperTransport (3.0)
Socket AM3 941 Micros AM3 DDR3

Socket FM1 905 A-Series (A8, A6, A4, E2) AMD – APU; DDR3

Socket FM2+ 904 A-Series (A10, A8, A6, A4) APU (Trinity/Richland); DDR3
Comparativa de Socket actuales
Para AMD A10, A8, A6, A4, y Athlon X2 y X4 Para Intel Core i7, i5, i3 de sexta generación

(ZIF)

LGA 1151 LGA 1150

AMD INTEL

Zócalo PGA-ZIF FM2 y FM2+ de 904 y 906 Zócalo LGA-ZIF. Versiones H3 de1150 pines y H4
contactos respectivamente. de 1151 contactos. El regulador de tensión se ha
eliminado del procesador y se ha transferido a la placa.
Incompatibilidad entre el
Socket LGA 1151 y el nuevo
LGA 1200. Presenta 49 pines
más, lo que mejora la
entrega de energía.
Microarquitecturas.
En ingeniería de computación, la microarquitectura, también conocida como: “… organización de la
computadora”, es la manera en que una Arquitectura dada, basada en un Conjunto de Instrucciones
( Instruction Set Arquitecture ) es implementada por un procesador. Un determinado Juego de
Instrucción puede estar desarrollado con diferentes microarquitecturas. Las implementaciones
pueden ser varias debido a los diferentes objetivos de un diseño dado o debido a los cambios en la
tecnología. La arquitectura de computadores es la combinación del diseño de una microarquitectura
del momento y de un conjunto de instrucciones.

Caben destacar dos tipos de arquitecturas basadas en microinstrucciones de 32 y 64 bits:

• Arquitectura Von Neumann


• Arquitectura Harvard
La arquitectura Von Neumann se caracteriza principalmente por aquellos procesadores que disponen de un
único dispositivo de almacenamiento tanto para instrucciones como para datos. Al ser estos, almacenados en
un mismo formato dentro de la memoria, utiliza un único bus de información que la mantiene en contacto
con la CPU. Esto crea una eficiencia en la utilización de la memoria, pero al mismo tiempo implica una
ambigüedad para reconocer y distinguir los datos. Los ordenadores que utilizan este modelo se componen de
una unidad aritmética lógica (ALU), una unidad de control, una memoria, un dispositivo de entradas y
salidas y un bus de datos que los comunica.
El modelo de arquitectura Harvard, que proviene del Harvard Mark I, se diferencia principalmente por la
inclusión de dos unidades de memoria, una dedicada a las instrucciones y la otra a los datos,
comunicándose cada una con la CPU a través de un bus específico, considerados distintos buses de
direcciones por desempeñar diferente función. Aunque lo común será ver un único bus de direcciones,
pero con un controlador que pueda diferenciar entre ambas memorias.
Al contrario del modelo de Von Neumann, el modelo Harvard no requiere de la ambigüedad para poder
reconocer los datos, pero no es tan eficiente en la utilización de la memoria. En este modelo, las
instrucciones y los datos se almacenan en cachés diferentes para mejorar el rendimiento.
Bajo arquitectura de von Neumann pura, la CPU puede estar, bien leyendo una instrucción o
leyendo/escribiendo datos desde/hacia la memoria, pero ambos procesos no pueden ocurrir al mismo
tiempo, ya que las instrucciones y los datos usan el mismo sistema de buses. En Harvard, sin embargo,
este proceso puede ser simultáneo.

Hoy en día, la mayoría de los procesadores implementan una


arquitectura Harvard modificada, para que puedan soportar tareas tales
como la carga de un programa desde una unidad de disco, así como la
lectura de los datos requeridos para su posterior ejecución.
EJECUCIÓN DE INSTRUCCIONES
¿Cómo ejecuta un computador su repertorio de instrucciones?

La función básica que realiza un computador es la ejecución de un programa.


Un programa consiste en un conjunto de instrucciones y datos almacenados en la unidad de
memoria. La CPU es la encargada de ejecutar las instrucciones especificadas en el programa.

Pero… ¿cómo se ejecuta una instrucción?

TODAS SE EJECUTAN EN DOS FASES:


Ejemplo de ejecución y
movimiento de registros
La secuencia de operaciones realizadas en la ejecución de una instrucción constituye lo que se
denomina ciclo de instrucción. Lo más cómodo es considerar que el procesamiento del ciclo de
instrucción consta de dos fases:

a) Fase de búsqueda
b) Fase de ejecución

La culminación de cada una


de estas fases necesita de uno
a seis ciclos de reloj.

(Lectura de operandos y operación)

Fases del ciclo de instrucción.


BUSQUEDA:
Ejecución de la instrucción: #SUM 3, 06h

1. Transferir el contenido de CP al Registro de


CPU MEMORIA
Direcciones (RA).
ALU 00h
2. Leer contenido del RM al que apunta el CP y enviarlo al
Registro de Instrucción. 01h
Ro 1 Ro 2
02h
3. El Decodificador examina el código de operación de la 3 9
instrucción. 03h SUM 3, 06
04h
4. Incrementar el Contador de Programa: CP+1. SUMADOR 05h

5. El Secuenciador inicia una nueva fase de búsqueda, 06h 9


mientras se ejecuta la instrucción en curso. ACU 07h
08h
EJECUCIÓN: UC
09h
1. Cargar el Registro de Operando 1. Secuenciador CP 03
S RM RA
2. Atender la petición de búsqueda del segundo operando
implícita en la instrucción, colocando la nueva dirección en RI SUM 3, 06
SUM 3, 06 03
Registro de Direcciones (RA).

3. Leer de MEMORIA el dato requerido. D


4. Cargar el Registro de Operando 2.

5. Cargar el Acumulador con el resultado.

DATOS
DIRECCIÓN
CONTROL
Fase de Búsqueda: (1)
MEMORIA

Dirección de memoria
1. Transferir el contenido del Contador Incremento CP: 3F8h
de Programa (CP) al registro de 4º
Registro Contador de Programa
Direcciones (RD).
Registro de Instrucciones Dato o instrucción

2. Pasar a registro de Memoria (RM) el 1001101


RI
dato almacenado en la dirección de
memoria indicada por RD. Registro de
Direcciones RD 2º
3. Transferir el dato leído desde el RM
1001101
al registro de instrucción (RI). Dato o instrucción
RM: 1001101

4. Incrementar el valor del Contador Registro de Memoria
de Programa para apuntar a la
instrucción siguiente.
5º Decodificación ...
Fase de Ejecución: (2) Instrucción

5. Decodificación de la Instrucción: por CO ADDn OP 1 MD CR CD OP 2: MD CR CD


ejemplo, de la orden ADDn. En este
paso la instrucción es sustituida por Campo de registro
Código de Operando 1 Modo de direccionamiento Campo de dirección: desplazamiento o dato
su código máquina correspondiente. operación. Parte de la instrucción (operando 2)
6. Transferencia del campo CD, de la
instrucción en curso (contenida en En este paso se transfiere la dirección de memoria (contenida en el campo CD de
RI) al registro RD (registro de la propia instrucción) en la que se encuentra el primer operando de la operación
en curso, desde el campo CD al registro RD. La instrucción permanece en el
direcciones).
registro RI desde que finalizó la fase de búsqueda. Se inicia, por tanto, un proceso
7. Lanzar un ciclo de lectura de similar al de la fase 3, pero en esta ocasión para buscar en memoria el operando
memoria que ponga en RM el de la instrucción.
operando almacenado en la
dirección indicada por RD.
8. Transferencia del dato leído desde el
RM al registro de operando Ro2.
Paralelamente el otro operando es
transferido desde el acumulador al
registro de operando Ro1.
9. Realizar la operación SUMA (ADD) y
almacenar el resultado en AC.
Unidades funcionales de un sistema basado en microprocesador.
Los elementos esenciales que constituyen un sistema basado en microprocesador
se pueden ver en la figura de la derecha. Y como podemos observar está dividido
en los siguientes bloques:

▪ Unidad de control (UC).


▪ Unidad aritmético-lógica (ALU)
▪ Batería de registros (BR)
▪ Reloj-secuenciador
▪ Memoria central (MP)
▪ Unidad de entradas/salidas
▪ Periféricos
Estructura funcional de la Unidad de Control
Bus de control (BC)

Bus de direcciones (BA)

Cada instrucción máquina del computador


se ejecuta realizando una secuencia de
operaciones elementales. A su vez, cada
operación elemental requiere la activación
Contador de programa
de un conjunto de señales de control por
Circuito de control parte del secuenciador de la Unidad de
Control. La activación de dichas señales se
efectúa a “golpe” de reloj.
Registro de Instrucción

Bus de datos (BD)


La misión fundamental de esta unidad se centra en recoger las instrucciones que componen un programa,
interpretarlas y controlar su ejecución.
Dado que las instrucciones se encuentran almacenadas en la unidad de memoria, deberá encargarse en
primer lugar de recibirlas en el orden establecido.
En segundo lugar, deberá identificar de qué instrucción se trata en cada caso.
Por último, tendrá que generar la secuencia adecuada de órdenes para el resto de elementos que
constituyen el computador, de manera que cada instrucción se ejecute correctamente.

Proceso de creación de un programa


• Todo computador posee un repertorio de instrucciones que es capaz de ejecutar, constituyendo este, lo
que se conoce como “lenguaje máquina del computador”.
• Estas instrucciones se encuentran codificadas de acuerdo a un formato específico del computador, y
constituyen una opción más del diseño del mismo.
• En general, el algoritmo de solución de cualquier problema consiste en varios pasos que deben realizarse
en una secuencia específica. Para implantar tal algoritmo en un computador, estos pasos se descomponen
en pasos más pequeños, cada uno de los cuales representa una instrucción del computador. La secuencia
de instrucciones resultante es un programa en lenguaje máquina, que representa al algoritmo en cuestión.

Representación del contenido


de algunos registro del ODE.
Estructura funcional de la
Unidad aritmético-lógica

En esta unidad Registros de


propósito general acumulador
tienen lugar todas B C
las operaciones D E
H L Señal de carga
aritmético y lógicas
ordenadas desde la
unidad de control Señal para entrada de datos Señal para salida de datos

con los datos Desde Batería de Registros Desde acumulador


procedentes de la
memoria central o
desde los registros Desde Bus de Datos Desde Bus de Datos

internos del
microprocesador. Señales para carga selectiva de datos
Durante una operación normal, el procesador busca secuencialmente y ejecuta una instrucción tras otra,
hasta que se procesa una instrucción (HALT) de paro. La búsqueda y ejecución de una instrucción constituye
el ciclo de instrucción, que representa a su vez una o más operaciones de acceso a memoria o a dispositivos
de E/S. Cada acceso a memoria requiere un ciclo máquina.

INSTRUCCIÓN E N PROCES O

1 2
BÚSQUEDA EJECUCIÓN

EJECUCIÓ N DE UNA
INST RUCC IÓN COM PLETA

LT
HA
RE

I ÓN
PO

CC
SI C

U
TR
IÓ N

IN S
PARO 3

REPOSICI ÓN

Ciclos de máquina de un computador


Estructura funcional de la Bus de Direcciones
Unidad de MEMORIA

Mapa de memoria de un
sistema de memoria de 8MB.

Bus de Datos
Modos de direccionamiento de la unidad de MEMORIA
Consiste en determinar la forma en la que se va a leer o escribir un dato. La memoria principal es el
dispositivo del ordenador donde se almacenan los datos que se están utilizando en el momento actual;

Modos de direccionamiento:

INMEDIATO; el dato está en la propia instrucción (ejemplo: SUMA 7, 3), en el ejemplo los dos son datos, el
resultado es 10.
dirección
memoria
MEMORIA
DIRECTO; en la instrucción está contenida la dirección de memoria donde se 01h 01 3
encuentra el dato (ejemplo: SUMA 7, 01h), 7 es un dato, 01 es una dirección 02h 02
de memoria donde se encuentra otro dato. En la dirección de memoria 01 03h 03
está contenido el valor 3; el resultado es: [7 + (01=3)] = 10. 04h 04 06
05h
05
06
06h 2
07h
07 4
08
08h
09h
09
10
10h
Nota: en programación, no se pueden mezclar dos datos con direccionamiento directo, es decir: 11
11h
directo-directo. 12
12h
13h
13
RELATIVO A REGISTRO; aclarar primero que existen varios tipos de registros, por lo
que un direccionamiento de esta clase puede referirse a registros diferentes en
líneas de instrucción consecutivas.

Registro de instrucción RI
Registro de memoria RM
Registro de direcciones RD
Contador de programa CP

(Ejemplo: SUMA 3+CP, 1), en este caso el direccionamiento es relativo a registro


Contador de Programa. (3 representa un desplazamiento sobre memoria).
04h CP; 3+04h = (nueva dirección de memoria) 07h.
Si 1, en la instrucción es dato, el resultado es: 4+1 = 5.

Como podemos observar, la dirección en la que se encuentra el dato se tiene que calcular. Primero se toma la
dirección del puntero y se le suma el desplazamiento indicado en la propia instrucción, esto nos direcciona a la
posición de memoria donde se encuentra el dato.
INDEXADO o direccionamiento a Registro Base. Un registro índice contiene una dirección de referencia que
actúa como puntero: se emplea para recorrer estructuras de datos tipo vector o tabla. Su valor se modifica
con frecuencia.

INDIRECTO; la instrucción contiene una dirección de memoria que


lleva a otra dirección de memoria en la que se encuentra el dato.

(ejemplo: 04, 3), en 04h se encuentra 06 y en 06h está el dato: 2.


El resultado es 2+3 = 5.

Formatos de instrucción:
Formatos de palabra:

Si trabajamos con registros de 16 bits y deseamos mover datos con una longitud
de palabra de 32 bits, tendremos que recurrir a posiciones de memoria contiguas:
Representación de la información en lenguaje de bajo nivel o lenguaje máquina.

En la representación conceptual de una memoria se tiende a emplear notación hexadecimal al referirse a


sus registros, ya que es más fácil de leer y simplifica muchísimo la representación de la información. A pesar
de todo, esta forma de escribir las órdenes de un computador resulta también algo engorroso para el
programador, por lo que se emplean códigos nemotécnicos que ayudan a comprender el significado de
cada código de operación de la instrucción.

El lenguaje máquina está íntimamente ligado a la construcción interna del computador. Los programas
escritos en lenguaje máquina sólo son transportables a otras máquinas de idénticas características.

Ejemplos de códigos de operación: Nemónico de una instrucción:


Unidad de Entradas / Salidas

La unidad de E/S, también llamada unidad de intercambio de información, se encarga de comunicar la CPU con
el mundo exterior. En ellas se distinguen dos elementos:
El controlador, que opera directamente con la mecánica del dispositivo periférico en cuestión. y
La interfaz, que se encarga de gestionar el intercambio de información entre el periférico y la CPU.
Se desprende, que el elemento común de los dispositivos de E/S que se puede tratar de forma genérica para
cualquier computador, es la interfaz. En términos generales, el objetivo fundamental de las operaciones de E/S
es el de transferir bloques de información.
Estas unidades consisten, generalmente, en registros que, accionados por los buses de control y direcciones,
almacena la información suministrada por el bus de datos.
EJERCICIO CON CPU Y UNIDAD DE ENTRADAS Y SALIDAS A NIVEL DE REGISTROS Y FLAGs

Unidad de Entrada/salida. En la CPU, y conectados directamente con el bus del sistema, están contenidos los
siguientes registros:
1. INPR: registro de entrada de 8 bits.
2. OUTR: registro de salida de 8 bits.
3. FGI: flag de entrada de 1bit.
4. FGO: flag de salida de 1bit.
5. IEN: activación de interrupción.

Describir el comportamiento del Sistema (desde el punto de vista de los registros) para que las operaciones de entrada-salida,
con los periféricos conectados al mismo, se hagan de forma correcta:

a) Realizar transferencia de E/S sin usar interrupción.


b) Realizar E/S usando el registro de interrupción.
Funcionamiento interno de un microprocesador de 8 bits.
https://www.pcspecialist.es/pc-a-medida/

También podría gustarte