Estructura de Computadores
INTRODUCCIÓN
Índice
Objetivos
Bibliografía recomendada
Introducción
Temario de Estructura y Arquitectura de Computadores
Esquema básico del computador Von Neumann. Componentes
● La Memoria Principal
● La Unidad Central de Proceso (CPU)
• Unidad Aritmético-Lógica (ALU)
• Registros
• Unidad de Control
• Fases de ejecución de una instrucción
● Unidad de Entrada-Salida
Software de sistemas
Parámetros característicos
Ejemplo
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 2
Objetivos
Visión general de la estructura del computador
digital:
● Arquitectura Von Neumann
● Componentes
● Ejecución de instrucciones
Visión estática (componentes) y dinámica
(funcionamiento)
Software de sistemas
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 3
Bibliografía
de Miguel, P. "Fundamentos de los computadores",
Paraninfo, 2004. 9ª edición.
Stallings, W. "Organización y arquitectura de
computadores", Prentice Hall, 2006, 7ª Edición.
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 4
Introducción
¿Por qué estudiar Estructura y Arquitectura?
La universidad NO forma programadores, forma
INGENIEROS, que deben entender todo lo que sucede
EC y AC se aborda el funcionamiento de la
máquina, el hardware en el que se ejecuta TODO
● Entender cómo funciona es básico para comprender cómo
trabaja y cómo explotarlo mejor
● Permite entender mejor cómo funciona el SO, que gestiona la
máquina, y los compiladores, que generan código para ese
hardware, así como su diseño y optimizaciones
● Permite mejorar el rendimiento de las aplicaciones (HPC),
mediante vectorización, paralelismo, uso de caches,..
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 5
Introducción
¿Por qué estudiar Estructura y Arquitectura?
● Entender como funciona la máquina no sólo ayuda a entender el
SO y los compiladores, da una visión global de la informática
que ayuda a entender los lenguajes de alto nivel (su diseño), las
bases de datos (implementación) o ingeniería del Sw.
● Algunas ramas de la informática se apoyan directamente en el
Hw, como tiempo real, sistemas empotrados, HPC.
● Nos diferencia de los programadores.
● Además el funcionamiento es “sencillo”, un computador se limita
a ejecutar unas instrucciones dadas sobre unos datos
● Ejemplo: producto de matrices. Las instrucciones implementan
el algoritmo de multiplicación y los datos son las matrices.
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 6
Introducción
Función básica de un computador
Ejecución de instrucciones máquina (operaciones
elementales), en las que están especificados:
● Operación a realizar
● Datos o su localización Instrucciones máquina
● Localización del resultado
Arquitectura Von Neumann
● Datos e instrucciones almacenados en memoria única de
lectura/escritura (memoria principal, Mp)
● Contenido de la memoria accesible por direcciones
● Ejecución implícitamente secuencial (más saltos)
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 7
Esquema básico del computador Von Neumann.
Componentes
CPU Direcciones
Regi stros
ALU Datos Memoria
Control Principal
U. Control
Unidad de E/S
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 8
Esquema básico del computador Von Neumann
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 9
Temario Estructura de Computadores
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 10
Temario Estructura de Computadores
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 11
Temario Estructura de Computadores
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 12
Temario Estructura de Computadores
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 13
Temario Arquitectura de Computadores
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 14
Temario Arquitectura de Computadores
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 15
Temario Arquitectura de Computadores
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 16
Temario Arquitectura de Computadores
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 17
Temario EC
EC: Tema 2. Programación en ensamblador
Lenguaje ensamblador y cómo se programa con él. Tipos
de datos, subrutinas, modos de direccionamiento,…
EC: Tema 3: Procesador
Cómo la unidad de control ejecuta las instrucciones.
Operaciones elementales y señales de control.
EC: Tema 4. Aritmética del computador
Cómo se representan los datos (números enteros y con
decimales, caracteres), cómo la ALU opera con ellos.
EC: Tema 5: Periféricos
Discos magnéticos y ópticos, teclados, ratón,…
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 18
Temario AC
AC: Tema 1. Entrada/salida
Cómo se ocultan las particularidades de los periféricos
técnicas de E/S para aprovechar mejor la CPU.
AC: Tema 2: Sistema de memoria
Memorias caché (rápidas), memoria principal entrelazada y
memoria virtual (para multiproceso).
AC: Tema 3. Procesadores ILP (pipeline)
Cómo paralelizar la ejecución de instrucciones.
AC: Tema 4: Multiprocesadores
Cómo funcionan los multicores (bus, Mp, caches) y cómo
explotarlos.
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 19
Esquema básico del computador Von Neumann.
Componentes
CPU Direcciones
Regi stros
ALU Datos Memoria
Control Principal
U. Control
Unidad de E/S
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 20
Memoria Principal (memoria a medio plazo)
Dirección Contenido
0 10111....11 Instrucciones
r1+r2 -> r1
1 10001....10 (programa)
r1 -> mem(100)
.
Dirección (n bits) Ciclo de lectura
. Reloj
. Address
Datos (m bits) . MEMRQ
>Tacc
CPU . RD
100 11111....10
Data
-2 FReg
101 01000....01 Datos
"A"
.
RD Ciclo de escritura
. Reloj
WR
. Address
MEMRQ . Data
n .
2 -1 MEMRQ
>Tacc
WR
Control m bits (tamaño de palabra)
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 21
Introducción
Ciclos de lectura y escritura (en Mem): ciclo de BUS
implica un acceso al exterior a la CPU
● durante ese tiempo sólo la CPU puede acceder a los buses
● (ningún periférico)
suele durar más de 1 ciclo de reloj
Reloj
CPU
Bus dir/datos
Figura . Ciclo de bus
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 22
Organización del espacio de memoria
Código
Datos estáticos
Datos dinámicos
Pila
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 23
Unidad Central de Proceso (CPU)
Unidad de Control
● Extrae de Mp la instrucción a ejecutar
● La analiza (decodifica)
● Da las órdenes al resto de componentes
Unidad Aritmético-Lógica (ALU)
Realiza la operación indicada por la UC sobre los
datos de entrada
Registros
Memoria a corto plazo
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 24
CPU
Unidad Aritmético-Lógica (ALU)
Modelos de ejecución:
• Registro-Registro
• Registro-Memoria
• Memoria-Memoria
Registro de estado (RE)
Opalu ESCre
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 25
CPU
Unidad Aritmético-Lógica (ALU)
Modelo Registro-Registro
Registro de estado (RE)
Opalu ESCre
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 26
CPU
Registros
De propósito general: utilizados explicitamente
por cualquier instrucción
De propósito específico: su uso, muy concreto,
está restringido a determinadas instrucciones máquina
Transparentes: Uso interno de la CPU, no
disponibles para el programador.
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 27
CPU
Registros de propósito general (BR)
de la ALU de Mp (ld)
SELmux_regs
R0
R1
SELA
R2
SELB
..
ESCbr
..
..
..
A B
a Mp (st)
a la ALU
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 28
CPU
Registros de propósito específico
de la Mp
SELmux_pc
Contador de programa
ESCpc
PC +n
dirección de Mp
de la ALU
ESCre
Registro de estado RE
a la ALU y U. Control
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 29
CPU. Registros transparentes
de la Mp
m
Registro de instrucción
ESCri
RI
a la U. control
C.O. operandos
ESCar
Registro de direcciones
de la Mp (ld o st)
A BUS de direcciones
del PC R
SELar
ESCdr2 ESCdr1(ld)
Registro de datos
BR, PC, RI, AR
D BUS de datos
BR R
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 30
CPU
Unidad de Control
RI RE
RS
C Reloj
Unidad de control F
..... .....
RD WR MEMRQ OPalu SELregs ESCar ESCdr1
Señales de control
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 31
CPU
Unidad de Control
RI RE
RS
C Reloj
Unidad de control F
..... .....
RD WR MEMRQ OPalu SELregs ESCar ESCdr1
Señales de control Juego de instrucciones:
• Transferencia (ld, st, mov, in, out)
• Procesamiento (add, and, shift)
• Salto (jump, jumpz, call, ret)
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 32
Fases de ejecución de una instrucción
Comienzo
Búsqueda de instrucción
(Fetch)
Decodificación
Ejecución
Preparación
siguiente instrucción
Finalización
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 33
Fases de ejecución de una instrucción
Comienzo
Búsqueda de instrucción
(Fetch)
Buscar operandos
Decodificación
Ejecución Operación
Almacenar resultados
Preparación
siguiente instrucción
Finalización
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 34
DR= REGISTRO DE DATOS Fetch
FC=> AR
m(AR)=> DR
Para buscar en la direccion tienes
q mandar a AR
Diagrama simplificado PC++
DR=> RI
sel mux_regs multiplexor Decodificador
Ejecucion, busqueda de
SELa operandos: r1- r2 =>r1
BR ESCbr
SELb
A B D Bus
R datos
OPALU ALU
+n REGISTRO DE DIR. M
PC
e
LOAD Y STORE OCUPA m
2 PALABRAS Y EL RESTO A Bus
1 PALABRA R direcciones o
r
RE RI registro de instrucciones
i
banco de registros a
es B(R1) Unidad de
control
Op
ALU
....... Bus
ESCRE MEMRQ, RD, WR control
SELA
Señales de control: Internas/Externas
Paco corre a aragon, a su meseta, y se dirige a la
direccion de Risto
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid PACO NO PECA 35
Ejemplo de instrucciones a ejecutar
Dirección Lenguaje ensamblador
0 ld r1, /1000
1
2 sub r1, r2
3 st r1, /1200
4
5 jmpz /50
6
1000 2
1200 5
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 36
Unidad de Entrada/Salida
Direcciones
Datos Mp
CPU
Control
Módulo de E/S
R. Datos R. Control
R. Estado
Periferico
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 37
Unidad de Entrada/Salida
Gran variedad de periféricos
Destacar discos: memoria a largo plazo
Se usan módulos de entrada/salida
● Se encargan de la comunicación con los
periféricos
● Ocultar sus particularidades
● Tienen registro de estado, control y datos
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 38
Unidad de Entrada/Salida
Direccionamiento de los dispositivos
Selección del periférico
Cada registro tiene una dirección
Instrucciones especiales (ld/st frente a in/out)
Modos de realizar la operación de E/S
● Programada: la CPU lo hace todo
● Mediante interrupciones: el módulo avisa
cuando tiene un dato listo
● Por acceso directo a memoria (DMA): la
CPU casi no interviene
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 39
Entrada/Salida programada
Iniciar operación out r1, /Rcontrol
Comprobar estado in r2, /Restado
Sincronización
no
¿Dato listo?
si
Enviar dato in r3, /Rdatos
st r3, /dir_Mp
no
¿Fin operación?
si
Continuar
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 40
Entrada/Salida mediante interrupciones
CPU Periférico
Inicio operación E/S
Ejecución programa P:
i1
INT dato listo
i2
i3 Rutina tratam.
i4 . . .. . .. . .
. . .. . . transferencia
dato a Mp
. . .. . .. . .
RTI
Debe salvar y restaurar el estado
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 41
Entrada/Salida por DMA
CPU Periférico
Inicio operación E/S
transferencia
Ejecución programa P: bloque de datos a Mp
i1
i2 INT
fin de la transferenci a
i3 Rutina de tratam. del bloque
i4 . . .. . .. . .
. . .. . . comprobación
de transferencia
correcta
. . .. . .. . .
RTI
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 42
Software de sistemas
Compiladores y Ensambladores
Montadores (linker)
Cargadores (bootstrap)
Depuradores
Editores de texto
Sistema operativo
● Gestión de recursos (CPU, Mp, E/S)
● Ocultar la complejidad de los periféricos
● Protección de recursos
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 43
Parámetros característicos
para escribir algo en la memoria necesitamos al direccion y el
dato a escrbir:
Ancho de palabra PC=> AR
M(AR)=>DR, PC++
● 8, 16, 32, 64 bits DR=>AR
B(R1)=>DR
Tamaño de la memoria DR=>M(AR)
● K, Mega, Giga, Tera, Peta bytes
Frecuencia de reloj
● Mega hercios (MHz), Giga hercios (GHz)
Duración de las operaciones
● mili (m), micro (u, m), nano (n), pico (p), fento (f) segundos
Capacidad de cómputo (velocidad)
● MIPS, MFLOPS, specint, specfp
Ancho de banda (caudal)
● KB/s (KBps), MB/s (MBps), Kb/s (Kbps), Mb/s (Mbps)
Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid 44