Publicado el 3 de Septiembre del 2018
969 visualizaciones desde el 3 de Septiembre del 2018
1,4 MB
41 paginas
Creado hace 11a (09/02/2014)
Instituto Tecnológico de Morelia
Arquitectura de Computadoras
Unidad 1a
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.
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.
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.
Jerarquía de un Sistema de
Computo
Computadora
Procesador
CPU
ALU
Subsistema de
entrada y salida
Subsistema de
Memoria
Unidad de
Control
Flujo de información en el CPU
Control
Resultados
Subsistema
de Memoria
Códigos de
Operación
Unidad de
Control
Estado
Control
Datos
Unidad Lógica
Aritmética
Arquitectura y organización
Arquitectura: Atributos de una computadora
que son visibles a un programador, o que tie-
nen impacto en la ejecución lógica de un pro-
grama.
Organización: Detalles de hardware transparen-
tes al programador, tales como señales de con-
trol, interfases entre el computador y los peri-
féricos y la tecnología de memoria usada.
1.1.1 Modelos de arquitectura de
computo clásicas
Arquitectura Mauchly-Eckert (VonNewman)
Concepto de programa almacenado
Bus principal
Procesador
Unidad de
Control
ALU
Registros
Memoria Principal
los datos
Almacena
el programa y
Entrada y salida
Arquitectura Harvard
Espacios de memoria de datos y programa separa-
dos
Bus de
programa
Memoria de
programa
Procesador
Unidad de
Control
ALU
Registros
Bus de
datos
Memoria de datos
Entrada y salida
1.1.2 Arquitecturas segmenta-
das
Las arquitecturas segmentadas aparecieron a me-
diados de los años 1960's como una manera de au-
mentar el rendimiento sin implicar un nivel masivo
de paralelismo
Durante los años 1980's fueron una de las ideas cen-
trales 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
Segmentación o entubamiento
consiste en dedicar unidades especificas del proce-
sador a cada una de las partes del ciclo de instruc-
ció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
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
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, ade-
más de que se puede presentar competencia por el
uso de algunos recursos como la memoria principal
Espera
Espera
Búsqueda
Ejecución
CPU de multiprocesamiento
Clasificación de Flynn
SISO – (Single Instruction, Single Operand ) com-
putadoras de un solo núcleo
SIMO – (Single Instruction, Multiple Operand )
procesadores vectoriales; extensiones MMX, SSE;
núcleos de GPU
MISO – (Multiple Instruction, Single Operand ) No
implementado
MIMO – (Multiple Instruction, Multiple Operand )
sistemas SMP, Clusters, GPU
Multiprocesamiento
Procesadores vectoriales – Son computadoras pen-
sadas para aplicar un mismo algoritmo numérico a
una serie de datos matriciales, en especial en la si-
mulación de sistemas físicos complejos
La mayoría de los procesadores modernos incluye
algunas instrucciones de tipo vectorial, tales como
las extensiones MMX, SSE
Procesadores Digitales de Señales (DSP), son pro-
cesadores especializados en el procesamiento de se-
ñales tales como audio, video, radar, sonar, radio,
etc. Cuentan con instrucciones tipo vectorial que los
hace muy aptos para dicha aplicación
Sistemas SMP
Sistemas SMP (Simetric Multi Procesesors) –
Varios procesadores comparten la misma me-
moria principal y periféricos de I/O, Normal-
mente conectados por un bus común
Procesador
Procesador
Procesador
Procesador
BUS Común
Memoria
Clusters
Conjuntos de computadoras independientes conec-
tadas en una red de área local o por un bus de inter-
conexión y que trabajan cooperativamente para re-
solver un problema
Memoria
Memoria
Memoria
Memoria
Procesador
Procesador
Procesador
Procesador
Red de Interconexión
Procesadores Gráficos
(Graphics Processing Unit GPU) – sistemas di-
señados originalmente para el procesamiento
de Gráficos, con múltiples procesadores vecto-
riales sencillos compartiendo la misma memo-
ria
CPU
PCI-E
GPU
Núcleo
Núcleo
Núcleo
Núcleo
Núcleo
Núcleo
Anfitrión
DRAM
DRAM
Tarjeta
Gráfica
1.2-Análisis de los componen-
1.2.1 – CPU 1.2.1.1- arquitecturas
tes
CISC (Complex Instruction Set Computers) Tienen un
número amplio de instrucciones y modos de direcciona-
miento. Se implementan instrucciones especiales que rea-
lizan funciones complejas. El número de registros del
CPU es limitado
RISC (Reduced Instruction Set Computers) Solo se cuen-
ta con unas pocas instrucciones y modos de direcciona-
miento, pero se busca implementarlos de forma muy efi-
ciente y que todas las instrucciones trabajen con todos los
modos de direccionamiento. Amplio número de registros
en el CPU
1.2.1.2 Tipos de CPU
Por tamaño del ALU o del Bus de conexión al exte-
rior (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
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
1.2.1.4 Funcionamiento del CPU
Se explicara el funcionamiento de una compu-
tadora imaginaria, cuyo funcionamiento básico
es similar al de la mayoría de las computadoras
de propósito general (De: Mano, M. Morris.
Arquitectura de computadoras. Pearson 1994)
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á alma-
cenar un entero de 16 bits o el código de una
instrucción, también de 16 bits.
Componentes del CPU
Registro ACC (16 bits)– Acumulador, se usará
para almacenar uno de los operandos y el resul-
tado 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 es-
cribir.
MBR – (Memory Bus Register 16 bits) Regis-
tro de bus de memoria. A través de él se lee y
se escriben los datos.
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 si-
guiente instrucción a leer
Codificación de una instrucción
Código de Instrucción
Operación
Operando 1 Operando 2
Operando único
Codigo de Operación
Códigos de operación
Código de
Operación
Instrucción
Operación
0h
1h
2h
3h
4h
5h
6h
7h
8h
9h
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) ACC<-ACC << 1
SHR (Corrimiento a la derecha) ACC<-ACC >> 1
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]
Códigos de operación (2)
Código de
Operación
Ah
Bh
Ch
Dh
Eh
Fh
Instrucción
Operación
BRA Bifurcación o salto
BRZ (Bifurca si es Cero)
BRC (Bifurca si hay Acarreo)
BRO (Bifurca si hay Sobreflujo)
LDI (Carga Constante
Inmediata)
STOP
PC<-M
Si Z==1 => PC<-M
Si C==1 => PC<-M
Si O==1 => PC<-M
ACC <-[PC]
PC<-PC+1
Detener la simulació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
Ejemplos de Codificación
Instrucción Opcode
LD 123h
ADD 123h
BRA 123h
LDI 1234h
STOP
0h
2h
Ah
E000h
Fh
Operando
123h
123h
123h
1234h
No Aplica
Código
0123h
2123h
A123h
E000h, 1234h
F000h
Ciclo de instrucción
Búsqueda de la Instrucción
Decodificación de la Instrucción
Ejecución de la Instrucción
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 instruc-
ció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 Op-
code
Búsqueda Instrucción
LOAD 023h
R
A
M
R
B
M
BUS
Banderas
Acumulador
PC
IR
CPU
Contenido
XXXXh
XXXXh
0023h
2024h
XXXXh
1234h
4567h
...
...
Dir.
000h
001h
002h
003h
022h
023h
024h
XXXXh
FFFh
Memoria
Búsqueda Instrucción
LOAD 023h
h
R
2
A
0
M
0
h
R
3
B
2
M
0
0
BUS
Banderas
Acumulador
PC
002h
0023h
IR
CPU
Contenido
XXXXh
XXXXh
0023h
2024h
XXXXh
1234h
4567h
...
...
Dir.
000h
001h
002h
003h
022h
023h
024h
XXXXh
FFFh
Memoria
Búsqueda Instrucción
LOAD 023h
h
R
2
A
0
M
0
h
R
3
B
2
M
0
0
BUS
Banderas
Acumulador
PC
002h
003h
0023h
IR
CPU
Contenido
XXXXh
XXXXh
0023h
2024h
XXXXh
1234h
4567h
...
...
Dir.
000h
001h
002h
Comentarios de: Unidad 1a - Arquitectura de Computadoras (0)
No hay comentarios