Está en la página 1de 66

ICCD332 - Arquitectura de Computadores

Capitulo 2
1. Estructura y función
2. Computador Von Neumann – IAS
3. Arquitecturas ARM y x86
4. Ensamblaje de computadores

ESCUELA POLITÉCNICA NACIONAL

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

Organización del computador (micro arquitectura)


Unidades operativas e interconexiones para implementar la ISA
Detalles del hardware transparentes al programador
Señales de control
Interfaces procesador  periféricos
Tecnología de la memoria

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

Memory address register (MAR) • Dirección en memoria de la palabra MBR

Instruction register (IR) • Opcode (8-bit) de instrucción a ser ejecutada

Instruction buffer register (IBR) • Almacenar instrucción derecha de palabra de memoria

Program counter (PC) • Dirección del siguiente par de instrucciones en memoria

Accumulator (AC) and multiplier


quotient (MQ) • Operandos y resultados de operaciones ALU
IAS – Operación

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

Elementos de un computador digital


Gates
Celdas de memoria
Interconexiones
Control
Funciones
Almacenamiento – celdas
Procesamiento – gates
Movimiento – interconexión
celdas  celdas; celdas  gates  celdas
Control
Control
System/360 y PDP-8
ENRIQUE MAFLA 28
Efectos de la integración
• Costo y tamaño => aplicaciones
• Longitud de circuitos => velocidad
de operación
• Menos conexiones entre chips
• Energía y enfriamiento

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

También podría gustarte