Professional Documents
Culture Documents
1
UNIVERSIDAD PRIVADA TELESUP
Prefacio:
La asignatura es de carcter terico-prctico. Tiene
como finalidad desarrollar en el estudiante habilidades
para el anlisis y la aplicacin de diferentes mtodos
de microprogramacin en microprocesadores. El
microprocesador es el circuito integrado central y ms
complejo de un sistema informtico; a modo de
ilustracin, se le suele llamar por analoga el
cerebro de un computador. Es un circuito integrado
conformado por millones de componentes electrnicos.
Constituye la unidad central de procesamiento (CPU) de un PC catalogado como
microcomputador.
Es el encargado de ejecutar los programas, desde el sistema operativo hasta las
aplicaciones de usuario; slo ejecuta instrucciones programadas en lenguaje de
bajo nivel, realizando operaciones aritmticas y lgicas simples, tales como sumar,
restar, multiplicar, dividir, las lgicas binarias y accesos a memoria.
La disciplina dedicada a la construccin, estudio y aplicacin de los computadores
recibe el nombre de Arquitectura de Computadores y puede ser dividida en cinco
partes fundamentales: entrada y salida, comunicaciones, control, procesamiento y
almacenamiento.
2
UNIVERSIDAD PRIVADA TELESUP
Riesgos por
Arquitectura Construccin de Microprogramacin
dependencia de
de una Mquinas de Datos
Computadora Estados
3
UNIVERSIDAD PRIVADA TELESUP
ndice del Contenido
I. PREFACIO 02
II. DESARROLLO DE LOS CONTENIDOS 03 - 185
UNIDAD DE APRENDIZAJE 1: ARQUITECTURA DE UNA COMPUTADORA 04-51
1. Introduccin 06
a. Presentacin y contextualizacin 06
b. Competencia 06
c. Capacidades 06
d. Actitudes 06
e. Ideas bsicas y contenido 06
2. Desarrollo de los temas 07- 47
a. Tema 01: Estructura Bsica de una Computadora. 07
b. Tema 02: Maquinas de Estados. 14
c. Tema 03: Construccin de Mquinas de Estados. 26
d. Tema 04: Direccionamiento por Trayectoria. 35
3. Lecturas recomendadas 48
4. Actividades 48
5. Autoevaluacin 49
6. Resumen 51
UNIDAD DE APRENDIZAJE 2: CONSTRUCCIN DE MQUINAS DE ESTADOS 52-90
1. Introduccin 53
a. Presentacin y contextualizacin 53
b. Competencia 53
c. Capacidades 53
d. Actitudes 53
e. Ideas bsicas y contenido 53
2. Desarrollo de los temas 54-86
a. Tema 01: Secuenciadores Bsicos. 54
b. Tema 02: Componentes Bsicos de un Procesador. 62
c. Tema 03: Registros Internos. 70
d. Tema 04: Diseo de un Microprocesador de 8 Bits. 80
3. Lecturas recomendadas 87
4. Actividades 87
5. Autoevaluacin 88
6. Resumen 90
UNIDAD DE APRENDIZAJE 3: MICROPROGRAMACIN 91-143
1. Introduccin 92
a. Presentacin y contextualizacin 92
b. Competencia 92
c. Capacidades 92
d. Actitudes 92
e. Ideas bsicas y contenido 92
2. Desarrollo de los temas 93-139
a. Tema 01: Elementos de Microprogramacin. 93
b. Tema 02: Arquitectura Segmentada del 68hc11. 109
c. Tema 03: Decodificacin de la Instruccin. 115
d. Tema 04: Microprogramas. 128
3. Lecturas recomendadas 140
4. Actividades 140
5. Autoevaluacin 141
6. Resumen 143
UNIDAD DE APRENDIZAJE 4: RIESGOS POR DEPENDENCIA DE DATOS 144-182
1. Introduccin 145
a. Presentacin y contextualizacin 145
b. Competencia 145
c. Capacidades 145
d. Actitudes 145
e. Ideas bsicas y contenido 145
2. Desarrollo de los temas 146-178
a. Tema 01: Control De Riesgos I. 146
b. Tema 02: Control De Riesgos II. 155
c. Tema 03: Max + Plus II. 160
d. Tema 04: Editor De Max + Plus II. 172
3. Lecturas recomendadas 179
4. Actividades 179
5. Autoevaluacin 180
6. Resumen 182
III. GLOSARIO 183
IV. FUENTES DE INFORMACIN 184
V. SOLUCIONARIO 185
4
UNIVERSIDAD PRIVADA TELESUP
5
UNIVERSIDAD PRIVADA TELESUP
Introduccin
a) Presentacin y contextualizacin
El microprocesador es el circuito integrado ms importante. Est formado por
millones de transistores integrados. Incorpora en su interior una unidad central de
proceso (CPU) permitiendo enlazar otros dispositivos. Para realizar su trabajo debe
ejecutar paso a paso un programa que consiste en una secuencia de nmeros
binarios o instrucciones, almacenndolas en uno o ms elementos de memoria,
generalmente externos al mismo. La aplicacin ms importante de los
microprocesadores es la computadora.
b) Competencia
Explica las funcionalidades de los requerimientos y las implementaciones de
diseo para varias partes de una computadora, con especial inters en la
forma en que la unidad central de proceso.
c) Capacidades
1. Describe la estructura bsica de una computadora, identificando cada uno de
sus componentes y funcionalidades.
2. Reconoce las diversas mquinas de estados y sus utilidades dentro del
desarrollo de la arquitectura de las computadoras.
3. Conoce el proceso adecuado de construccin de mquinas de estados usando
mtodos tradicionales.
4. Analizar el direccionamiento por trayectoria y las aplicaciones en el proceso de
desarrollo de la arquitectura de las computadoras.
d) Actitudes
Pone en prctica cada uno de los procesos recomendados en el desarrollo de
la arquitectura de computadoras.
Incentiva el adecuado proceso de construccin de las mquinas de estados.
6
UNIVERSIDAD PRIVADA TELESUP
Estructura
TEMA 1
Bsica
de una
Computadora
Competencia:
Describir la estructura bsica de una
computadora, identificando cada uno de
sus componentes y funcionalidades.
7
UNIVERSIDAD PRIVADA TELESUP
Desarrollo de los Temas
Tema 01: Estructura Bsica de una Computadora
TIPOS DE COMPUTADORAS
Existen diversos criterios de clasificacin para las
arquitecturas de computadoras. Uno de ellos es
la manera en como ejecutan sus clculos, el cual
origina dos categoras de computadoras:
1. Aquellas que realizan los clculos de manera
secuencial (a la cual pertenecen la mayora
de las computadoras); y
2. Aquellas que realizan los procesos en paralelo.
8
UNIVERSIDAD PRIVADA TELESUP
COMPUTADORAS SECUENCIALES
Dentro de esta clasificacin encontramos a las computadoras SISD (Single-Instruction
Stream, Single-Data Stream / Flujo nico de Instrucciones, Flujo nico de Datos).
La arquitectura de von Neumann pertenece a esta clasificacin que corresponde a
computadoras que tienen un slo CPU ejecutando una instruccin a la vez, adems,
en este tipo de computadoras slo se puede buscar o almacenar un elemento de datos
a la vez. En las computadoras de von Neumann los programas y datos se encuentran
en una memoria externa.
Para ejecutar una instruccin, la computadora tiene que efectuar las siguientes
etapas:
1. Traer el cdigo de la instruccin a ejecutar.
2. Decodificar la instruccin, es decir, saber cules son las micro-operaciones que
tiene que realizar la computadora para ejecutar dicha instruccin.
3. Traer los operandos en caso de que los requiera la instruccin.
4. Ejecutar la instruccin y guardar el resultado.
Estas etapas se ejecutan de manera secuencial para cada instruccin, por lo
tanto, una nueva instruccin no puede comenzar hasta que la anterior termine.
9
UNIVERSIDAD PRIVADA TELESUP
COMPUTADORAS PARALELAS:
Una computadora que ejecuta procesos en paralelo
cuent a con varios de sus componentes internos
repetidos, de esta forma puede ejecutar varias
instrucciones al mismo tiempo. Dentro de esta
clasificacin encontramos a las computadoras
SIMD (Single-Instruction Stream, Multiple-Data
Stream / Flujo nico de Instrucciones, Flujo Mltiple de Datos) y MIMD (Multiple
Instruction Stream, Multiple-Data stream / Flujo Mltiple de Instrucciones, Flujo Mltiple
de Datos). Las arquitecturas SIMD son esenciales en el mundo de las computadoras
paralelas, debido a su habilidad para manejar grandes vectores y matrices de datos en
tiempos muy cortos. El secreto detrs de este tipo de arquitectura es que cuentan con
un varios procesadores ejecutando la misma operacin sobre un conjunto de datos.
Por ejemplo, cuando una simple instruccin SIMD suma 64 nmeros, el hardware
SIMD enva 64 flujos de datos a 64 ALUs (Arithmetic Logic Unit / Unidad Lgico
Aritmtica) para formar 64 sumas en un slo ciclo de reloj. Incluso cuando el tamao
del vector es mayor al nmero de ALUs disponibles, la velocidad, comparada con una
computadora Secuencial, es inmensa.
10
UNIVERSIDAD PRIVADA TELESUP
SEGMENTACIN ENCAUZADA
Una forma de lograr el paralelismo sin tener componentes repetidos es utilizando una
metodologa llamada segmentacin encauzada (en ingls, pipeline).
En la segmentacin encauzada la computadora est dividida en varias etapas, de
manera que cada etapa efecta operaciones sobre instrucciones diferentes. La figura
1.3 muestra este concepto con cuatro etapas, las cuales estn ligadas con registros de
acoplo. La primera etapa trae la instruccin Ij; la segunda, decodifica la instruccin Ij-1;
la tercera, trae los operandos de la instruccin Ij-2; y por ltimo la cuarta, ejecuta la
instruccin Ij-3.
11
UNIVERSIDAD PRIVADA TELESUP
EL CONTROLADOR DE LA COMPUTADORA
Un elemento fundamental es el controlador de la
computadora, que como su nombre lo indica,
controla y sincroniza todas las operaciones de la
arquitectura interna y externa. Esto es, coordina
las actividades de la computadora y determina
qu operaciones se deben realizar y en qu orden.
Este controlador general, se denomina tambin
Dispositivo de Mquinas de Estados.
12
UNIVERSIDAD PRIVADA TELESUP
13
UNIVERSIDAD PRIVADA TELESUP
Mquinas TEMA 2
de
Estados
Competencia:
Reconocer las diversas mquinas de estados
y sus utilidades dentro del desarrollo de la
arquitectura de las computadoras.
14
UNIVERSIDAD PRIVADA TELESUP
MQUINAS DE ESTADOS
El modelo de mquina de estados contiene los elementos
necesarios para describir la conducta de un sistema en
trminos de entradas, salidas y del tiempo.
El siguiente diagrama presenta el modelo general de una
Mquina de Estados.
15
UNIVERSIDAD PRIVADA TELESUP
16
UNIVERSIDAD PRIVADA TELESUP
Representacin de decisiones
Las decisiones permiten seleccionar el camino que el algoritmo de la mquina de
estados debe tomar de acuerdo a la variable o variables de entrada evaluadas. Las
decisiones se representan mediante un rombo con el nombre de la variable a probar o
una funcin que evale varias variables.
Representacin de salidas
Salidas no condicionales. Sirven para indicar la activacin de una variable de salida.
Para representarlas, se escriben dentro del rectngulo de estado, los nombres de las
variables de salida que se activan en ese estado. Las salidas no condicionales no
dependen de las condiciones de entrada, slo dependen del estado actual. La figura
2.5 muestra la activacin de las salidas VAR1 y VAR2 en el estado EST1.
17
UNIVERSIDAD PRIVADA TELESUP
A continuacin se presentan algunos ejemplos para aclarar las ideas antes expuestas.
1. Disee un dispositivo que genere cierta secuencia binaria slo cuando la variable
INICIO sea igual a uno. Adems esta secuencia depender del valor de la entrada
X. Si X=0 la secuencia binaria que se genera es la siguiente: 11, 10, 01, por el
contrario, si X=1 la secuencia es: 01,10, 11. Considere que cada pareja binaria se
genera con un ciclo de reloj de diferencia.
Cuando se hace el diseo digital de un sistema es necesario hacer un diagrama de
bloques que clarifique cules son las seales de entrada, cules las seales de
salida, quin es el controlador y qu se est controlando.
Para este ejemplo, las seales de entrada son INICIO y X, y las seales de salida
son las que representan la secuencia que se quiere generar, nombrmoslas VAR1
y VAR0.
18
UNIVERSIDAD PRIVADA TELESUP
De la figura 2.8 se puede observar que para activar una seal de salida
incondicional, en un estado en particular, es necesario colocar su nombre dentro
del rectngulo del estado.
2. Convertir el siguiente cdigo en lenguaje C a una carta ASM. for (x = a; x b; x =
x + c) {var1 = 1; var2 = 0;} var1 = 0;
19
UNIVERSIDAD PRIVADA TELESUP
20
UNIVERSIDAD PRIVADA TELESUP
En este ejemplo el valor de la variable X puede ser modificado por la lgica externa
o por la mquina de estados. Por ello, para representar a X, utilizaremos un flip-
flop cuyo valor ser puesto a uno a cero dependiendo de las seales internas y
externas.
21
UNIVERSIDAD PRIVADA TELESUP
22
UNIVERSIDAD PRIVADA TELESUP
23
UNIVERSIDAD PRIVADA TELESUP
EST1 junto con VAR1, y cuando est como salida incondicional se activa un flanco
positivo despus que VAR1.
Figura 2.16. Diagrama de tiempos para las cartas ASM1 y ASM2, con x=0.
24
UNIVERSIDAD PRIVADA TELESUP
25
UNIVERSIDAD PRIVADA TELESUP
Construccin TEMA 3
de Mquinas
de Estados
Competencia:
Conocer el proceso adecuado de construccin
de mquinas de estados usando mtodos
tradicionales.
26
UNIVERSIDAD PRIVADA TELESUP
CIRCUITO SECUENCIAL
Un circuito secuencial est formado por una
etapa de lgica combinacional, y una de etapa de
memoria o flip-flops, que se utilizan para
representar los estados.
Unidad bsica de almacenamiento
La unidad bsica de almacenamiento es un
dispositivo que almacena un dato binario, 0 1,
dependiendo de los valores de entrada.
27
UNIVERSIDAD PRIVADA TELESUP
LATCH TIPO D
El latch tipo D slo tiene una entrada, adems de la entrada de habilitacin C,
la cual est asociada a un reloj. El comportamiento de este dispositivo se
muestra en la siguiente tabla y en el siguiente diagrama de tiempos.
28
UNIVERSIDAD PRIVADA TELESUP
29
UNIVERSIDAD PRIVADA TELESUP
Flip-flops
Los flip-flops son dispositivos biestables sncronos. En este caso, el trmino sncrono
significa que la salida vara de estado
nicamente en un instante especfico de una
entrada de disparo denominada reloj (clk). Es
decir, un flip-flop cambia de estado con el flanco
positivo (flanco de subida) o con el flanco
negativo (flanco de bajada) del impulso de reloj y
es sensible a sus entradas slo en esta transicin de reloj. Bsicamente, los latches
son similares a los flip-flops, sin embargo, la diferencia principal entre ambos tipos de
dispositivos est en el mtodo empleado para cambiar de estado.
El Flip-Flop Tipo D
Un flip-flop tipo D disparado por flanco negativo presenta el siguiente comportamiento.
Tabla 2.4. Tabla de verdad para el flip-flop D disparado por flanco negativo.
30
UNIVERSIDAD PRIVADA TELESUP
Del diagrama se puede observar que tener el reloj negado en el segundo latch
hace que la entrada D2 se mantenga fija con el valor de salida del latch 1, el cual
tendr guardado el valor de la entrada D en el momento de la transicin del reloj
hacia cero.
31
UNIVERSIDAD PRIVADA TELESUP
Ejemplo:
Para ilustrar este procedimiento se desarrollar un ejemplo: Disee un circuito
secuencial a partir de la siguiente carta ASM.
32
UNIVERSIDAD PRIVADA TELESUP
El mapa de Karnaugh para la entrada D1 se construye con los valores del estado
Q1+, mientras que el mapa para la entrada D0 se construye con los valores del
estado Q0+.De manera similar, se obtienen las expresiones lgicas para las
seales de salida.
33
UNIVERSIDAD PRIVADA TELESUP
34
UNIVERSIDAD PRIVADA TELESUP
Direccionamiento
por TEMA 4
Trayectoria
Competencia:
Analizar el direccionamiento por trayectoria
y las aplicaciones en el proceso de desarrollo
de la arquitectura de las computadoras.
35
UNIVERSIDAD PRIVADA TELESUP
Este tipo de direccionamiento guarda el estado siguiente y las salidas de cada estado
de la carta ASM en una localidad de memoria. La porcin de la memoria que indica el
estado siguiente es llamada la liga, mientras que la porcin que indica las salidas es
llamada la parte de las salidas.
36
UNIVERSIDAD PRIVADA TELESUP
37
UNIVERSIDAD PRIVADA TELESUP
38
UNIVERSIDAD PRIVADA TELESUP
Direccionamiento de Entrada-Estado
Este tipo de direccionamiento se restringe a
cartas ASM con una sola entrada por estado.
Una nueva porcin de la palabra de memoria
contiene una representacin binaria de la
entrada a probar en cada estado, esta parte es
llamada la parte de prueba. Con esta
representacin binaria un selector de entrada elige una de las variables de entrada. La
parte de liga tiene dos estados siguientes, escogindose uno por el selector de liga, en
base a la entrada seleccionada por la parte de prueba. La figura 3.3 muestra el
diagrama de bloques de este mtodo.
39
UNIVERSIDAD PRIVADA TELESUP
Figura 3.4. La liga falsa es el estado ESTK, mientras que la liga verdadera es el estado
ESTI.
La figura 3.5 muestra una carta ASM la cual se construir utilizando este mtodo.
40
UNIVERSIDAD PRIVADA TELESUP
41
UNIVERSIDAD PRIVADA TELESUP
42
UNIVERSIDAD PRIVADA TELESUP
Direccionamiento implcito
Este tipo de direccionamiento utiliza solamente un campo de
liga. Una variable de entrada seleccionada por el campo de
prueba, y VF, son las que deciden si se utiliza la direccin
de liga (se carga el valor de liga en el contador) o no (se
incrementa el contador en una unidad). La figura 3.8
muestra el esquema anterior.
43
UNIVERSIDAD PRIVADA TELESUP
44
UNIVERSIDAD PRIVADA TELESUP
Tabla 3.3. VF y Q se relacionan por medio de una XOR para generar la seal de
INCREMENTA y por medio de una XNOR para generar la seal de CARGA.
45
UNIVERSIDAD PRIVADA TELESUP
46
UNIVERSIDAD PRIVADA TELESUP
47
UNIVERSIDAD PRIVADA TELESUP
Lecturas Recomendadas
COMPONENTES DE UNA COMPUTADORA
http://www.informatica-hoy.com.ar/aprender-informatica/Componentes-de-una-
computadora.php
MQUINAS DE ESTADO
http://200.69.103.48/comunidad/profesores/jruiz/jairocd/texto/cirdig/maquinasdee
sf.pdf
Actividades y Ejercicios
48
UNIVERSIDAD PRIVADA TELESUP
Autoevaluacin
1) Un circuito secuencial est formado por una etapa lgica y una etapa de
memoria llamada:
a. FLIP FLOP.
b. CACHE.
c. RAM.
d. ROM.
e. PSP.
2) Una computadora secuencial se caracteriza por que tiene una sola unidad}
central de proceso que ejecuta:
a. Dos instrucciones a la vez.
b. Una instruccin a la vez.
c. Mltiples instrucciones a la vez.
d. Flujos simultneos a la vez.
e. Tres instrucciones a la vez.
49
UNIVERSIDAD PRIVADA TELESUP
50
UNIVERSIDAD PRIVADA TELESUP
Resumen
UNIDAD DE APRENDIZAJE I:
Una computadora digital es una mquina electrnica capaz de realizar clculos con
gran rapidez, obedeciendo instrucciones muy especficas y elementales que reflejan
su estructura funcional y organizacional. Dentro de esta clasificacin encontramos a
las computadoras secuenciales y paralelas. Todas las computadoras tienen un
controlador que controla y sincroniza todas las operaciones de la arquitectura interna y
externa de una computadora.
Un circuito secuencial est formado por una etapa de lgica combinacional, y una de
etapa de memoria o flip-flops, que se utilizan para representar los estados. Los flip-
flops son dispositivos biestables sncronos. En este caso, el trmino sncrono significa
que la salida vara de estado nicamente en un instante especfico de una entrada de
disparo denominada reloj.
51
UNIVERSIDAD PRIVADA TELESUP
52
UNIVERSIDAD PRIVADA TELESUP
Introduccin
a) Presentacin y contextualizacin
Las mquinas de estados finitos suelen denominarse mquinas secuenciales ya
que a partir de un estado inicial y de una secuencia ordenada de eventos de
entrada, generan una secuencia de estados por los que pasa la mquina, y a su
vez una secuencia de acciones de salida. En la siguiente unidad se tratara sobre
la construccin de mquinas.
b) Competencia
Conoce el proceso de construccin de mquinas de estados usando un
secuenciador.
c) Capacidades
d) Actitudes
53
UNIVERSIDAD PRIVADA TELESUP
Secuenciadores TEMA 1
Bsicos
Competencia:
Identificar las mquinas de estados
secuenciales construidos por un secuenciador
bsico.
54
UNIVERSIDAD PRIVADA TELESUP
Desarrollo de los Temas
Tema 01: Secuenciadores Bsicos
Los dispositivos que son capaces de efectuar este tipo de operaciones son llamados
secuenciadores. La figura 4.1 muestra el diagrama de bloques de un secuenciador
bsico. Como puede observar en el diagrama, la direccin del estado siguiente, dada
por el bus Y, puede venir de dos lugares posibles: 1) del registro PC, 2) de la
entrada D.
55
UNIVERSIDAD PRIVADA TELESUP
El secuenciador cuenta con una lgica interna que se encarga de generar las seales
que controlan al multiplexor. Dependiendo de la instruccin dada por las lneas I1 e I0
y de la lnea CC, la lgica es capaz de seleccionar entre la salida del registro PC o la
entrada D. Dicha salida direcciona una memoria que contiene el estado siguiente del
algoritmo de la mquina de estados. La lgica interna tambin genera las lneas PL,
MAP y VECT, las cuales seleccionan unos registros cuyas salidas estn conectadas a
la entrada D del secuenciador. De esta forma la direccin de salto puede venir de tres
lugares distintos. Esta caracterstica se utilizar cuando se disee la unidad central de
procesos (UCP), como se ver ms adelante. La figura 4.2 muestra las seales de
entrada y salida del secuenciador.
56
UNIVERSIDAD PRIVADA TELESUP
57
UNIVERSIDAD PRIVADA TELESUP
58
UNIVERSIDAD PRIVADA TELESUP
SECUENCIADORES Y MEMORIAS
La figura 4.7 muestra el diagrama de bloques de un secuenciador conectado a una
memoria.
59
UNIVERSIDAD PRIVADA TELESUP
60
UNIVERSIDAD PRIVADA TELESUP
En el estado EST2 la direccin del estado siguiente est determinada por el contenido
del registro de transformacin, seleccionado cuando el secuenciador ejecuta la
instruccin ST. En el estado EST4, la direccin del estado siguiente la proporciona el
registro de interrupciones o el registro PC dependiendo del valor de la entrada INT.
La asignacin binaria de las variables de entrada para la carta ASM es la siguiente:
Qx = 00
X = 01
Y = 10
INT = 11
Con Qx igual a 0 lgico, es decir, Qx presenta un nivel lgico bajo. La tabla 4.3
muestra el contenido de la memoria para la carta ASM de la figura 4.8
.
61
UNIVERSIDAD PRIVADA TELESUP
Componentes
TEMA 2
Bsicos
de un
Procesador
Competencia:
Describir los componentes bsicos y
funcionalidades de un procesador.
62
UNIVERSIDAD PRIVADA TELESUP
63
UNIVERSIDAD PRIVADA TELESUP
64
UNIVERSIDAD PRIVADA TELESUP
65
UNIVERSIDAD PRIVADA TELESUP
66
UNIVERSIDAD PRIVADA TELESUP
Las tablas 5.1A, 5.1B y 5.1C muestran la relacin existente entre las lneas de control
de la UPA (UPA9:UPA0) y las operaciones que sta puede ejecutar. En particular, la
tabla 5.1A presenta la seleccin de las fuentes de la ALU, la tabla 5.1B las
operaciones que ejecuta la ALU, y la tabla 5.1C los destinos y desplazamientos del
resultado obtenido por la ALU.
67
UNIVERSIDAD PRIVADA TELESUP
Por ejemplo, para realizar la operacin lgica OR entre las entradas A y B, y colocar el
resultado en el registro Yupa, se necesitan activar las siguientes lneas.
1. Las fuentes A y B se seleccionan con UPA3 UPA2 UPA1 UPA0 = 0001
2. La funcin OR se selecciona con las lneas UPA6 UPA5 UPA4 = 011
3. El destino Yupa se selecciona con las lneas UPA9 UPA8 UPA7 = 000
68
UNIVERSIDAD PRIVADA TELESUP
La UPA tambin tiene unas lneas de salida que reflejan el resultado de la ltima
operacin hecha por la ALU. La lnea Z indica si el resultado fue cero; SIGNO indica el
valor del bit ms significativo; y OVR indica si hubo sobreflujo. Tambin se cuenta con
dos lneas de acarreo: uno de entrada y otro de salida
69
UNIVERSIDAD PRIVADA TELESUP
Registros TEMA 3
Internos
Competencia:
Reconocer las funciones y operaciones de la
unidad de registros internos.
70
UNIVERSIDAD PRIVADA TELESUP
REGISTROS INTERNOS:
La computadora que disearemos requiere una serie de registros
de 8 y 16 bits que tanto el usuario como el CPU pueden utilizar. Los
registros de 8 bits, denominados acumuladores, sirven nicamente
como dispositivos de almacenamiento. Los registros de 16 bits,
denominados registros contadores, tienen mayor funcionalidad,
pues adems de servir como dispositivos de almacenamiento,
permiten incrementar o decrementar el dato guardado.
REGISTROS ACUMULADORES
Los registros acumuladores de 8 bits estn conectados directamente a las entradas de
la UPA, de esta manera se pueden efectuar operaciones lgico aritmticas en forma
directa. La figura 5.4 muestra el diagrama de bloques del acumulador. Como puede
observar, el acumulador est formado por un registro latch y por tres transeivers.
Los transeivers tienen la funcin de aislar o conectar el latch a los diferentes buses de
datos del acumulador (A, B y C).
71
UNIVERSIDAD PRIVADA TELESUP
72
UNIVERSIDAD PRIVADA TELESUP
ALGORITMO DE LA MULTIPLICACIN
La siguiente figura muestra una configuracin de la UPA con los registros
acumuladores para efectuar la multiplicacin de dos nmeros. Tenga en cuenta que el
algoritmo de multiplicacin debe estar implementado en la mquina de estados.
73
UNIVERSIDAD PRIVADA TELESUP
74
UNIVERSIDAD PRIVADA TELESUP
Fi
75
UNIVERSIDAD PRIVADA TELESUP
La tabla 5.4 muestra la relacin entre las lneas de control C2, C1 y C0, y las
operaciones que realiza el contador.
76
UNIVERSIDAD PRIVADA TELESUP
Como puede observar, la UCP cuenta con dos registros contadores de 16 bits
del mismo tipo que los explicados en el inciso anterior.
77
UNIVERSIDAD PRIVADA TELESUP
78
UNIVERSIDAD PRIVADA TELESUP
En el registro de banderas del 68HC11 se tienen dos bits que activan o desactivan las
interrupciones que provienen de los dispositivos conectados a las lneas IRQ y XIRQ .
Las desactivaciones se pueden hacer por medio de instrucciones de software, de
manera que el usuario tiene el control directo sobre estas lneas. Por otra parte, la
interrupcin XIRQ tiene prioridad sobre la interrupcin IRQ, as que si ocurrieran al
mismo tiempo, la primera que se atendera sera XIRQ y despus IRQ.
En la figura 5.13 se muestra el diagrama de bloques de la unidad de control de
interrupciones. Las lneas X Reg. de Estados e I Reg. de Estados estn conectadas
directamente a los bits que habilitan las interrupciones, con un cero se habilitan y con
un uno se deshabilitan. Las lneas SET_XIRQ y SET_IRQ deshabilitan las
interrupciones cuando hay un reset. Las lneas HINT y DINT sirven para deshabilitar y
habilitar la generacin de la lnea que indica la presencia de una interrupcin (INT). Y
los registros de direcciones I y X contienen las direcciones a donde tiene que saltar el
secuenciador en caso de que ocurriera una interrupcin.
79
UNIVERSIDAD PRIVADA TELESUP
Diseo
de un TEMA 4
Microprocesador
de
8 Bits
Competencia:
Disear adecuadamente microprocesadores
de 8 bits utilizando un lenguaje
ensamblador.
80
UNIVERSIDAD PRIVADA TELESUP
81
UNIVERSIDAD PRIVADA TELESUP
La tarea de control ser ejecutada por la UCC, quien activar las lneas de control de
los distintos componentes de la arquitectura, de acuerdo a los algoritmos de mquinas
de estados implantados.
Recuerde que la activacin de las lneas de control de la arquitectura se representan
como salidas en un estado de una carta ASM.
A continuacin se muestra la arquitectura del 68HC11 con los componentes
desarrollados en la unidad anterior. Tambin se describe la funcin de las lneas de
salida de la memoria de microprograma, lneas que controlan el funcionamiento de la
arquitectura.
82
UNIVERSIDAD PRIVADA TELESUP
83
UNIVERSIDAD PRIVADA TELESUP
Acceso extendido
Las instrucciones que utilizan el acceso extendido tienen el siguiente formato: el
primer byte corresponde al cdigo de operacin de la instruccin, y los dos
bytes siguientes a una direccin de 16 bits que contiene el valor del
operando. Un ejemplo es la instruccin ADDA Direccin_16_Bits. Esta
instruccin suma al acumulador A el dato contenido en la localidad de
memoria dada por Direccin_16_Bits.
84
UNIVERSIDAD PRIVADA TELESUP
Acceso directo
Las instrucciones que utilizan el acceso directo tienen el siguiente formato: el primer
byte corresponde al cdigo de operacin de la instruccin, y el segundo byte a una
direccin de 8 bits que contiene el valor del operando. Un ejemplo es la instruccin
ADDA Direccin_8_Bits. Esta instruccin suma al acumulador A el dato contenido en
la localidad de memoria dada por Direccin_8_Bits.
85
UNIVERSIDAD PRIVADA TELESUP
Acceso indexado
Las instrucciones que utilizan el acceso indexado tienen el siguiente formato: el primer
byte corresponde al cdigo de operacin de la instruccin, y el segundo byte a un
desplazamiento de 8 bits sin signo, que se emplea para calcular la direccin del
operando. La direccin del operando se calcula sumando el valor del desplazamiento
ms el contenido del registro X, el contenido del registro Y. Un ejemplo es la
instruccin ADDA Desplazamiento, X. Esta instruccin suma al acumulador A el dato
contenido en la direccin (Registro X) + Desplazamiento.
Acceso relativo
Las instrucciones que utilizan el acceso relativo tienen el siguiente formato: el primer
byte corresponde al cdigo de operacin de la instruccin, y el segundo byte a un
desplazamiento de 8 bits con signo, que se emplea para calcular la direccin de la
siguiente instruccin a ejecutar. Este tipo de acceso solo se utiliza en las instrucciones
de salto. La direccin de salto se obtiene sumando el contenido del registro PC ms el
desplazamiento.
86
UNIVERSIDAD PRIVADA TELESUP
Lecturas Recomendadas
CARACTERSTICAS BSICAS DE UN PROCESADOR
http://www.sisman.utm.edu.ec/libros/FACULTAD%20DE%20CIENCIAS%20ZOOT
%C3%89CNICAS/CARRERA%20DE%20INGENIER%C3%8DA%20EN%20INFORMA
TICA%20AGROPECUARIA/05/MICROPROCESADORES%20II/Procesador%20_H3_
.pdf
DISEO DE MICROPROCESADORES
http://profesores.fi-b.unam.mx/luist/archivos/MicroprocesadoresSavage.pdf
Actividades y Ejercicios
87
UNIVERSIDAD PRIVADA TELESUP
Autoevaluacin
1) Los dispositivos que son capaces de efectuar cartas ASM con llamadas a
subrutinas, son llamados:
a. Secuenciadores.
b. Estabilizadores.
c. Codificadores.
d. Calificadores.
e. Interacciones.
2) El secuenciador cuenta con una lgica interna que se encarga de generar las
seales que controlan al:
a. Microprocesador.
b. Multiplexor.
c. Secuenciador.
d. Procesador.
e. Disco duro.
88
UNIVERSIDAD PRIVADA TELESUP
89
UNIVERSIDAD PRIVADA TELESUP
Resumen
UNIDAD DE APRENDIZAJE II:
Los registros internos de una computadora pueden ser de 8 y 16 bits. Los registros de
8 bits, denominados acumuladores, sirven nicamente como dispositivos de
almacenamiento. Los registros de 16 bits, denominados registros contadores, tienen
mayor funcionalidad, pues adems de servir como dispositivos de almacenamiento,
permiten incrementar o decrementar el dato guardado.
90
UNIVERSIDAD PRIVADA TELESUP
91
UNIVERSIDAD PRIVADA TELESUP
Introduccin
a) Presentacin y contextualizacin
b) Competencia
Reconoce las diferentes tcnicas de microprogramacin en procesadores y el
proceso adecuado de operacin para el logro de los diseos planeados.
c) Capacidades
d) Actitudes
92
UNIVERSIDAD PRIVADA TELESUP
Elementos
TEMA 1
de
Microprogramacin
Competencia:
Reconocer los elementos de
microprogramacin y su adecuada
representacin grfica.
93
UNIVERSIDAD PRIVADA TELESUP
Desarrollo de los Temas
Tema 01: Elementos de Microprogramacin
94
UNIVERSIDAD PRIVADA TELESUP
95
UNIVERSIDAD PRIVADA TELESUP
De acuerdo con lo anterior, toda pregunta en el flujograma del algoritmo que debe ser
ejecutado se asocia con una seal de estado o una seal externa de entrada al
sistema digital.
Existen diversas organizaciones para implementar una unidad de control. En el artculo
presente se disea una pequea unidad de control microprogramada utilizando
memoria EPROM que pueda servir como proyecto de curso a estudiantes de
Electrnica Digital para enfatizar sus conocimientos sobre el tema de
microprogramacin.
MICROOPERACIN
Se denomina microoperacin a toda operacin elemental
que puede ser ejecutada durante un perodo de los
pulsos de reloj. As por ejemplo, en el procesador de
datos que se muestra en la figura 2 se pueden ejecutar
dos microoperaciones.
1. A A + B : Suma el contenido del registro A con el
del registro B y el resultado
lo deja almacenado en A
2. A 0 : Borrar el contenido del registro A
96
UNIVERSIDAD PRIVADA TELESUP
97
UNIVERSIDAD PRIVADA TELESUP
98
UNIVERSIDAD PRIVADA TELESUP
99
UNIVERSIDAD PRIVADA TELESUP
FLUJOGRAMA
El primer paso en el proceso de diseo ser construir el flujograma del sistema digital
como se muestra en la figura 5.
100
UNIVERSIDAD PRIVADA TELESUP
PROCESADOR DE DATOS
De acuerdo con la explicacin anterior, el procesador de
datos quedar como se muestra en la figura 6.
Al procesador de datos entran las siguientes seales de la
salida de la EPROM de control: Cargar, Limpiar, Despl, Incr,
Decr y Compl. Cargar: Coloca al registro A en el modo de
carga en paralelo (S1S0 = 11) para que almacene el dato en su entrada con el pulso
de reloj. Tambin almacena el dato que hay a la entrada del contador B, el nmero 8,
al aplicar un 0 a su entrada de LOAD.
Incr: Cuando Incr=1, se aplica un pulso de reloj a la entrada Up del contador C
incrementndolo.
Decr: Cuando Decr=1, se aplica un pulso de reloj a la entrada Down del contador B
decrementndolo.
Despl: Cuando Despl =1 (Carga=0), se coloca al registro A en el modo de
desplazamiento a la derecha (S1S0=01) para que haya un
desplazamiento una posicin hacia la derecha con la ocurrencia
de un pulso de reloj.
Compl: Cuando Compl=1, coloca las entradas JK del flip-flop de
error en 1 complementndolo. Limpiar: Cuando Limpiar=1 y
ocurra un pulso de reloj se aplica un 1 a la entrada de CLR del contador C y un 0 a la
entrada de CLR del flip-flop de error borrando a ambos.
101
UNIVERSIDAD PRIVADA TELESUP
102
UNIVERSIDAD PRIVADA TELESUP
El inversor a la entrada del reloj del flip-flop de error tiene como objetivo que
ste se complemente con el flanco positivo de los pulsos de reloj del sistema,
quedando con una diferencia de fase de 180 con respecto a estos ltimos.
MICROPROGRAMA
Del flujograma que se muestra en la figura 5, se puede
escribir fcilmente el microprograma simblico que se
muestra a continuacin:
Direccin Microinstruccin Comentarios
0 : Si Com=0 ir a 0; Espera que se presione la tecla
1 : Error0, C0, ASw, B8 ; Se inicializa el
sistema
2 : Si A0=1 ir a 4; Si A0=0 se incrementa C
3 : CC+1, ErrorError; Se encontr un 0 en A0
4 : BB-1, si Bz=1 ir a 0; Si contenido de B=0 se termina
5 : DesplazarDerA, A70,ir a 2 Se va a probar siguiente bit de A
Como se puede observar, ste es un microprograma sencillo que requiere solamente
de una memoria de 6 localizaciones para almacenarlo. Este dispositivo tan pequeo
no existe comercialmente, se utilizarn EPROM 27C64 por su disponibilidad.
103
UNIVERSIDAD PRIVADA TELESUP
104
UNIVERSIDAD PRIVADA TELESUP
Para grabar los dispositivos de memoria EPROM con el programador universal Xeltek
del laboratorio de la universidad Santiago de Cali, en la tabla 1 se muestra el
microprograma binario encontrado fcilmente a partir del microprograma simblico y
de las conexiones efectuadas en el circuito del control que se muestra en la figura 7.
105
UNIVERSIDAD PRIVADA TELESUP
Si no aparece ningn error en la pantalla del computador, haga click en Select para
seleccionar la memoria 27C64. Inserte su dispositivo en la base disponible en el
programador y haga click en Edit para introducir los datos que deben ser grabados en
cada direccin de memoria. Las direcciones de memoria en la EPROM 27C64 van de
0000hex a 1FFFhex. Una vez introducidos los datos, la ventana de Buffer Edit
aparecer como se muestra en la tabla 2 para el caso de la EPROM1.
Una vez terminado de introducir los datos, haga click en Prog para que su memoria
quede grabada con los datos introducidos. Igualmente se graba la EPROM2 sabiendo
que los datos a introducir, a partir del microprograma binario, son 00,
20,40,40,00,20hex a partir de la direccin 0000. Tecla Com y Display Los circuitos de
la Tecla Com y del display se muestran en la figura 8.
106
UNIVERSIDAD PRIVADA TELESUP
Para obtener los pulsos de reloj del sistema se utiliza el circuito integrado LM555.
Este circuito opera como un Timer, el cual, con los valores de resistencias y
capacitores utilizados genera una seal de pulsos en su salida de frecuencia 1 KHz.
Este circuito se muestra en la figura 9. En la misma se ha utilizado una configuracin
para que el circuito se comporte como oscilador con un ciclo til (duty cycle) de
aproximadamente un 50%.
107
UNIVERSIDAD PRIVADA TELESUP
108
UNIVERSIDAD PRIVADA TELESUP
Arquitectura TEMA 2
Segmentada
del 68hc11
Competencia:
Describir los procesos aplicados en la
arquitectura durante la segmentada del
68HC11.
109
UNIVERSIDAD PRIVADA TELESUP
La arquitectura segmentada del 68HC11 tambin ejecutar estos mismos pasos, pero
agrupados en las siguientes cuatro etapas:
1. Etapa IF (traer la instruccin / instruction fetch). La instruccin a ejecutar es leda
de la memoria de instrucciones
2. Etapa ID (decodificacin / instruction decode). Se decodifica la instruccin y se
traen los operandos necesarios por la instruccin (tanto de memoria como de
registros internos)
3. Etapa EX (ejecucin / execution). Se procesan los operandos en la UPA (unidad
de procesos aritmticos)
4. Etapa WB (post-escritura / write back). Se guardan resultados
110
UNIVERSIDAD PRIVADA TELESUP
111
UNIVERSIDAD PRIVADA TELESUP
Figura 7.4. Formato general para las instrucciones del 68HC11 segmentado.
El campo ID, bits 31 al 24, sirven para especificar sobre qu registro ndice se va a
operar, es decir, se trata del registro ndice IX del
registro IY. El campo CDIGO, bits 23 al 16, guardan el
cdigo de operacin de la instruccin, tal y como lo establece
el conjunto de instrucciones del 68HC11. Y los bits 15 al 0
pueden almacenar el valor de un dato inmediato, una direccin,
un desplazamiento, nada, segn el modo de direccionamiento que se trate.
Tabla 7.1. Contenido para los 16 bits menos significativos del formato de instrucciones.
112
UNIVERSIDAD PRIVADA TELESUP
El campo cdigo, 0x86, nos indica que la instruccin a ejecutar es ldaa con modo de
direccionamiento inmediato. El dato inmediato, 0x1234, se encuentra guardado en los
16 bits menos significativos del formato de la instruccin.
El campo cdigo, 0x08, junto con el campo ID, 0x18, nos indican que la instruccin a
ejecutar es iny. Como iny utiliza el modo de direccionamiento inherente, el resto de los
campos no son relevantes.
El campo cdigo, 0xF7, nos indica que la instruccin a ejecutar es stab con modo de
direccionamiento extendido. La direccin extendida, 0x5048, se encuentra guardada
en los 16 bits menos significativos del formato de la instruccin.
La siguiente figura muestra los formatos de instruccin genricos para los modos de
direccionamiento directo y extendido.
113
UNIVERSIDAD PRIVADA TELESUP
114
UNIVERSIDAD PRIVADA TELESUP
Decodificacin TEMA 3
de la
Instruccin
Competencia:
Reconocer los procesos de decodificacin de
la instruccin y la lectura de operandos.
115
UNIVERSIDAD PRIVADA TELESUP
116
UNIVERSIDAD PRIVADA TELESUP
117
UNIVERSIDAD PRIVADA TELESUP
118
UNIVERSIDAD PRIVADA TELESUP
119
UNIVERSIDAD PRIVADA TELESUP
120
UNIVERSIDAD PRIVADA TELESUP
121
UNIVERSIDAD PRIVADA TELESUP
Para obtener el contenido de algunos de los registros basta con indicar al mdulo de
registros internos qu registros se desean leer.
Para obtener el operando de la memoria de datos es necesario contar con la direccin
efectiva donde se encuentra ese dato. Y si el operando est contenido en el formato
de la instruccin, como es el caso del direccionamiento inmediato, la lnea de control
SelDato, de uno de los multiplexores, permitir su seleccin.
122
UNIVERSIDAD PRIVADA TELESUP
Con esta restriccin, el ciclo de reloj ser tan corto como lo sea la operacin ms
larga de las anteriormente mencionadas.
Si un dato ser necesario en un ciclo de reloj sucesivo,
deber ser almacenado en un elemento de estado, ya
sea principal (PC, archivo de registros o memoria) o
temporal (A, B, MDR, ALUOut o IR, el ltimo es el nico
con seal de habilitacin de escritura). Tambin se
considera una metodologa disparada por flancos, de
manera que las lecturas de los elementos de estado se
pueden hacer en cualquier instante, pero las escrituras solo se harn en el flanco
seleccionado.
123
UNIVERSIDAD PRIVADA TELESUP
124
UNIVERSIDAD PRIVADA TELESUP
Acceso a memoria:
ALUOut = A + extensin-signo( IR[15-0] )
Operacin: La ALU calcular una direccin para un
acceso a memoria. Para que los operandos sean
correctos se requiere que ALUSrcA sea ajustado a
1 (el primer operando est en el registro A) y que
ALUSrcB sea 10 (el segundo operando se forma
con los 16 bits bajos de IR extendidos en signo). Tambin ALUOp = 00 para que se
realice una suma.
125
UNIVERSIDAD PRIVADA TELESUP
126
UNIVERSIDAD PRIVADA TELESUP
Acceso a memoria:
MDR = Memory[ ALUOut ]; O Memory[ ALUOut ] = B;
Operacin: El acceso se har en la direccin calculada en el paso anterior (est en
ALUOut) por lo que la seal IorD debe ajustarse a
1. para definir la direccin de acceso de
manera correcta. Si se trata de una carga,
debe acertarse la seal MemRead y el
dato a cargar se almacenar en el registro
MDR. Para los almacenamientos, debe
acertarse la seal MemWrite, el dato a
escribir est en el registro B, se obtuvo en
el paso.
127
UNIVERSIDAD PRIVADA TELESUP
TEMA 4
Microprogramas
Competencia:
Implementar los microprogramas o
microinstrucciones en microprocesadores
cumpliendo con todos los procesos
recomendados.
128
UNIVERSIDAD PRIVADA TELESUP
Las acciones que se realizan en cada uno de los cinco pasos se resumen en la
siguiente tabla.
Definiendo el control
Una vez que se han determinado los pasos que requiere cada
instruccin y se han definido las acciones a realizar en cada
paso, es posible definir la implementacin del control. En la
implementacin de un slo ciclo, por medio de una tabla de
verdad se determin la habilitacin de las seales para cada clase de instruccin.
129
UNIVERSIDAD PRIVADA TELESUP
130
UNIVERSIDAD PRIVADA TELESUP
131
UNIVERSIDAD PRIVADA TELESUP
132
UNIVERSIDAD PRIVADA TELESUP
133
UNIVERSIDAD PRIVADA TELESUP
134
UNIVERSIDAD PRIVADA TELESUP
135
UNIVERSIDAD PRIVADA TELESUP
136
UNIVERSIDAD PRIVADA TELESUP
137
UNIVERSIDAD PRIVADA TELESUP
Para los brincos (BEQ), puesto que ya se calcul la direccin destino, para
culminar con un brinco solo queda pendiente una microinstruccin, la cual es:
Con esta microinstruccin la ALU resta los operandos A y B para generar la bandera
Zero. En el PC se escribir el contenido de ALUOut si la bandera Zero fue generada,
y contina con la microinstruccin etiquetada como Fetch.
138
UNIVERSIDAD PRIVADA TELESUP
139
UNIVERSIDAD PRIVADA TELESUP
Lecturas Recomendadas
GUAS NICAS DE LABORATORIO
http://www.usc.edu.co/laboratorios/files/ELEMENTOS%20DE%20MICROPROGRA
MACION.pdf
MICROPROGRAMACIN
http://www.herrera.unt.edu.ar/arqcom/diapositivas/tema09.2013.pdf
APUNTE DE MICROPROGRAMACIN
http://www2.dc.uba.ar/materias/oc1/2005/documentos/files/apuntes/micropr.pdf
Actividades y Ejercicios
140
UNIVERSIDAD PRIVADA TELESUP
Autoevaluacin
1) Un microprograma consiste en:
a. Un conjunto de microinstrucciones.
b. Un contenido de localizacin.
c. Un conjunto de controles.
d. Un conjunto de propiedades.
e. Un conjunto de partculas.
141
UNIVERSIDAD PRIVADA TELESUP
10) Es una representacin simblica del control que ser trasladado por un
programa a la lgica de control:
a. La microinstruccin.
b. El microcontrolador.
c. El microprograma.
d. El microestabilizador.
e. El microoperador.
142
UNIVERSIDAD PRIVADA TELESUP
Resumen
UNIDAD DE APRENDIZAJE III:
La unidad de control microprogramada en la cual las seales de control que inician las
distintas microoperaciones estn almacenadas en forma permanente en una memoria
ROM. El contenido de cada localizacin de la memoria de control se denomina
microinstruccin y un conjunto de microinstrucciones constituye el microprograma. La
microoperacin es toda operacin elemental que puede ser ejecutada durante un
perodo de los pulsos de reloj.
Durante esta etapa, la instruccin leda en la etapa anterior es decodificada. Una vez
que se conoce la instruccin a ejecutar, el mdulo de control genera las seales de
control que gobernarn el hardware de esta etapa y de etapas posteriores. Por
ejemplo, las seales de control que se emplean en la segunda etapa se encargan de
informarle a los distintos componentes de esta etapa qu operaciones realizar.
Una vez que se han determinado los pasos que requiere cada instruccin y se han
definido las acciones a realizar, es posible definir la implementacin del control. El
control debe determinar el valor de las seales en cada paso y el siguiente paso en la
secuencia. Las tcnicas que representan el control pueden implementarse por medio
de una herramienta CAD, para sntesis en compuertas, ROMs, o PLAs.
143
UNIVERSIDAD PRIVADA TELESUP
144
UNIVERSIDAD PRIVADA TELESUP
Introduccin
a) Presentacin y contextualizacin
b) Competencia
Desarrolla las adecuadas programaciones tomando en cuenta posibles
riesgos por dependencia de datos usando el software pertinente.
c) Capacidades
d) Actitudes
Posee habilidad para el adecuado control de los riesgos en las
programaciones.
Muestra persistencia ante los posibles riesgos de dependencia de datos.
145
UNIVERSIDAD PRIVADA TELESUP
Control TEMA 1
de
Riesgos
I
Competencia:
Explicar el modo adecuado del control de
riesgos por dependencias de datos usando
software.
146
UNIVERSIDAD PRIVADA TELESUP
Desarrollo de los Temas
Tema 01: Control de Riesgos I
Existen varios esquemas que nos permiten resolver los
riesgos por dependencias de datos. Algunos de ellos son
implantados en software y otros en hardware, sin embargo,
para nosotros, los esquemas en hardware sern los que tengan
mayor importancia.
147
UNIVERSIDAD PRIVADA TELESUP
148
UNIVERSIDAD PRIVADA TELESUP
Esto quiere decir, que la instruccin oraa tambin est intentando leer un registro
(durante el ciclo de reloj CC4) que an no ha sido
actualizado por una instruccin anterior, ya que la seal
de control encargada de actualizar dicho registro,
SelRegW, an se encuentra almacenada en el registro
de segmentacin ID/EX.
Finalmente, el tercer riesgo se presenta entre las
instrucciones oraa y staa, y tambin corresponde a la condicin ID/EX.SelRegW :=
Etapa2.SelRegR; es decir, la instruccin staa est tratando de leer un registro (en el
ciclo de reloj CC5) que an no ha sido actualizado por la instruccin oraa.
149
UNIVERSIDAD PRIVADA TELESUP
Para detener las instrucciones en el cauce se necesita conseguir el mismo efecto que
produce la ejecucin de la instruccin nop; para ello, se agrega una unidad de
detenciones, la cual detecta los riesgos y genera, durante la etapa 2, las seales de
control propias de la instruccin nop; en trminos de diseadores de hardware, se dice
que se inserta una burbuja. Sin embargo, si una instruccin en la etapa 2 es detenida,
entonces la instruccin de la etapa 1 tambin debe ser detenida; de lo contrario, se
pierde la instruccin buscada en la etapa 1.
150
UNIVERSIDAD PRIVADA TELESUP
151
UNIVERSIDAD PRIVADA TELESUP
152
UNIVERSIDAD PRIVADA TELESUP
Una vez detectado el riesgo, el siguiente paso es eliminarlo utilizando la tcnica de las
detenciones. Esta tcnica consiste en detener la instruccin que intenta leer un dato de
memoria, y permitir que la instruccin que intenta escribir en ella termine de ejecutar su
tarea; para ello, se debe generar una burbuja en la etapa 2 tal y como se realiza para los
riesgos por dependencias de datos, y se deben deshabilitar las escrituras en los registros
PC e IF/ID para no perder la instruccin que se trataba de ejecutar al momento de
detectar el riesgo. Si observa cuidadosamente la figura 7.54 notar que la generacin de
la burbuja en la etapa 2 ya fue implantada cuando se resolvieron los riesgos por
dependencias de datos; por lo tanto, lo nico que hace falta, es permitir que la instruccin
que va a escribir en memoria termine de ejecutar su trabajo. Para esto, ha sido agregada
una seal de control cuyo nombre es SelD, y es generada por la unidad de detenciones
tras detectar un riesgo por accesos mltiples a memoria. La seal SelD presenta el
siguiente comportamiento: si SelD=0, entonces se selecciona la seal SelDirCtrl, que es
la seal SelDir que genera el mdulo de control para la etapa 2; y si SelD=1, entonces se
selecciona la seal SelDir proveniente del registro de segmetacion EX/WB, dando
prioridad a la escritura en memoria.
153
UNIVERSIDAD PRIVADA TELESUP
154
UNIVERSIDAD PRIVADA TELESUP
Control TEMA 2
de
Riesgos
II
Competencia:
Determinar el control de riesgos por
dependencias de datos por medio de
detenciones.
155
UNIVERSIDAD PRIVADA TELESUP
156
UNIVERSIDAD PRIVADA TELESUP
En este momento, la lgica interna del mdulo de registros detecta que se intenta leer
y escribir el registro ACCB, por lo tanto, el dato que se va a escribir es adelantado del
registro de segmentacin EX/WB hacia alguna de las salidas del mdulo de registros.
De esta manera, uno de los operandos empleados por la instruccin aba, el contenido
del registro ACCB, ya tiene el valor correcto, pero el operando correspondiente al
contenido del registro ACCA an no lo tiene.
157
UNIVERSIDAD PRIVADA TELESUP
DETENCIONES
158
UNIVERSIDAD PRIVADA TELESUP
El mtodo que se utiliza para descartar las instrucciones (limpiar el cauce) es muy
parecido al mtodo de generacin de burbujas. Estas burbujas son insertadas en las
ltimas etapas de la segmentacin, es decir, los contenidos de los registros de
segmentacin ID/EX y EX/WB son reemplazados con nuevas seales de control,
obteniendo el mismo efecto de la instruccin nop. Nuevamente la unidad encargada de
detectar los saltos y descartar las instrucciones cuando se realiza el salto es la unidad
de detenciones. Tres nuevas seales de control son agregadas a esta unidad: Branch,
que indica cundo realizar el salto; isBranch, que indica si la instruccin que se est
ejecutando en la etapa 4 corresponde a una instruccin de salto; y EXFlush, que
coloca a ceros el contenido del registro de segmentacin EX/WB. Adicionalmente, la
unidad de detenciones incorpora las seales de control necesarias para detectar y
eliminar los riesgos debidos a accesos El funcionamiento de la nueva unidad de
detenciones se resume en la tabla 7.20;mltiples a memoria.
Tabla 7.20. Condiciones para detectar los riesgos por accesos mltiples.
159
UNIVERSIDAD PRIVADA TELESUP
Max TEMA 3
+
Plus II
Competencia:
Conocer el entorno funcional de MAX +
PLUS II.
160
UNIVERSIDAD PRIVADA TELESUP
INTERRUPCIONES
Como se ha visto, el control es el aspecto ms complicado
en el diseo de un procesador, pero la parte ms ardua
del control es la implantacin de las interrupciones. Una
interrupcin es un evento que proviene del exterior del
procesador y provoca un cambio inesperado en el flujo de
control del programa. Las interrupciones las utilizan los
dispositivos de entrada/salida para comunicarse con el procesador, y de manera
similar a los saltos, cambian el flujo normal de ejecucin de las instrucciones.
Inicialmente, las interrupciones se crearon para manejar los eventos inesperados
como las peticiones de servicio provenientes de los dispositivos de entrada/salida.
Actualmente, este mecanismo se ha extendido para manejar tambin los eventos que
se generan internamente en el procesador, como por ejemplo, desbordamientos
aritmticos, instrucciones indefinidas, entre otras. Los diseadores de hardware
utilizan el trmino excepcin para referirse a estos tipos de interrupciones internas.
Para nuestro caso particular, el nico tipo de interrupciones que se atendern sern
las solicitadas por los dispositivos de entrada/salida. Para su implantacin, se han
colocado en la arquitectura dos nuevos mdulos: el mdulo PCTrap y la unidad de
interrupciones.
161
UNIVERSIDAD PRIVADA TELESUP
Las condiciones de entrada para la unidad de interrupciones estn dadas por las
lneas EnaINT, isBranch, Branch, IRQ y XIRQ , las cuales se describen a
continuacin.
Seal de entrada EnaINT. Cuando la unidad de interrupciones acepta atender
una peticin de servicio, sta es deshabilitada con el fin de que no puedan ser
atendidas otras interrupciones hasta que la interrupcin en curso termine su
ejecucin. La seal EnaINT, proveniente del registro de segmentacin EX/WB,
permite habilitar nuevamente a la unidad de interrupciones una vez que termina
de atender la interrupcin en curso, es decir, cuando se ejecuta una instruccin
de regreso de interrupcin (RTI). La seal EnaINT es generada por la unidad de
control, y es activada slo cuando se ejecuta una instruccin de regreso de
interrupcin (RTI).
162
UNIVERSIDAD PRIVADA TELESUP
163
UNIVERSIDAD PRIVADA TELESUP
INICIANDO MAX+PLUS II
MAX+PLUS II (Multiple Array Matrix Programmable Logic User System) es un
ambiente grfico de gran utilidad en el diseo, anlisis y simulacin de sistemas
digitales. Si usted ya es un usuario experimentado en el manejo de MAX+PLUS II
quiz desee pasar directamente al apartado de Verilog HDL. Si no es as, esta
seccin le mostrar cmo compilar y simular sus diseos mediante un ejemplo. Una
vez instalado el software de MAX+PLUS II, inicie la aplicacin y espere a que
aparezca la siguiente pantalla.
164
UNIVERSIDAD PRIVADA TELESUP
Text Editor. Permite crear y editar diseos de texto basados en los lenguajes de
descripcin de hardware AHDL, VHDL y Verilog HDL.
Waveform Editor. Permite observar el comportamiento de nuestro diseo a lo largo
del tiempo. En otras palabras, presenta los resultados de la simulacin.
Floorplan Editor. Permite asignar manualmente los puertos de entrada y de salida
del diseo lgico, a los pines de entrada y salida del dispositivo fsico.
Compiler. Procesa los proyectos creados y genera los archivos necesarios para la
programacin y simulacin del circuito.
165
UNIVERSIDAD PRIVADA TELESUP
Por el momento no se preocupe por la sintaxis del programa, slo necesita saber que
la seal c recibe el resultado de la operacin lgica a AND b, y que se asigna a la
seal d el valor de la seal e. Ms adelante volveremos a ver este ejemplo y se
explicar a detalle su funcionamiento. Antes de compilar el programa necesita
especificar el nombre del proyecto, esto es, el nombre del archivo con mayor jerarqua.
166
UNIVERSIDAD PRIVADA TELESUP
En este caso, el nico archivo es Example_1.v y por lo tanto, es el archivo con mayor
jerarqua. Para establecer el nombre del proyecto, dirjase al men File de la barra de
herramientas, abra el men Project y elija Set Project to Current File.
Es importante que especifique el nombre del archivo correcto porque de no hacerlo
puede omitir archivos o agregar otros que no correspondan al proyecto.
167
UNIVERSIDAD PRIVADA TELESUP
Si le es incmodo estar recordando los nombres de las seales, utilice la opcin Enter
Nodes from SNF ubicada en el men Node de la barra de herramientas. Esta opcin
abrir un cuadro de dilogo con la lista de todas las seales utilizadas en el proyecto.
168
UNIVERSIDAD PRIVADA TELESUP
169
UNIVERSIDAD PRIVADA TELESUP
Termine de asignar valores arbitrarios a las seales de entrada, guarde el archivo con
el nombre Example_1.scf y seleccione la opcin Save & Simulate ubicada en el
men Project del men File. Esta opcin abrir la ventana del Simulador, quien
calcular los valores de las salidas en base a los datos de entrada.
170
UNIVERSIDAD PRIVADA TELESUP
171
UNIVERSIDAD PRIVADA TELESUP
Editor
TEMA 4
de Max
+
Plus II
Competencia:
Emplear adecuadamente el editor de MAX +
PLUS II.
172
UNIVERSIDAD PRIVADA TELESUP
Seleccione la opcin Graphic Editor del men MAX+PLUS II. A continuacin elija del
men Symbol la opcin Enter Symbol. Entonces aparecer una ventana con los
nombres de los smbolos disponibles clasificados en varias categoras.
Prim. Esta categora engloba todas las prim itivas
lgicas (and, or, nand, nor, or, xnor, xor, etc.), las
primitivas de flip-flops y latches, las primitivas de
puertos de entrada y salida, y las primitivas de
buffers.
173
UNIVERSIDAD PRIVADA TELESUP
174
UNIVERSIDAD PRIVADA TELESUP
Siga el mismo procedimiento para crear el smbolo del archivo Example_1.v. En este
caso, aparecer la interfaz del compilador para mostrar el avance en la creacin del
smbolo y un cuadro de dilogo para indicar la terminacin.
175
UNIVERSIDAD PRIVADA TELESUP
176
UNIVERSIDAD PRIVADA TELESUP
PUERTOS
En Verilog un puerto es un nombre simblico que representa una entrada o una salida
hacia un mdulo o hacia una primitiva12. Si utiliza el software MAX+PLUS II para crear
sus diseos debe tener en cuenta que existen ciertas restricciones para la conexin de
estos puertos; estas restricciones estn documentadas en la ayuda de MAX+PLUS II
en la seccin Primitive/Port Interconnections. La declaracin de los puertos de
entrada/salida utilizan las siguientes palabras reservadas: input, declara puertos de
entrada; output, declara puertos de salida; e inout, declara puertos bidireccionales. Si
utiliza puertos bidireccionales recuerde que MAX+PLUS II no soporta puertos
bidireccionales en mdulos internos, es decir, no puede utilizar estos puertos
bidireccionales como entradas internas como salidas internas en un diseo; si desea
utilizar un puerto bidireccional ste debe ser externo a todo el diseo.
COMENTARIOS
Los comentarios son utilizados para introducir descripciones adicionales, explicaciones
y cualquier otra informacin que no es parte del cdigo pero que es muy til para
entenderlo. Los comentarios son ignorados durante la compilacin del diseo.Hay dos
tipos de comentarios: los de una sola lnea y los de mltiples lneas. Los comentarios
de una sola lnea comienzan con los caracteres // y terminan con el carcter de fin de
lnea. En cambio, los comentarios de mltiples lneas comienzan con la secuencia /* y
terminan con */; todo lo que est entre estos delimitadores ser un comentario.
177
UNIVERSIDAD PRIVADA TELESUP
BLOQUES PROCEDURALES
Los bloques procedurales (initial y always) son las construcciones bsicas para el
modelado de comportamientos en Verilog. Los bloques procedurales representan
flujos de tareas, y pueden ser secuenciales o concurrentes. Los bloques procedurales
no pueden anidarse.
Bloque initial
Su especificacin consiste de la palabra reservada initial seguida de una sentencia o
un bloque de sentencias que ser ejecutado cuando el bloque se active. Recuerde que
las palabras reservadas begin y end sirven para agrupar bloques de sentencias. initial
begin // Sentencia o bloque de sentencias end; El bloque initial es activado al inicio de
la simulacin y slo se ejecuta una vez; regularmente se utiliza para inicializar algunas
variables de nuestro diseo. Si el usuario especifica ms de un bloque initial, stos
sern ejecutados al comienzo de la simulacin de manera concurrente.
Bloque always
Su especificacin consiste de la palabra reservada always seguida de una sentencia o
de un bloque de sentencias que ser ejecutado cuando el bloque se active. Un bloque
always es activado al inicio de la simulacin y continuar ejecutndose durante toda la
simulacin. Normalmente los bloques always son manejados por un evento de control
que especifica cundo debe ejecutarse el bloque. Estos eventos pueden ser los
flancos del reloj, cambios en los valores de las variables, entre otros. Ms adelante se
explica cmo construir lgica combinacional y secuencial mediante el uso de los
bloques always.
EVENTOS
Los eventos permiten controlar la ejecucin de una sentencia o bloque de sentencias.
En su forma ms simple, un evento es un cambio de valor en una net o en un registro.
Su especificacin es utilizando el smbolo @ seguido por el nombre de la net o del
registro. @ (nombre_de_la_net_o_del_registro) Las sentencias escritas despus del
evento de control sern ejecutadas slo cuando el evento o los eventos de control
sean detectados. Los tipos ms comunes de eventos son el flanco de subida y el
flanco de bajada de una seal. Para detectar el flanco de subida de una seal
utilizamos la palabra reservada posedge y para registrar el flanco de bajada utilizamos
la palabra negedge.
178
UNIVERSIDAD PRIVADA TELESUP
Lecturas Recomendadas
RIESGOS POR DEPENDENCIA DE DATOS
http://mixteco.utm.mx/~merg/AC/pdfs/Unit_5_Part_2.pdf
Actividades y Ejercicios
179
UNIVERSIDAD PRIVADA TELESUP
Autoevaluacin
1) Permite observar el comportamiento de nuestro diseo a lo largo del tiempo.
En otras palabras, presenta los resultados de la simulacin:
a. Waveform programador.
b. Waveform simulador.
c. Waveform controlar.
d. Waveform obturador.
e. Waveform Editor.
3) Este mtodo plantea que la solucin para eliminar los riesgos por saltos es
detenerse hasta que el salto es resuelto.
a. Detenciones.
b. Condiciones.
c. Eventos.
d. Usuarios.
e. Datos.
180
UNIVERSIDAD PRIVADA TELESUP
181
UNIVERSIDAD PRIVADA TELESUP
Resumen
UNIDAD DE APRENDIZAJE IV:
El control de riesgos por dependencias de datos por medio de software consiste en dar
reglas al compilador de manera que no genere secuencias de instrucciones
dependientes. el control de riesgos por dependencias de datos por medio de
detenciones es ms sencillo para resolver los riesgos por dependencias de datos en
hardware es detener las instrucciones en el cauce hasta que se resuelva el riesgo.
Las interrupciones las utilizan los dispositivos de entrada/salida para comunicarse con
el procesador, y de manera similar a los saltos, cambian el flujo normal de ejecucin
de las instrucciones. las condiciones de entrada para la unidad de interrupciones estn
dadas por las lneas enaint, isbranch, branch, irq y xirq. max+plus ii es un ambiente
grfico de gran utilidad en el diseo, anlisis y simulacin de sistemas digitales.
182
UNIVERSIDAD PRIVADA TELESUP
Glosario
ASCII: Uno de los primeros y ms usados cdigos de caracteres. Existe en
versiones de 7 u 8 bits.
BIOS: Basic Input-Output System, sistema bsico de entrada-salida. Programa
incorporado en un chip de la placa base que se encarga de realizar las funciones
bsicas de manejo y configuracin del ordenador.
BIT: Unidad mnima de informacin de la memoria, equivalente a un "s" (0) o un
"no" (1) binarios. La unin de 8 bits da lugar a un byte.
BUFFER: Memoria dedicada a almacenar temporalmente la informacin que debe
procesar un dispositivo hardware para que ste pueda hacerlo sin bajar el
rendimiento de la transferencia. Aparece tpicamente en discos duros y CD-
ROMs.
BUS: Canal por el que circula informacin electrnica en forma de bits. El ancho
de bus es el nmero de bits transmitidos simultneamente por el bus.
BYTE: Unidad de informacin, compuesta de 8 bits consecutivos. Cada byte
puede representar, por ejemplo, una letra.
CACHE: Cualquier tipo de memoria "intermedia" entre dos aparatos, que acelera
las comunicaciones y transmisiones de datos entre ellos. Por extensin, se aplica
a la "cach de nivel 2", es decir, la que est en la placa base, entre el
microprocesador y la memoria.
DMA: Direct Memory Access, acceso directo a memoria. Mtodo de gestionar los
dispositivos hardware por el cual pueden acceder directamente a la memoria sin
precisar que el microprocesador gestione el proceso.
DRIVER: Pequeo programa cuya funcin es controlar el funcionamiento de un
dispositivo del ordenador bajo un determinado sistema operativo.
KERNEL: Ncleo o parte esencial de un sistema operativo. Provee los servicios
bsicos del resto del sistema.
LBA: Logical Block Address, direcciones de bloques lgicas. Tecnologa usada
en los discos duros de ms de 528 MB para superar la limitacin a este tamao
que la BIOS y el DOS les impondran.
PIN: Cada uno de los conectores elctricos de muchos elementos hardware,
como las "patitas" de muchos microprocesadores.
RAM: Random Access Memory, o Memoria de Acceso aleatorio. La memoria
principal en la que se almacenan los datos durante el funcionamiento de un
ordenador, la cual se borra al apagarlo. De diversos tipos (Fast Page, EDO,
SRAM...) y conectores (SIMM, DIMM...).
ROM: Read Only Memory, o Memoria de slo lectura. Un tipo de memoria
"esttica", es decir, que no se borra al apagar el ordenador y en principio en la
que no puede escribirse, salvo que se empleen mtodos especiales. Usada
sobre todo para guardar la BIOS del ordenador.
VRM: Mdulo de voltajes de micro.
183
UNIVERSIDAD PRIVADA TELESUP
Fuentes de Informacin
BIBLIOGRFICAS:
ELECTRNICAS:
Diseo de microprocesadores
http://profesores.fi-b.unam.mx/luist/archivos/MicroprocesadoresSavage.pdf
184
UNIVERSIDAD PRIVADA TELESUP
Solucionario
UNIDAD DE UNIDAD DE
APRENDIZAJE 1 APRENDIZAJE 2:
1. A 1. A
2. B 2. B
3. C 3. E
4. D 4. A
5. A 5. B
6. E 6. C
7. B 7. D
8. C 8. E
9. D 9. C
10. E 10. D
UNIDAD DE
UNIDAD DE
APRENDIZAJE 4:
APRENDIZAJE 3:
1. A 1. E
2. B 2. A
3. C 3. A
4. D 4. B
5. E 5. C
6. A 6. D
7. D 7. B
8. E 8. C
9. B 9. D
10. C 10. E
185