Tema 1 (Completo Bibliografía
Tema 1 (Completo Bibliografía
Tema 1 (Completo Bibliografía
Estructuras de computadores
David Gutiérrez Pérez
Granada, 2022
1
Índice
1. Unidades funcionales 4
2. Entrada/Salida 4
2.1. Unidad de entrada (E) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Unidad de salida (S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Memoria 6
3.1. Memoria interna (MI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2. Memoria externa (ME) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.3. Jerarquı́a de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3.1. Memoria caché . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3.2. Jerarquı́a de memoria: funcionamiento . . . . . . . . . . . . . . . . . 8
3.4. Instrucciones máquina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4.1. Elementos de una instrucción máquina . . . . . . . . . . . . . . . . . 10
3.4.2. Instrucciones de transferencia . . . . . . . . . . . . . . . . . . . . . . 12
3.4.3. Instrucciones aritméticas y de comparación . . . . . . . . . . . . . . . 12
3.4.4. Instrucciones lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.4.5. Instrucciones de bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.4.6. Instrucciones de desplazamiento . . . . . . . . . . . . . . . . . . . . . 13
3.4.7. Instruccones de rotación . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.4.8. Instrucciones de salto o bifurcación . . . . . . . . . . . . . . . . . . . 14
3.5. Ordenamiento, organización y alineamiento de memoria en bytes . . . . . . . 15
4. CPU 16
4.1. Elementos internos de un procesador . . . . . . . . . . . . . . . . . . . . . . 17
4.1.1. Unidad de procesamiento . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.2. Unidad de control (CU) . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2. Ciclo de ejecución de instrucciones: fases . . . . . . . . . . . . . . . . . . . . 19
4.2.1. Ciclo de ejecución de instrucciones: estados . . . . . . . . . . . . . . 20
4.3. Repertorios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.3.1. RISC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.3.2. CISC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.4. Modos de direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4.1. Direcionamiento inmediato . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4.2. Direccionamiento directo . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4.3. Direccionamiento indirecto . . . . . . . . . . . . . . . . . . . . . . . . 23
4.4.4. Direccionamiento de registros . . . . . . . . . . . . . . . . . . . . . . . 23
4.4.5. Direccionamiento indirecto con registro . . . . . . . . . . . . . . . . . 23
4.4.6. Direccionamiento con desplazamiento . . . . . . . . . . . . . . . . . . 24
4.5. Formato de instrucción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.5.1. Caracterı́sticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2
5. Estructura de bus 25
5.1. Estructura de un bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.2. Buses múltiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.3. Estructuras básicas de interconexión . . . . . . . . . . . . . . . . . . . . . . . 27
6. Rendimiento 28
6.1. Ecuación básica de rendimiento . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.1.1. Reducción de T en repertorios . . . . . . . . . . . . . . . . . . . . . . 28
7. Perspectiva histórica 29
7.1. 1ª generación (45- 55): tubos de vacı́o . . . . . . . . . . . . . . . . . . . . . . 29
7.2. 2ª generación (55 - 65): transistores . . . . . . . . . . . . . . . . . . . . . . . 29
7.3. 3ª generación (65 - 75): circuito integrado . . . . . . . . . . . . . . . . . . . . 29
7.4. 4ª generación (75 - ...): VLSI . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7.5. Actualidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3
1. Unidades funcionales
El esquema general de un computador se compone de una serie partes fucionales inde-
pendientes:
Para conectar todas estas partes, se utiliza una red de interconexión, de manera que se
pueda intercambiar información y coordinar las acciones de y entre las distintas partes.
Este esquema básico, se conoce como arquitectura von Neuman. Dicho esquema se
puede representar de la siguiente forma:
2. Entrada/Salida
Un módulo de Entrada/Salida es un dispositivo que permite tanto introducir como trans-
mitir información a los distintos componentes de una computador. Cada uno de los módulos
se conecta al bus del sistema o a un comutador central y controla uno o más dispositivos
periféricos.
4
Figura 2 Esquema de relación entre E/S, memoria, procesador y otros componentes.
Control y temporización.
Detección de errores.
5
3. Memoria
La memoria es el dispositivo que retiene, memoriza o almacena datos informáticos du-
rante algún periodo de tiempo. La memoria proporciona una de las principales funciones
de la computación moderna: el almacenamiento de información y conocimiento. Las carac-
terı́sticas clave de todo dispositivo de memoria son: coste, capacidad y tiempo de acceso.
Normalmente hay una zona de la memoria en la que sólo se puede leer (memoria ROM)
y que es permanente, y otra en la que se puede leer y escribir (memoria RRAM) que es
volátil.
6
vos del computador que no requieren una gran velocidad a la hora de leer o escribir. La
información almacenada en la memoria externa se guarda indefinidamente.
Sin embargo, no existen teconologı́as que cumplan con los requisitos mencionados y que
cumplan con dichas relaciones. Para ello, antes de diseñar la jerarquı́a de memoria, debe-
mos implementar un nuevo dispositivo de memoria conocido como memoria caché.
7
En la jerarquı́a de memoria, hay una memoria principal relativamente grande y más lenta,
junto con una memoria caché más pequeña y rápida. La caché contiene una copia de partes
de la memoria principal. Cuando se intenta leer una palabra de la memoria se lleva a cabo
el siguiente proceso:
2. Se entrega la palabra.
8
1. Se comprueba la información está en un determinado nivel, si es ası́ se produce un
acierto. En caso contrario, se produce un fallo.
4. Una vez que esta lleno, mediante un algoritmo de remplazo, se decide que bloque de
datos debe desalojarse para introducir un nuevo.
9
3.4. Instrucciones máquina
El funcionamiento del procesador está determinado por las intrucciones que ejecuta. Es-
tas instrucciones se denominan instrucciones máquina o instrucciones del computador.
Al conjunto de instrucciones que puede ejecutar el procesador se denomina repertorio de
instrucciones del procesador.
El repertorio de instrucciones máquina debe ser suficientemente amplio como para ex-
presar cualquiera de las instrucciones de un lenguaje de alto nivel. Por tanto, los tipos de
instrucciones se pueden clasificar en:
10
Figura 5 Ejemplos de formatos de instrucciones en algunas computadoras
11
Juego de instrucciones
3.4.2. Instrucciones de transferencia
Son aquellas instrucciones que mueven información entre registros y memoria. No se
modifican los biestables de estado.
12
3.4.5. Instrucciones de bit
Realizan operaciones sobre un bit.
13
3.4.8. Instrucciones de salto o bifurcación
Modifican la secuencia habitual de ejecución (secuencial). No modifican los biestables
de estado. Pueden ser condicionales/incondicionales o con retorno/sin retorno.
14
3.5. Ordenamiento, organización y alineamiento de memoria en bytes
15
4. CPU
La unidad central de procesamiento CPU o procesador es un componente del hard-
ware cuyo trabajo es interpretar las instrucciones de un programa informático mediante la
realización de las operaciones básicas aritméticas, lógicas y externas (provenientes de la
unidad de entrada/salida).
Un circuito integrado que contiene una CPU también puede contener los dispositivos
periféricos, y otros componentes de un sistema informático; similar a un microcontrolado.
Unidad de control (CU): dirige el tráfico de información entre los registros de la CPU
y conecta con la ALU las instrucciones extraı́das de la memoria.
16
4.1. Elementos internos de un procesador
Los principales elementos de un procesador se pueden ver en la siguiente imagen:
Registro temporal (RT): El registro temporal, RT, se utiliza para almacenar en el uno
de los operandos de la ALU.
17
4.1.2. Unidad de control (CU)
La unidad de control, CU, tiene como objetivo buscar las instrucciones en la memo-
ria principal, decodificarlas (interpretación) y ejecutarlas, empleando para ello la unidad de
proceso. Sus principales elementos son:
Puntero de pila (SP): El puntero de pila, SP, es conntador de programa que actúa
como contador ascendente binario, con posibilidad de carga paralela. Su cometido
está relacionado con una estructura pila (LIFO) que se mantiene en memoria principal.
Dicha pila está relacionada con las llamadas a subrutinas.
18
4.2. Ciclo de ejecución de instrucciones: fases
Al comienzo de cada ciclo de instrucción, se lleva a cabo el siguiente procedimiento:
19
4.2.1. Ciclo de ejecución de instrucciones: estados
Los posibles estados en los que puede ocasionar un ciclo de ejecución son:
Ciclo de dirección de la instrucción (IAC): determinar la dirección de la siguiente
instrucción a ejecutar. Normalmente, esto implica añadir un número fijo a la dirección
de la instrucción previa.
20
4.3. Repertorios
El repertorio de instrucciones define muchas de las funciones realizadas por el proce-
sador, y tiene pues un efecto significativo sobre la implementación del mismo. El repertorio
de instrucciones es el medio que tiene el programador para controlar el procesador.
Tipos de datos: los distintos tipos de datos con los que se efectúan operaciones.
Registros: número de registros del procesador que pueden ser referenciados pro las
instrucciones, y su uso.
4.3.1. RISC
La arquitectura de computador de repertorio reducido de instrucciones o RISC dispone
de una serie de caracterı́sticas y elementos compartidos por la mayor parte de sus diseños:
4.3.2. CISC
La arquitectura de computador de repertorio complejo o CISC permite una gran cantidad
de instrucciones hasta el punto de que el lenguaje ensamblador se asemeje a un lenguaje
dealto nivel.
21
4.4. Modos de direccionamiento
En informática, los modos de direccionamiento son las diferentes maneras de especificar
un operando dentro de una instrucción en lenguaje ensamblador.
Operando = A
Este modo puede utilizarse para definir y utilizar constantes o para fijar valores iniciales de
variables. Sus principales caracterı́sticas son:
Desventaja: el tamaño del número está restringido a la longitud del campo de direccio-
nes que, en la mayorı́a de los repertorios es pequeño en comparación con la longitud
de palabra.
22
4.4.3. Direccionamiento indirecto
En el direccionamiento indirecto, el campo de direcciones referencia a la dirección de
una palabra de memoria, la cual conteine la dirección completa del operando.
EA = (A)
Las principales caracterı́sticas del direccionamiento indirecto son:
Ventaja: para una longitud de palabra de N bits, se dispone de un espacio de direc-
ciones de 2N .
Desventaja: la ejecución de la instrucción requiere dos referencias a memoria para
captar el operando: una para captar su dirección y otra para obtener su valor.
23
4.4.6. Direccionamiento con desplazamiento
En el direccionamiento con desplazamiento se combinan las posibilidades de los direc-
cionamiento directo e indirecto con registro. En este, el campo de direccones referencia a la
dirección efectiva del operando y al contenido del registro.
EA = A + (R)
Requiere que las instrucciones tengan dos campos de direcciones, al menos uno de
los cuales debe se explı́cito.
El valor contenido en uno de los campos de direcciones (valor = A), se utiliza directa-
mente.
4.5.1. Caracterı́sticas
Las principales caracterı́sticas de un formato de instrucción son:
El código de operación debe estar siempre al principio. El número de bits que ocu-
pará dependerá de las distintas operaciones que haya en el juego de instrucciones.
24
5. Estructura de bus
Un bus es un camino de comunicaciones entre dos o más dispositivos. Una caracterı́sti-
ca clave de un bus es que se trata de un medio de transmisión compartido. Otras carac-
terı́sticas fundamentales de los buses son:
Al bus se conectan varios dispositivaos, y cualquier señal transmisitda por uno de esos
dispositivos está disponible para los que otros dispositivos conectados la bus puedan
acceder a ella.
Los computadores poseen diferentes tipos de buses que proporcionan comunicación entre
sus componentes a distintos niveles dentro de la jerarquı́a del sistema.
El bus que conecta los componentes principales del computador se denomina bus del
sistema. Las estructuras de interconexión más comunes dentro de un computador están
basadas en el uso de uno o más buses del sistema.
25
• Bus de datos: puede incluir entre 32 y cientos de lı́neas, cuyo número se conoce
como anchura del bus de datos. Puesto que cada lı́nea solo puede transportar un
bit cada vez, el número de lı́neas determina cuántos bits se pueden transferir al
mismo tiempo.
Lı́neas de dirección: se utilizan para designar la fuente o el destino del dato situado
en el bus de datos.
Lı́neas de control: se utilizan para controlar el acceso y el uso de las lı́neas de datos
y de direcciones.
El uso de múltiples buses permite acercar el procesador los dispositivos que exigen pres-
taciones elevadas y al mismo tiempo es independiente del procesador. Además, se pueden
tolerar las diferencias de velocidades entre el procesador y los buses de altas pestacoines
y las variaciones en la definición de las lı́neas de los buses.
Las principales caracterı́sticas de los buses múltiples en comparación con los buses
únicos son:
26
5.3. Estructuras básicas de interconexión
Un computador está constituido por un conjunto de unidades o módulos de tres tipos ele-
mentales (procesador, memoria, E/S) que se comunican entre sı́. En efecto, un computador
es una red de módu- los elementales. Por consiguiente, deben existir lineas para interco-
nectar estos módulos.
Módulo de E/S: es un dispositivo que permite tanto introducir como transmitir infor-
mación a los distintos componentes de una computador. Cada uno de los módulos se
conecta al bus del sistema o a un comutador central y controla uno o más dispositivos
periféricos.
Además, la estructura de interconexión debe dar cobertura a los siguientes tipos de trans-
ferencias:
Memoria a E/S y viceversa: en estos dos casos, un módulo de E/S puede inter-
cambiar datos directamente con la memoria, sin que tengan que pasar a través del
procesador, utilizando el acceso directo a memoria (DMA).
27
6. Rendimiento
6.1. Ecuación básica de rendimiento
La ecuación básica para medir el rendimiento es:
N ·S
T =
R
donde:
Lo ideal, es que se reduzca tanto N como S y aumene R. No obstante, alterar uno modifica
los otros. Por ejemplo, aumentar R puede ser a costa de aumentar S. El objetivo principal
es reducir T . Para ello, deberemos:
2. Aumentar R.
28
7. Perspectiva histórica
7.1. 1ª generación (45- 55): tubos de vacı́o
La 1ª generación se caracteriza por el surgimiento de la máquina de von Neuman la
cual facilitaba el proceso de programación al permitir que le programa se representara de
forma adecuada para ser guardado en la memoria junto con los datos.
Esto dio origen a la idea conocida como concepto del progrma-almacenado. En este
programa, los dı́gitos estaban representados mediante unos tubos de vacı́o. Cada dı́gito
estaba representado por un anillo de diez tubos de vacı́o. En un momento dado, solo uno
de los tubops estaba estaba en estado ON, represetnando uno de los diez dı́gitos.
Además, durante este periodo surgieron los primeros dispositivos de entrada y salida
para realizar operaciones de lectura y escritura. También surgieron los primeros lengaujes
máquina y ensamblador.
Cada chip consiste en muchas puertas más una serie de puntos para conexiones de
entrada y salida. El chip es encapsulado en una carcasa que lo proteje y proporciona patas
para conectar dispositivos fuera del chip. Varios de estos elementos pueden ser interconec-
tados en una tarjeta de circuito impreso para producir circuitos más complejos y mayores.
Por otra parte, surgieron los primeros sistemas operativos multiusuario y las primeras
memorias caché.
29
7.4. 4ª generación (75 - ...): VLSI
En la cuarta generación, se llevan
7.5. Actualidad
30