PDF de programación - Tema 11: Arquitectura interna de una CPU

Imágen de pdf Tema 11: Arquitectura interna de una CPU

Tema 11: Arquitectura interna de una CPUgráfica de visualizaciones

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)



á 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
  • Links de descarga
http://lwp-l.com/pdf16613

Comentarios de: Tema 11: Arquitectura interna de una CPU (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad