2. Programa
1 Modelo de arquitecturas de cómputo.
1.1 Modelos de arquitecturas de cómputo.
1.1.1 Clásicas.
1.1.2 Segmentadas.
1.1.3 De multiprocesamiento.
1.2 Análisis de los componentes.
1.2.1 CPU.
1.2.1.1 Arquitecturas.
1.2.1.2 Tipos.
1.2.1.3 Características.
1.2.1.4 Funcionamiento.
4. Ordenador o Computadora
Sistema de calculo de propósito general
que incorpora una unidad central de
proceso, memoria y dispositivos de
entrada y salida.
Del Diccionario de Electrónica e informática Orbis-Marcombo 1986.
5. Características
– Habilidad para realizar operaciones aritméticas y
lógicas.
– Memoria. Puede retener información por un periodo de
tiempo dado.
– Es programable. Efectúa una serie de operaciones en
un orden determinado.
– Capacidad de recibir información del mundo exterior y
entregar resultados de sus cálculos.
6. Jerarquía de un Sistema de
Computo
Computadora
Procesador
Subsistema de
entrada y salida
CPU
Subsistema de
Memoria
ALU
Unidad de
Control
7. Flujo de información en el CPU
Control
Resultados
Subsistema
de Memoria
Códigos de
Operación
Datos
Estado
Unidad de
Control
Control
Unidad Lógica
Aritmética
8. 1.1.1 Modelos de arquitectura de
computo clásicas
Arquitectura Mauchly-Eckert (VonNewman)
Concepto de programa almacenado
Procesador
Unidad de
Control
Bus principal
Memoria Principal
Almacena
el programa y
los datos
ALU
Registros
Entrada y salida
9. Arquitectura Harvard
Espacios de memoria de datos y programa
separados
Bus de
programa
Memoria de
programa
Procesador
Bus de
datos
Memoria de datos
Unidad de
Control
ALU
Registros
Entrada y salida
10. 1.1.2 Arquitecturas
segmentadas
Las arquitecturas segmentadas aparecieron a
mediados de los años 1960's como una manera de
aumentar el rendimiento sin implicar un nivel
masivo de paralelismo
Durante los años 1980's fueron una de las ideas
centrales de los procesadores RISC, buscando
alcanzar el objetivo de que se ejecutara una
instrucción cada ciclo de maquina.
En Inglés se conocen como “pipelined procesors” o
procesadores entubados
11. Segmentación o entubamiento
consiste en dedicar unidades especificas del
procesador a cada una de las partes del ciclo de
instrucción y ejecutarlas paralelamente
Mejora dramáticamente el rendimiento debido a que
en los procesadores modernos se tienen hasta 14
etapas en el ciclo de instrucción
12. Segmentación del cause
La unidad de control se subdivide en dos o más
unidades funcionales, cada una encargada de llevar
a cabo una parte del ciclo de instrucción.
Se comunican a través de una cola de instrucciones
(Pipeline)
Unidad de
Búsqueda
Cola de Instrucciones
Unidad de
ejecución
13. Segmentación del cauce(2)
La mejora en el rendimiento no es proporcional al
numero de segmentos en el cauce debido a que cada
etapa no toma el mismo tiempo en realizarse,
además de que se puede presentar competencia por
el uso de algunos recursos como la memoria
principal
Espera
Búsqueda
Espera
Ejecución
14. CPU de multiprocesamiento
SISO – (Single Instruction, Single Operand )
computadoras independientes
SIMO – (Single Instruction, Multiple Operand )
procesadores vectoriales
MISO – (Multiple Instruction, Single Operand ) No
implementado
MIMO – (Multiple Instruction, Multiple Operand )
sistemas SMP, Clusters
15. multiprocesamiento
Procesadores vectoriales – Son computadoras
pensadas para aplicar un mismo algoritmo numérico
a una serie de datos matriciales, en especial en la
simulación de sistemas físicos complejos
Sistemas SMP (Simetric Multi Procesesors) – Varios
procesadores comparten la misma memoria
principal y periféricos de I/O, Normalmente
conectados por un bus común
16. Clusters
Conjuntos de computadoras independientes
conectadas en una red de área local o por un bis de
interconexión y que trabajan cooperativamente para
resolver un problema
17. 1.2-Análisis de los
componentes
1.2.1 – CPU 1.2.1.1- arquitecturas
CISC (Complex Instruction Set Computers) Tienen un
número amplio de instrucciones y modos de
direccionamiento. Se implementan instrucciones
especiales que realizan funciones complejas. El número
de registros del CPU es limitado
RISC (Reduced Instruction Set Computers) Solo se
cuenta con unas pocas instrucciones y modos de
direccionamiento, pero se busca implementarlos de forma
muy eficiente y que todas las instrucciones trabajen con
todos los modos de direccionamiento. Amplio número de
registros en el CPU
18. 1.2.1.2 Tipos de CPU
Por tamaño del ALU o del Bus de conexión al
exterior (8, 16, 32, 64 bits)
De cauce segmentado o no segmentado
CISC o RISC
Von Newan o Harvard
Instrucciones enteras y/o de punto flotante
19. 1.2.1.3 Características de los
CPU
Modelo del programador (Conjunto de registros que
el programador puede utilizar)
Conjunto de instrucciones
Modos de direccionamiento
Ciclo de instrucción
Buses de interconexión
20. 1.2.1.4 Funcionamiento del CPU
Se explicara el funcionamiento de una
computadora imaginaria, cuyo funcionamiento
básico es similar al de la mayoría de las
computadoras de propósito general
Contara con una memoria de 4096 palabras de
16 bits cada una (12 bits de direcciones, 16 bits
de datos)
En cada localidad de memoria se podrá
almacenar un entero de 16 bits o el código de
una instrucción, también de 16 bits.
21. Componentes del CPU
Registro ACC (16 bits)– Acumulador, se usará
para almacenar uno de los operandos y el
resultado de varias de las instrucciones
MAR – (Memory Address Register 12 bits)
Registro de dirección de memoria, selecciona
a que localidad de memoria se va a leer o a
escribir.
MBR – (Memory Bus Register 16 bits)
Registro de bus de memoria. A través de él se
lee y se escriben los datos.
22. Componentes del CPU (2)
IR Registro de instrucción (16 bits), guarda el
codigo de la instrucción que se esta ejecutando.
Flags – Registro de Banderas, agrupa a todas
las banderas de la ALU en un registro
Z – Bandera de Cero
O – Sobreflujo
C – Acarreo
PC (Program Counter 16 bits) Contador de
programa – almacena la dirección de la
siguiente instrucción a leer
23. Codificación de una instrucción
Código de Instrucción
Operación
Operando 1
Operando 2
Operando único
Codigo de Operación
24. Códigos de operación
Código de
Operación
0h
1h
2h
3h
4h
5h
6h
7h
8h
9h
Instrucción
LOAD (Carga)
STORE (Almacena)
ADD (Suma)
ADC (Suma con Acarreo)
SUB (Resta)
OR (Or Bit a Bit)
AND (And bit a Bit)
XOR (Xor Bit a Bit)
SHL (Corrimiento a la Izquierda)
SHR (Corrimiento a la derecha)
Operación
ACC<-[M]
[M]<-ACC
ACC<-ACC+[M]
ACC<-ACC+[M]+C
ACC<-ACC-[M]
ACC<-ACC or [M]
ACC<-ACC and [M]
ACC<-ACC xor [M]
ACC<-ACC << 1
ACC<-ACC >> 1
25. Códigos de operación (2)
Código de
Operación
Ah
BRA Bifurcación o salto
PC<-M
Bh
BRZ (Bifurca si es Cero)
Si Z==1 => PC<-M
Ch
BRC (Bifurca si hay Acarreo)
Si C==1 => PC<-M
Dh
BRO (Bifurca si hay Sobreflujo)
Si O==1 => PC<-M
Eh
LDI (Carga Constante Inmediata) ACC <-[PC]
PC<-PC+1
STOP
Detener la simulación
Fh
Instrucción
Operación
Notas: M es el operando
LDI se codifica en dos palabras, una una para el
código de operación y otra para la constante inmediata
28. Ciclo de instrucción (2)
Búsqueda de instrucción: En esta etapa se lee
el código de la siguiente instrucción a ejecutar
PC Contiene la dirección de la instrucción
IR<-[PC] (se lee de memoria el código)
PC<-PC+1(PC apunta a la siguiente instrucción
Decodificación de la instrucción
Se separa el contenido de IR en Opcode y
Operando
Se busca a que instrucción corresponde el
Opcode
31. Búsqueda de la Instrucción
ADD 024h
Contenido
XXXXh
002h
2024h
003h
MAR
001h
0023h
Acumulador
000h
XXXXh
Banderas
Dir.
003h
...
004h
003h
002h
PC
2024h
IR
CPU
2024h
MBR
BUS
XXXXh
022h
1234h
023h
4567h
024h
...
XXXXh
FFFh
Memoria
32. Ejecución Instrucción ADD 024h
Contenido
XXXXh
002h
2024h
024h
MAR
001h
0023h
Acumulador
579Bh
000h
XXXXh
Z=0, C=0, V=0
Banderas
Dir.
003h
...
004h
PC
2024h
IR
CPU
4567h
MBR
BUS
XXXXh
022h
1234h
023h
4567h
024h
...
XXXXh
FFFh
Memoria
33. 1.2.2 Memorias
Conjunto de celdas de almacenamiento y sus circuitos
asociados
Una palabra es el conjunto de bits que puede leerse o
escribirse en una sola operación
Un grupo de 8 bits es un byte. Un grupo de 4 bits un
Nible
Los tamaños de palabra en las memorias suelen ser
múltiplos de 8 bis
El tamaño de la palabra coincide con el numero de
terminales de datos que poseen.
34. Memorias (2)
Las lineas de direcciones sirven para escoger en cual de todas las
palabras de la memoria se va a guardar o a leer un dato
El número de lineas de direcciones se determina por el tamaño de
la memoria
T=2N
T - Número de palabras o localidades
N - Número de lineas de direcciones
Es común que el tamaño de las memorias se exprese como un
múltiplo de las siguientes unidades: 1K = 2^10=1024; 1M = 2^20
= 1024*1024, 1G=2^30 = 1024*1024 *1024
35. Clasificación de Memorias
Volátiles: pierden la información
cuando son desenergizadas (RAM)
RAM estatica: Se forma con flip-flops.
Rápida pero cara.
RAM Dinámica: Se almacenan los
datos en la capacitancia parásita de un
transistor. Como el capacitor se
descarga necesita reescribirse el dato
con frecuencia. Alta densidad, baratas
pero lentas.
No volátiles: conservan la información
aún sin suministro de energía
ROM: Se construyen con diodos, datos
grabados por el fabricante
PROM: Los datos se graban quemando
fusibles.
EPROM: Similares a la DRAM,
guardan los datos en la carga
almacenada en la compuerta flotante de
un MOSFET especial. Se borran con
Luz UV
EEPROM y FLASH: Se borran
eléctricamente
36. 1.3 Dispositivos de I/O
1.1 Arquitecturas (Técnicas de interfaz)
Escrutinio (Polling) – se revisa si el dispositivo requiere
atención periódicamente
Interrupciones – El dispositivo llama a una rutina de
atención por medio de un mecanismo de hardware
especial, interrumpiendo la ejecución del programa
principal
Acceso directo a memoria (DMA Direct Memory Access)
El dispositivo de entrada/salida toma el control del Bus
del procesador y transfiere los datos la memoria
directamente.
37. 1.3.1 Tipos
Dispositivos orientados a caracteres – Transfieren
cantidades pequeñas de información a la vez,
comúnmente por medio de escrutinio o
interrupciones, el software los mantiene en un
buffer hasta que son procesados por el Software
Dispositivos orientados a bloques – Transfieren la
información por bloques a la memoria, usando
DMA. Es común que contengan algún tipo de
memoria interna para usar como buffer.
38. 1.3.3 Características
Tipo de comunicación con la PC
Serie: se comunica un bit a la vez
Paralela: se comunica más de un bit a la vez
Velocidad de transferencia
Latencia: Tiempo que toma en ocurrir la primera
transferencia de datos.
Ancho de banda. Velocidad de transferencia de datos
bits/seg.