Publicado el 25 de Septiembre del 2019
448 visualizaciones desde el 25 de Septiembre del 2019
1,0 MB
16 paginas
Creado hace 12a (19/03/2012)
TEMA 11: ARQUITECTURA INTERNA
TEMA 11: ARQUITECTURA INTERNA
DE UNA CPU
Si t
d
Digit l
Sistemas Digitales basados en Microprocesador
Grado en Ingeniería Telemática
Mi
b
d
© Raúl Sánchez Reíllo
1
1
ÍNDICE
q
Arquitectura Von Neumann
Arquitecturas basadas en Acumulador
Arquitecturas basadas en Registros
Arquitectura Harvard
Arquitectura Harvard
La Unidad de Control
El Contador de Programa
El Contador de Programa
El Registro de Instrucción
La ALU y el Registro de Estado
La ALU y el Registro de Estado
La Memoria Principal
Decodificador de direcciones
Decodificador de direcciones
El Puntero de Pila
Arranque de la CPU
Arranque de la CPU
/
11
2
3
1
2
0
1
1
/
i
S
s
t
e
m
a
s
D
g
i
i
i
t
l
a
e
s
B
a
s
a
d
d
o
s
e
n
M
c
r
o
p
r
o
c
e
s
a
d
o
r
i
2
ARQUITECTURA DE VON NEUMANN
John Von Neumann, en su artículo del año 1945, definió
una computadora de propósito general, basada en la idea
de programa almacenado
d
d
l
Los componentes principales eran:
Una memoria principal
Una memoria principal
Almacenaba tanto datos como instrucciones
Una unidad de cálculo para operaciones aritméticas y lógicas
p
p
y
g
Lo que se conoce como una ALU
Una unidad de control
i
t l
Q i t
i
Que interpreta las instrucciones obtenidas de la memoria y
las ejecuta
id d l
bt
t
i
Un equipamiento de Entrada/Salida
q p
Para interactuar con el mundo exterior
Esto lo plasmó en una máquina denominada IAS
ARQUITECTURA DE VON NEUMANN
3
4
ARQUITECTURA DE VON NEUMANN
Memoria común para datos e
instrucciones
1000 palabras de 40 bits
Datos:
Nú e o bi a io co ig o
Números binarios con signo
Instrucciones:
Cada palabra tenía 2
instrucciones de 20 bits
Cada instrucción tiene
Código de operación de 8 bits
Dirección codificada en 12 bits
ARQUITECTURA DE VON NEUMANN
Registros de la CPU:
Memoria
MBR: Buffer de Memoria
MAR: Direccionamiento de
MAR: Direccionamiento de
IR: Registro de Instrucción
IBR: Buffer del IR
IBR: Buffer del IR
PC: Contador de Programa
AC: Acumulador
MQ: Cociente Multiplicador
registros se hace mediante
buses internos
Datos
Direcciones
t M lti li d
La comunicación entre
MQ C i
5
6
ARQUITECTURA DE VON NEUMANN
El IAS contaba con 21 instrucciones que se podían
También describió el modo de funcionamiento de la
agrupar en los siguientes tipos:
Transferencia de Datos
Desvíos Incondicionales
Desvíos Condicionales
Aritméticas y Lógicas
Aritméticas y Lógicas
Modificación de Direcciones
Unidad de Control
Unidad de Control
1.- La UC captura la instrucción de la memoria
2.- La decodifica
3 La ejecuta y vuelve al paso 1 para capturar la siguiente
3.- La ejecuta y vuelve al paso 1 para capturar la siguiente
instrucción en memoria
Es decir, la máquina de Von Neumann seguía una ejecución
secuencial de las instrucciones, que se colocaban de forma
secuencial de las instrucciones, que se colocaban de forma
lineal en la memoria, alterándose dicha linealidad sólo por la
existencia de instrucciones de desvíos (condicionales e
incondicionales)
ARQUITECTURA DE VON NEUMANN
Ampliaciones posteriores han dado lugar a dos tipos de
arquitecturas:
Basada en Acumulador:
Basada en Acumulador:
Es la original de Von Neumann (aunque a día de hoy pueden tener más
Casi toda operación tiene como fuente o como destino el acumulador
Casi toda operación tiene como fuente o como destino el acumulador
de un acumulador)
Basada en Registros:
Surge para mejorar prestaciones:
Las operaciones entre registros son más rápidas que cuando hay que
Las operaciones entre registros son más rápidas que cuando hay que
Cuantos más registros se tengan, menos accesos a memoria son necesarios en
consultar a memoria
operaciones iterativas
Se sustituye el acumulador por un conjunto de registros (su número
Se sustituye el acumulador por un conjunto de registros (su número
Los registros pueden tener uso indistinto o específico:
depende de la CPU concreta)
De Propósito General
Sólo de datos
De direcciones
hagan sólo entre registros (salvo las de transferencia de datos)
hagan sólo entre registros (salvo las de transferencia de datos)
En algunas arquitecturas se fuerza a que todas las operaciones se
7
8
ARQUITECTURA HARVARD
Se elimina el concepto de Memoria Principal. En esta
arquitectura existe:
Una memoria exclusivamente para datos
Una memoria exclusivamente para datos
Una memoria exclusivamente para instrucciones
Buses (tanto de datos, como de direcciones) diferenciados para
cada una de las memorias
cada una de las memorias
Sus números de líneas pueden ser distintos
El tamaño de palabra de datos y de instrucciones puede ser distinto
La capacidad de las memorias pueden ser distintas
La capacidad de las memorias pueden ser distintas
Ventajas:
Se incrementa la capacidad de direccionamiento
Se pueden adaptar mejor a las necesidades de las aplicaciones
Se pueden adaptar mejor a las necesidades de las aplicaciones
Se incrementa la fiabilidad de las aplicaciones, por garantía de
objetivo de dicha CPU
integridad del código
teg dad de cód go
Inconvenientes:
Interfaz Externa más compleja y conexionado más amplio
ARQUITECTURA DEL CORTEX-M3
Es una Arquitectura Harvard:
Bus direcciones de 32 bits
Se direccionan bytes
Bus de datos de 32 bits
23 registros
23 registros
13 de propósito general
2 de puntero de pila (SP)
1 PC
1 registro de enlace (LR)
1 registro de estado
1 registro de estado
4 registros especiales
9
10
REGISTROS INTERNOS DEL CORTEX-M3
LA UNIDAD DE CONTROL
Es el elemento que se encarga de gestionar el
funcionamiento de toda la CPU
Se trata de un autómata que se basa en ejecutar
continuamente tres fases:
Fetch (captura): Se captura la instrucción de la memoria
Fetch (captura): Se captura la instrucción de la memoria.
Conlleva las siguientes operaciones:
MAR PC
PC PC + 1
PC
1
MBR (MAR)
IR MBR
; Lectura de memoria
PC
Decode (decodificación): Se interpreta el contenido del IR y
se prepara a la CPU para la siguiente fase
Execute (ejecución): Se ejecutan los pasos necesarios para la
Execute (ejecución): Se ejecutan los pasos necesarios para la
consecución de la operación
11
12
LA UNIDAD DE CONTROL
Al tratarse de un autómata, funcionará a un ritmo
marcado por el reloj del sistema:
En realidad se habla de ciclos máquina
En realidad se habla de ciclos máquina
Dependiendo de la CPU, cada ciclo máquina puede ser un ciclo de reloj,
o puede ser un número fijo de ciclos de reloj
Cada instrucción en la ejecución de sus tres fases
Cada instrucción, en la ejecución de sus tres fases,
consumirá un determinado número de ciclos máquina
La fase de fetch es común a todas
El número de ciclos en las otras dos fases puede ser distinto para cada
El número de ciclos en las otras dos fases puede ser distinto para cada
más rápida será la ejecución del programa
más rápida será la ejecución del programa
instrucción conlleva un consumo de tiempo
ñ l
Cuanto mayor frecuencia pueda tener el reloj del sistema,
Es importante tener en cuenta que la ejecución de una
La Unidad de Control genera tantas señales internas
L U id d d C t
como necesite para controlar cada uno de los componentes
de la CPU (bus de control interno)
i t
t
l
t
instrucción
LA UNIDAD DE CONTROL
Dependiendo de la Arquitectura de la CPU, el diseñador
de la misma puede haber hecho una optimización de
recursos internos, para procesar varias instrucciones en
“paralelo”:
Mientras se está ejecutando una instrucción, se puede estar
Mi
i
capturando la siguiente (pre-fetch)
ió
á j
d
d
A esta técnica se le denomina segmentación y el número de
A esta técnica se le denomina segmentación y el número de
etapas (segmentos) puede variar de una a otra
El Cortex-M3 presenta una segmentación a 3 niveles:
p
g
Fetch
Decodificación
Ejecución
13
14
EL REGISTRO DE INSTRUCCIÓN (IR)
Es el encargado de mantener la instrucción que se va a
ejecutar, para que se decodifique y se emprendan las
acciones necesarias
i
i
El tamaño del IR determina el número máximo de
instrucciones por las combinaciones posibles (8 bits = 256
instrucciones, por las combinaciones posibles (8 bits
256
operaciones máximas)
Sin embargo, las instrucciones se codifican de forma muy
estructurada, lo que limita las posibilidades y simplifica la
decodificación de las mismas, y el trabajo del programador
Como mínimo las instrucciones se codifican en dos partes:
Como mínimo, las instrucciones se codifican en dos partes:
Opcode o código de operación: es el código que indica la
instrucción a ejecutar y su variante (modo de
di
t t )
direccionamiento, etc.)
Parámetros: normalmente determinan un (o varios)
operando o la dirección de un (o varios) operando.
)
(
i
i
EL REGISTRO DE INSTRUCCIÓN (IR)
Respecto al número de instrucciones que contempla una
CPU, existen las siguientes arquitecturas:
CISC: Son CPUs que contemplan un gran número de
d
ú
C SC S C
instrucciones
Normalmente son instrucciones complejas, con gran número de
l
Muchas de ellas se utilizan un número muy limitado de veces
Facilitan mucho la programación, al contemplar operaciones
p g
p
p
,
RISC: Un número de instrucciones reducido
Instrucciones muy sencillas normalmente de una única palabra de
Instrucciones muy sencillas, normalmente de una única palabra de
variantes
complejas
memoria
La CPU es mucho más sencilla (pequeña y barata)
La programación se complica al tener que hacer operaciones no
La programación se complica, al tener que hacer operaciones no
excesivamente complejas, con un gran número de instrucciones
sencillas
El
Comentarios de: Tema 11: Arquitectura interna de una CPU (0)
No hay comentarios