Capitulo 2
Capitulo 2
Capitulo 2
Capitulo 2
1. Estructura y función
2. Computador Von Neumann – IAS
3. Arquitecturas ARM y x86
4. Ensamblaje de computadores
ENRIQUE MAFLA 1
Objetivos del Capitulo 1
Diferenciar entre arquitectura y organización del computador
Explicar la relación entre estructura y función
Describir la historia de los computadores
Comprender la arquitectura Von Neumann
Recordar la evolución de la arquitectura Intel x86
Entender la arquitectura ARM
Computación
Tecnologías disruptivas Teléfonos
Autos
Crecimiento exponencial Juegos
Abaco, tubos de vacío, transistores… cuántica Desktops
IoT
Ley de Moore ...
VLSI – mainframes en un chip de silicio
Rendimiento, innovación, inversión, compatibilidad commodity (x86 y ARM)
HPC y criptografía computadores especializados
2000: crecimiento de paralelismo implícito y disipación de calor
Paralelismo implícito (superescalar) y explícito (multicore) innovación
ENRIQUE MAFLA 3
Arquitectura y organización
Aplicaciones
Sistema operativo
ISA
Organización
ENRIQUE MAFLA 4
1. Estructura y Función
ICCD332 – organización y función de los computadores
Complejidad / diversidad – tamaño, costo, rendimiento, aplicaciones
Cambios en la tecnología – VLSI organización paralela
Rendimiento
Procesador, memoria, interconexión
Velocidad y capacidad crecen a diferente ritmo
Computador – sistema de componentes
Estructura – como las componentes están interconectadas
Función – operación de las componentes individuales
ENRIQUE MAFLA 5
Jerarquía de abstracciones
Componentes subcomponentes
Estructura y función de subcomponentes
Computador
Procesador, memoria, E/S
Procesador
Unidad de control, registros, ALU, unidad de ejecución de instrucciones
Unidad de control
Memoria de control, registros, lógica de secuenciación de microinstrucciones
Señales de control para operación y coordinación de elementos del procesador
ENRIQUE MAFLA 6
Arquitectura de computadores
Arquitectura de computadores
Arquitectura – atributos visibles al programador en lenguaje máquina
(ISA)
Organización – unidades operativas y sus interconexiones (micro
arquitectura)
Familias de arquitecturas
Intel x86 – CISC, multicore, superescalar
ARM – sistema embebidos, RISC, (multicore y superescalar)
ENRIQUE MAFLA 7
Por qué estudiar Arquitectura?
Permite desarrollar programas y aplicaciones:
Mas rápidas
Mas pequeñas
Mas seguras
Con menos errores
Ayuda a depurar el código
Es parte de la malla curricular (PEA)
ENRIQUE MAFLA 8
2. Evolución de los computadores
1. Funciones y estructura generales de un computador digital.
2. Evolución de la tecnología informática desde computadores
digitales a los últimos microprocesadores.
3. Evolución de la arquitectura x86.
4. Sistemas embebidos y requisitos y restricciones que deben
cumplir los sistemas embebidos.
5. Arquitectura ARM
ENRIQUE MAFLA 9
Conceptos básicos y evolución del computador
Organización y arquitectura Sistemas embebidos
◦ IoT
Estructura y función ◦ Sistemas operativos embebidos
◦ Procesadores de aplicaciones y embebidos
Historia del computador ◦ Microprocesadores y microcontroladores
◦ Primera generación: tubos de vacío
◦ Embebidos y profundamente embebidos
◦ Segunda generación: transistores
◦ Tercera generación: CI Arquitectura ARM
◦ ... ◦ Evolución de ARM
◦ ISA
Evolución de la arquitectura x86 ◦ Productos ARM
Organización y arquitectura
Arquitectura del computador (ISA – Instruction Set Arquitecture)
Atributos con impacto directo en ejecución lógica de un programa
Formatos y opcodes de instrucciones
Registros y memoria de datos e instrucciones
Efectos de instrucciones en registros y memoria
Algoritmo para controlar la ejecución de instrucciones
ENRIQUE MAFLA 11
Arquitectura vs organización
Arquitectura
Operación mult R1 R2 R3
Organización Arquitectura IBM/370
1. Unidad especial • 1970 – 2021
2. Utilizar la unidad add • Mainframes
Decisión
Frecuencia de uso de mult
Velocidad relativa de las dos alternativas
Costo y tamaño de la unidad mult
ENRIQUE MAFLA 12
Computador como sistema jerárquico
Millones de transistores
Teoría del caos: naturaleza jerárquica del computador
En cada nivel de abstracción:
Estructura – interrelación de los componentes
Función – la operación de cada componente
Descripción
Top down
Bottom up
ENRIQUE MAFLA 13
Función del computador
Computadores son de propósito general - especialización en la
programación no en el diseño
1. Procesamiento de datos
2. Almacenamiento de datos
Temporal (volátil)
Permanente
3. Transferencia de datos
E / S
Comunicación
Control – orquestar operación de partes funcionales
ENRIQUE MAFLA 14
Estructura
Computador simple
CPU – procesador
Procesamiento
Control
Transferencia: E/S
Memoria
Interconexión – bus
Múltiples componentes
Multicore, multibus
ENRIQUE MAFLA 15
Micro arquitecturas
ENRIQUE MAFLA 16
Multicore
PCB – Printed Circuit Board
Tarjeta madre
Tarjetas de expansión
Chip – silicio
circuitos eléctricos y gates lógicos =>
circuitos integrados
ENRIQUE MAFLA 17
Motherboard con dos Xeon Quad-Core
ENRIQUE MAFLA 18
Mainframe zEnterprise EC12 de IBM
PU – Processor Unit
L3 Control – controla tráfico cache L3
cores y entre cache L3 y ambiente externo
SC (storage control) lógica cache L3
cores
MC (memory controller) acceso a
memoria externa al chip
GX I/O – controla interfaz a adaptadores
de canales de E/S
ENRIQUE MAFLA 19
Mainframe zEnterprise EC12 de IBM
Core
ISU – Instruction Sequence Unit
IFU – Instruction Fetch Unit
IDU – Instruction Decode Unit
LSU – Load Store Unit
XU – Translation Unit
FXU – Fixed Point Unit
BFU – Binary FP Unit
DFU – Decimal FP Unit
RU – Recovery Unit
COP – Coprocesador (compresión/cifrado)
ENRIQUE MAFLA 20
Historia de computadores -
Generaciones
Computadores de propósito general
Tecnología de hardware
Capacidad de procesamiento y memoria, tamaño y costo
ENRIQUE MAFLA 21
1G. Tubos de vacío
IAS: Institute for Advanced Studies
Princeton
Computador de propósito general
Programa almacenado
Alan Turing y John von Neumann
ENRIQUE MAFLA 22
IAS – Formatos de memoria
ENRIQUE MAFLA 23
Registros
Memory buffer register (MBR) • Palabra para enviar (recibir) a memory o unidad E/S
ENRIQUE MAFLA 25
IAS – ISA
ENRIQUE MAFLA 26
2G. Transistores
Dispositivos de estado sólido – silicio
Silicon Valley
Lenguajes de programación de alto nivel
Software del sistema (SO)
IBM 7094 - Data channels
Módulo de E/S independiente
Procesador / ISA
ENRIQUE MAFLA 27
3G. Circuitos integrados – microelectrónica
ENRIQUE MAFLA 29
Ley de Moore
ENRIQUE MAFLA 30
System/360 de IBM
Familia de computadores (modelos)
Compatibilidad (idéntico o similar)
ISA
Sistema operativo
Opciones
Costo
Memoria
Procesamiento
Puertos de E/S
ENRIQUE MAFLA 31
PDP-8 de DEC
Minicomputadora
OEM – Original Equipment Manufacturers
Bus (96 líneas) – control, dirección y datos
ENRIQUE MAFLA 32
4G… últimas generaciones – LSI, VLSI,
ULSI
1. Memoria de semiconductores
Cores – material ferromagnético
1970 – semiconductores; 15 generaciones: 1Kb 32Gb
1974 – costos se igualaron (core vs semiconductor)
2. Microprocesadores
1971 – Intel 4004: primera CPU en un solo chip (de 4 bits)
1972 – Intel 8008: procesador de 8 bits
1974 – Intel 8080: primer microprocesador de propósito general
ENRIQUE MAFLA 33
Microprocesadores 1970’s y 1980’s
ENRIQUE MAFLA 34
Microprocesadores 1990’s
ENRIQUE MAFLA 35
Microprocesadores - sXXI
ENRIQUE MAFLA 36
Evolución de la arquitectura Intel x86
CISC – Complex Instruction Set Computer
Diseños de mainframes y supercomputadores en un solo chip
Modelos de producción
2007 – modelo de producción tick-tock (2 años)
2016 – modelo process-architecture-optimization (3 años)
Arquitectura (ISA) x86
Compatibilidad con versiones anteriores
1978 – Intel 8086: 5MHz, 29.000 transistores
1 instrucción / µs miles de instrucciones (?)
ENRIQUE MAFLA 37
Familia x86
8086 – 16 bits; cache (cola) de instrucciones (prefetch); 8088: IBM PC
80286 – direccionamiento: 1MB 16MB
80386 – 32 bits; multitasking; poder de mini y mainframes
80486 – cache y pipelining; coprocesador math interno
Pentium – superescalar
Pentium Pro - register renaming, branch prediction, data flow analysis, speculative exec
Pentium II – MMX para video, audio y gráficos
Pentium III – SSE (Streaming SIMD Extensions): 70 instrucciones para gráficos y DSP
Core – dual core
Core 2 – 64 bits; más cores; AVE (Advanced Vector Extensions): instrucciones de 512 bits
. . .
ENRIQUE MAFLA 38
Sistema Embebidos
Smart-*
Sensores actuadores
IoT
Procesador + Memoria +
Interfaces: interactuar
Sentir (medir), manipular, comunicar
Sistemas reactivos
Interfaz humana
Software específico (μkernel)
FPGA, ASIC, HW no digital
Eficiencia
ENRIQUE MAFLA 39
IoT
Transceptores móviles de alcance corto embebidos en gadgets
Edge computing
TinyOS
Internet
ICT- PCs, servidores, enrutadores, firewalls; cableados
OT (operativa) – Equipos médicos, SCADA; cableados
PT (personal) – teléfonos, tabletas; Wireless
S/A-T (Sensor/Actuator) – dispositivos de un solo propósito; Wireless
ENRIQUE MAFLA 40
Procesadores de aplicaciones vs dedicados
Procesadores de aplicaciones
Propósito general
Ejecutan cualquier sistema operativo
Teléfonos smart
Procesadores dedicados
Uno o pocas tareas bien definidas
Reducción en complejidad costo y tamaño
Electrodomésticos, autos, sensores
ENRIQUE MAFLA 41
Microprocesadores vs microcontroladores
Microprocesador – multicore, cache, etc.
Microcontrolador
Computer on a chip
Procesador
4 – 32 bits
MHz
ROM para programa
RAM para E/S
Reloj
Unidad de control E/S
ENRIQUE MAFLA 42
Sistema profundamente embebido
Dispositivo dedicado, de un solo propósito, en red
Sensor => lógica simple => actuador
Utiliza micro controlador
No es programable (lógica “quemada” en ROM)
Procesador no es visible al programador
No interactúa con el usuario
Recursos limitados
Memoria
Procesador
Energía
ENRIQUE MAFLA 43
Evolución de ARM
RISC – Reduced Instruction Set Computer
Instrucciones de 32 bits
Licencias
Procesador – uso del diseño de ARM en sus chips (Apple)
Arquitectura del procesador – uso de arquitectura ARM para diseñar sus propios
procesadores
Procesadores ARM
Tamaño y consumo de poder reducidos
iPhone y Android
Arquitectura mas utilizada en el mundo
Acorn RISC Machine (ARM) – BBC Computer Literacy Project
ENRIQUE MAFLA 44
Productos ARM
Cortex-A (32-bit) / Cortex-A50 (64-bit)
Dispositivos móviles, TV, home routers
>1GHz; MMU para memoria virtual
Cortex-R
Deeply-embedded, aplicaciones (industriales) en tiempo real
200 – 800 MHz; sin MMU; MPU (Memory Protection Unit)
Sistemas de frenos, almacenamiento masivo, redes, impresión
Cortex-M
Microcontroladores: manejo rápido, determinístico de interrupciones
IoT, sensores/actuadores – mínimo número de gates y consumo de energía
ENRIQUE MAFLA 45
Cortex-M3 core
Aplicaciones de 16 y 32 bits
Buses para instrucciones y datos
Decodificador para ISA Thumb EFM32 de Silicon Labs
Cortex-M3 processor
NVIC – Nested Vector Interrupt Controller
ETM – Embedded Trace Macrocell
Depuración: trazabilidad de instrucciones
DAP – Debug Access Port: depuración externa
Debug logic – parar el procesador, breakpoints,
acceso a memoria y registros
ENRIQUE MAFLA 46
Cloud Computing
Modelo para permitir acceso
ubicuo, conveniente, a demanda
a un grupo compartido de
recursos computacionales
configurables (redes, servidores,
, almacenamiento, aplicaciones,
funciones, seguridad) que se
pueden aprovisionar y liberar
rápidamente con mínima
gestión TIC. --NIST
ENRIQUE MAFLA 47
1 Función y estructura del
computador
Arquitectura de von Neumann (IAS de Princeton)
Instrucciones y datos almacenados en memoria
Ejecución secuencial con saltos explícitos
Interacción con el medio externo (E/S)
Componentes – Función (datos y señales de control que intercambia)
Procesamiento – CPU
Almacenamiento – Memoria
Transferencia de datos – Dispositivos de E/S
Interconexión entre las componentes
Controles para el uso de la interconexión
ENRIQUE MAFLA 48
Hardware o software
ENRIQUE MAFLA 49
Componentes
del computador
ENRIQUE MAFLA 50
Función del computador
Ejecución de un programa (orden parcial de instrucciones)
Ciclo de una instrucción
Leer las instrucción de memoria CPU
Decodificar y ejecutar la instrucción en la CPU
ENRIQUE MAFLA 51
Fetch
+1
ENRIQUE MAFLA 52
Ejecución de la instrucción
Código Operandos
CPU Memoria
CPU E/S
Operaciones aritméticas y lógicas
Control de flujo
ENRIQUE MAFLA 53
Ejemplo (RISC –
IAS)
ENRIQUE MAFLA 54
Ciclo de instrucciones (CISC) –
diagrama de estados
CPU RAM
CPU
ADD B, A (A = A + B): iac, if, iod, oac, of, oac, of, do, oac, os
ENRIQUE MAFLA 55
Interrupciones
Programa
Overflow, división para 0, segmentation fault, instrucción ilegal, etc.
Timer
Mantener el reloj del sistema operativo
E/S
Generado por controlador de E/S, fin de operación, solicitud de servicio
Fallas de HW
Error de paridad
ENRIQUE MAFLA 56
Uso de interrupciones
ENRIQUE MAFLA 57
Manejo de Interrupciones
ENRIQUE MAFLA 58
Programa: código + bibliotecas + SO
Código del usuario
Usuario
Bibliotecas
Kernel Kernel
ISA
Micro arquitectura
ENRIQUE MAFLA 59
Ciclo de instrucciones con interrupciones
ENRIQUE MAFLA 60
Líneas de tiempo
ENRIQUE MAFLA 61
Diagrama de estados con interrupciones
ENRIQUE MAFLA 62
Manejo de interrupciones simultaneas
ENRIQUE MAFLA 63
Prioridades: Impresora < HD < Red
ENRIQUE MAFLA 64
Términos importantes
ENRIQUE MAFLA 65
Preguntas, inquietudes, sugerencias
ENRIQUE MAFLA 66