PDF de programación - Diseño de microprocesadores

Imágen de pdf Diseño de microprocesadores

Diseño de microprocesadoresgráfica de visualizaciones

Publicado el 27 de Octubre del 2019
405 visualizaciones desde el 27 de Octubre del 2019
4,5 MB
354 paginas
DISEÑO DE
MICROPROCESADORES



Jesús Savage
Facultad de Ingeniería.
Universidad Nacional Autónoma de México, UNAM.

Gabriel Vázquez
Facultad de Ingeniería.
Universidad Nacional Autónoma de México, UNAM.






PREFACIO

Existe una gran variedad de textos que tratan temas referentes al diseño de
microprocesadores. Desafortunadamente, para las personas de habla española, la mayoría
de esos textos están en otros idiomas, o bien, las traducciones que se hacen de esos textos
suelen modificar el significado o la idea que el autor deseaba expresar. Teniendo en cuenta
estos puntos, intentamos escribir este libro lo más claro y sencillo posible, y además, en
español. No obstante, en varias ocasiones se tuvieron que recurrir a términos en inglés
debido a que no se encontró una traducción apropiada al español, o porque la traducción
restaba significado al concepto.


La siguiente obra presenta las bases para el diseño de un microprocesador,
particularmente, un ‘clón’ del microprocesador M68HC11 de Motorola®. Adicionalmente,
gracias al desarrollo en los últimos años de los dispositivos lógicos programables y de los
lenguajes de descripción de hardware de alto nivel, se logró vincular la teoría con la
práctica, de manera que el diseño del microprocesador propuesto es implantado en un
PLD, empleando uno de los lenguajes de descripción de hardware más utilizados en la
actualidad por los países líderes en el área: Verilog HDL.


Estas notas han sido utilizadas exitosamente por los estudiantes de las carreras de
Ingeniería en Computación y Telemática del Instituto Tecnológico Autónomo de México,
ITAM; por los estudiantes de la carrera de Ingeniería en Sistemas Electrónicos del Instituto
Tecnológico de Estudios Superiores de Monterrey, ITESM; y por los estudiantes de la
carrera de Ingeniería en Computación y de postgrado en Computación de la Universidad
Nacional Autónoma de México, UNAM.


El antecedente para poder utilizar estas notas es un curso básico de diseño digital en
donde se den a conocer las bases de la lógica booleana, la lógica secuencial y del diseño de
dispositivos digitales básicos.


Finalmente, los autores desean agradecer a todas aquellas personas que colaboraron en
la escritura y corrección del manuscrito, así como a aquellos que nos apoyaron en la
recopilación de información para esta obra. También queremos agradecer a los estudiantes
del ITAM, del ITESM y de la UNAM por sus correcciones y sugerencias durante el
desarrollo de estas notas.



Los Autores.

CONTENIDO

INTRODUCCIÓN



1.1 ESTRUCTURA BÁSICA DE UNA COMPUTADORA

1.2 TIPOS DE COMPUTADORAS



1.2.1 Computadoras secuenciales
1.2.2 Computadoras paralelas


1.3 SEGMENTACIÓN ENCAUZADA

1.4 EL CONTROLADOR DE LA COMPUTADORA



1.5 COMPUTADORAS PARALELAS

1.5.1 Arquitecturas SIMD
1.5.2 Arquitecturas MIMD



MÁQUINAS DE ESTADOS Y SU CONSTRUCCIÓN

2.1 MÁQUINAS DE ESTADOS



2.1.1 El algoritmo de la máquina de estados
2.1.2 Estados y reloj



2.2 NOTACIÓN DE LA CARTA ASM


2.2.1 Representación de estados
2.2.2 Representación de decisiones
2.2.3 Representación de salidas


2.3 EJEMPLOS DE CARTAS ASM

2.4 CONSTRUCCIÓN DE MÁQUINAS DE ESTADOS USANDO LOS



Latch tipo D


MÉTODOS TRADICIONALES
2.4.1 Circuito secuencial

2.4.2 Unidad básica de almacenamiento

2.4.3
2.4.4 Flip-flop tipo D

2.4.5 Procedimiento para el diseño de circuitos secuenciales
2.4.6 Ejemplo



2.5 DISEÑO DIGITAL USANDO DISPOSITIVOS LÓGICOS

PROGRAMABLES



1

2

2
2
3

4

5

6
6
7

11

12
12
12

13
13
13
14

14

26
26
26
27
28
29
30

33



CAPÍTULO
1



CAPÍTULO
2



CONSTRUCCIÓN DE MÁQUINAS DE ESTADOS
USANDO MEMORIAS



3.1 DIRECCIONAMIENTO POR TRAYECTORIA

3.2 DIRECCIONAMIENTO ENTRADA-ESTADO

3.3 DIRECCIONAMIENTO IMPLÍCITO



CAPÍTULO
3

CAPÍTULO
4

CONSTRUCCIÓN DE MÁQUINAS DE ESTADOS
USANDO SECUENCIADORES



4.1 EL SECUENCIADOR BÁSICO

4.2 INSTRUCCIONES PARA EL SECUENCIADOR



4.2.1 Continúa

4.2.2 Salto condicional

4.2.3 Salto de transformación

4.2.4 Salto condicional usando la dirección de las interrupciones



4.3 SECUENCIADORES Y MEMORIAS

4.4 IMPLANTACIÓN DE CARTAS ASM USANDO SECUENCIADORES



CAPÍTULO
5

COMPONENTES BÁSICOS DE UN PROCESADOR

5.1 ESTRUCTURA BÁSICA DE UNA COMPUTADORA

5.2 UNIDAD DE CONTROL DE LA COMPUTADORA

5.3 UNIDAD DE PROCESOS ARITMÉTICOS

5.4 REGISTROS INTERNOS



5.4.1 Registros acumuladores

5.4.2 El algoritmo de multiplicación

5.4.3 Registros contadores de 16 bits



5.5 UNIDAD DE CONTROL DE PROGRAMA

5.6 REGISTRO DE ESTADOS O BANDERAS



5.7 UNIDAD DE CONTROL DE INTERRUPCIONES



40

41

43

47

53

54

55
55
56
56
57

58

59

64

65

66

67

71
71
72
76

77

78

80

CAPÍTULO
6

DISEÑO DE UN MICROPROCESADOR DE 8 BITS

6.1 ARQUITECTURA DEL MICROPROCESADOR 68HC11

6.2 TIPOS DE INSTRUCCIONES

6.2.1 Acceso inmediato
6.2.2 Acceso extendido
6.2.3 Acceso directo
6.2.4 Acceso indexado
6.2.5 Acceso relativo
6.2.6 Acceso inherente



6.3 MICROPROGRAMACIÓN



Instrucción INX (acceso inherente)
6.3.1

Instrucción INY (acceso inherente)
6.3.2

Instrucción XGDX (acceso inherente)
6.3.3

Instrucción LDAB (acceso inmediato)
6.3.4

Instrucción LDAA (acceso inmediato)
6.3.5

Instrucción SUBA (acceso extendido)
6.3.6

Instrucción BRA (acceso relativo)
6.3.7

Instrucción BEQ (acceso relativo)
6.3.8

6.3.9
Instrucción JSR (acceso extendido)

6.3.10 Instrucción RTS (acceso inherente)

6.3.11 Atención a interrupciones
6.3.12 Instrucción RTI (regreso de interrupción)



CAPÍTULO
7

SEGMENTACIÓN ENCAUZADA (PIPELINE)



83

84

87
87
87
88
88
88
89

89
90
102
105
106
107
108
110
114
116
118
120
123

128

129

130
131

134
138
141
143

144
144
151
158
164
171
178
185
186



7.1 INTRODUCCIÓN

7.2 LA ARQUITECTURA SEGMENTADA DEL 68HC11



7.2.1 Etapa 1 - Lectura de la instrucción
7.2.2 Etapa 2 - Decodificación de la instrucción /



Cálculo de la dirección efectiva / Lectura de operandos

7.2.3 Etapa 3 - Ejecución / Cálculo de banderas y saltos
7.2.4 Etapa 4 - Post-Escritura

7.2.5 Representación gráfica de la segmentación encauzada



7.3 CONJUNTO DE INSTRUCCIONES

Instrucción LDAA (acceso inmediato)
Instrucción ABA (acceso inherente)
Instrucción ANDB (acceso extendido)
Instrucción ASL (acceso indexado)
Instrucción STAA (acceso extendido)
Instrucción BRA (acceso relativo)


7.3.1
7.3.2
7.3.3
7.3.4
7.3.5
7.3.6
7.3.7 Resumen de instrucciones
7.3.8 Ejecución de múltiples instrucciones







APÉNDICE
A

7.4 RIESGOS POR DEPENDENCIAS DE DATOS



7.5 CONTROL DE RIESGOS POR DEPENDENCIAS DE DATOS

7.5.1 Control de riesgos por dependencias de datos

7.5.2 Control de riesgos por dependencias de datos

por medio de software



por medio de detenciones

7.5.3 Control de riesgos por dependencias de datos

por medio de anticipaciones

7.6 RIESGOS POR SALTOS

7.6.1 Detenciones
7.6.2 Suponer que el salto no es realizado



7.7 INTERRUPCIONES



USO DE VERILOG HDL EN EL ENTORNO
MAX+PLUS II



194

196

197

198

205

215
219
220

225

235

236

238

244

247
247
248
248
248
249
249
252
254
255

260
260
260
261

262
262
263
264
264

266
266
267



A.1 INICIANDO MAX+PLUS II

A.2 USANDO EL EDITOR DE TEXTO DE MAX+PLUS II

A.3 USANDO EL EDITOR GRÁFICO DE MAX+PLUS II

A.4 EL LENGUAJE DE DESCRIPCIÓN DE HARDWARE VERILOG



A.5 LÓGICA COMBINACIONAL EN VERILOG HDL


A.4.1 Módulos

A.4.2 Puertos

A.4.3 Cometarios

A.4.4 Bloques procedurales
A.4.5 Eventos

A.4.6 Sentencias de control de programa

A.4.7 Tipos de datos
A.4.8 Formato de números enteros


A.4.9 Tipos de operadores



A.5.1 Asignaciones continuas
A.5.2 Construcciones always
A.5.3 Construcción de multiplexores



A.6 LÓGICA SECUENCIAL EN VERILOG HDL

A.6.1 Construcción de registros
A.6.2 Construcción de contadores
A.6.3 Construcción de latches
A.6.4 Construcción de máquinas de estados



A.7 PROYECTOS JERÁRQUICOS


A.7.1 Cómo usar funciones lógicas de MAX+PLUS II en Verilog
A.7.2 Cómo usar instancias de compuertas lógicas en Verilog



A.7.3 Cómo usar funciones de usuario en Veri
  • Links de descarga
http://lwp-l.com/pdf16788

Comentarios de: Diseño de microprocesadores (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad