Escolar Documentos
Profissional Documentos
Cultura Documentos
Micro-Procesador
DATOS:
Nombre:
Becerra Guzmn Miguel Alejandro
Cdigo:
212452306
Profesor:
Jorge Ernesto Lpez Arce Delgado
Materia:
Programacin De Sistemas
Reconfigurables
16 DE MAYO DE 2016
UNIVERSIDAD DE GUADALAJARA
Cucei
ndice
1. OBJETIVO ......................................................................................................................................... 2
2. Marco Terico ................................................................................................................................. 3
3. Resumen .......................................................................................................................................... 3
4. Conceptos Bsicos ........................................................................................................................... 4
6. Introduccin .................................................................................................................................... 5
7. Desarrollo ........................................................................................................................................ 6
7. Resultados....................................................................................................................................... 9
7.1 Memoria ROM .............................................................................................................................. 9
7.2 Memoria RAM ............................................................................................................................ 13
7.3 Banco de Registros ..................................................................................................................... 16
7.4 A.L.U ........................................................................................................................................... 20
8. Co-Relacin de las Partes .............................................................................................................. 22
9. Conclusiones.................................................................................................................................. 24
10. Referencias .................................................................................................................................. 24
1. OBJETIVO
2. Marco Terico
Qu es un Micro-Procesador?
En esta seccin hablare sobre el
microprocesador y su funcionamiento en
una computadora. Tambin hablare de
como este dispositivo ha ido
evolucionando y permitiendo aligerar ms
y ms los procesos que realizamos a diario
en una computadora.
Los microprocesadores han sido uno de los logros ms importantes del siglo xx y
con el pasar de los aos han ido mejorando de manera tal que han cambiado la
forma de vivir de hombres, nios y mujeres que utilizan una computadora,
telfono celular o algn dispositivo informativo.
3. Resumen
Este reporte habla sobre , como cree la lgica un microprocesador, el anlisis de
su funcionamiento y la manera en la que lo hice; as como tambin, la aclaracin
de ciertas dudas con respecto a sus fases, instanciamientos y dems formas del
proyecto.
4. Conceptos Bsicos
CIRCUITOS INTEGRADOS
REGISTROS
RAM
ROM
FLIP-FLOPS
A.L.U
5. Palabras Clave
IDE:
Flanco de Subida:
6. Introduccin
7. Desarrollo
Descripcin del Proyecto
Memoria RAM:
DEFINICION Y FUNCIONALIDAD:
La memoria RAM lo que hace es almacenar temporalmente los programas que
se estn ejecutando y los datos que se estn usando. Este tipo de memoria es
muy rpida de acceder/leer por ende se utiliza para estos fines y no
directamente el disco duro.
Memoria ROM
DEFINICION Y FUNCIONALIDAD:
La memoria ROM, (read-only memory) o memoria de slo lectura, es la
memoria que se utiliza para almacenar los programas que ponen en marcha el
ordenador y realizan los diagnsticos. La mayora de los ordenadores tienen una
cantidad pequea de memoria ROM (algunos miles de bytes).
Banco de Registros
DEFINICION Y FUNCIONALIDAD:
Es una coleccin de registros con un puerto de entrada y uno o ms puertos de
salida. La seal de escritura de direccin, Direccin, especfica donde guardar
el dato, y la seal de direccin de lectura, indica de donde se leer el dato.
USO EN NUESTRO PROYECTO:
El banco de registros, tomara el dato de lectura de la ROM, y tomara los
primeros 16 bits, y los dividir en dos, para despus poder leer esos dos datos, y
asignarle la salida a los datos en la direccin de entrada.
A.L.U
DEFINICION Y FUNCIONALIDAD:
En computacin, la unidad aritmtica lgica o unidad aritmtico-lgica,
tambin conocida como ALU es un circuito digital que calcula operaciones
aritmticas (como suma, resta, multiplicacin, etc.) y operaciones lgicas (si, y,
o, no), entre valores (generalmente uno o dos) de los argumentos.
USO EN NUESTRO PROYECTO:
Lo que la A.L.U hace en nuestro proyecto, es toma los bits del 0 al 3, y buscar la
operacin bajo ese cdigo binario, y lo lleva a la salida, que despus ira a la
entrada de la RAM.
7. Resultados
Nota: Se describir el proyecto en general mediante la explicacin de cada uno de sus
componentes, para despus explicar el instanciamiento e integracin de todos los componentes en
s.
Este mdulo contendr lo que se har con todos los dems mdulos, por eso es
de suma importancia llenarlo de manera que los datos coincidan con los de los
dems mdulos, de lo contrario, veras datos de alta impedancia en la
simulacin.
Ubicacin
Binaria en la
ROM
4'b0000
4'b0001
4'b0010
4'b0011
4'b0100
4'b0101
4'b0110
4'b0111
4'b1000
4'b1001
4'b1010
4'b1011
4'b1100
4'b1101
4'b1110
4'b1111
default
Ubicacin
Decimal en la
ROM
1ra posicin
2da posicin
3ra posicin
4ta posicin
5ta posicin
6ta posicin
7ma posicin
8va posicin
9na posicin
10 posicin
11va posicin
12va posicin
13va posicin
14va posicin
15va posicin
16 va posicin
17va posicin
32'b00000001000000000000000000000000
32'b01000101001001110000000000010001
32'b10001000001010110000000000100010
32'b11000001111011110000000000110011
32'b11111110110111000000000001000100
32'b10000101010100110000000001010101
32'b11001001000000100000000001100110
32'b01101101111111000000000001110111
32'b10000001101100100000000000101000
32'b00001100011111000000000000011001
32'b00110010011101100000000010101010
32'b01000000010000000000000010110000
32'b01010101100111100000000011000101
32'b01101011000010010000000011011001
32'b00011111001001010000000011100010
32'b10001111010110100000000001011001
32'b0110110111111100000000000111011
Los 8 bits ms
significativos,
sern los
correspondientes
al dato no. 1
Los siguientes 8
bits, sern
asignados al dato
no. 2
Los 12 bits
aledaos, sern
para la direccin
de
almacenamiento
10000101
01010011
000000000101
en_ROM
Lectura
Clk
En_ROM:
Cuando esta entrada esta activa, se puede leer el dato que est dentro de la
ROM, en caso contrario, el dato no podr ser ledo, y te dar una X en la
simulacin.
Lectura:
Esta entrada es la que elige el dato escrito, esta entrada debe de ser de 4 bits
(3:0) para que elija una ubicacin dentro de las 16 que estn en la ROM, de no
ser ninguna de las 16 disponibles, pasara al default.
Clk:
Es la entrada por medio de un pulso de reloj, cuando esta entrada tenga un
flanco de subida (posedge) y en_ROM este activa, se podr leer el dato que se
requiere.
Dato_Entrada
Direccion
Clk
Lec_Esc
Dato_Entrada:
Esta entrada tomara el dato del resultado entre el dato uno y dos, dados por la
ROM.
Direccin:
Aqu tomara los 12 dgitos que vimos en la ROM, y el dato de entrada lo pondr
dentro de la direccin que tiene como entrada
Clk:
Entrada de reloj universal
Lec_Esc:
Solo es de 1 bit, definir si la memoria escribe los valores con respecto a los
datos de entrada, o solamente lee los valores que estn almacenados en ese
momento.
Cdigo de la RAM
Ubicacin Binaria
00000001
01000101
10001000
11000001
11111110
10000101
11001001
01101101
10000001
00001100
00110010
01000000
01010101
01101011
00011111
10001111
default
Dato 1
Valor Binario
00000000000000000000000000001010
00000000000000000000000000010100
00000000000000000000000000011110
00000000000000000000000000101000
00000000000000000000000000110010
00000000000000000000000000111100
00000000000000000000000001000110
00000000000000000000000001010000
00000000000000000000000001011010
00000000000000000000000001100100
00000000000000000000000001101110
00000000000000000000000001111000
00000000000000000000000010000010
00000000000000000000000010001100
00000000000000000000000010010110
00000000000000000000000010100000
00000000000000000000000000000001
Valor Decimal
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
1
Ubicacin Binaria
00000000
00100111
00101011
11101111
11011100
01010011
00000010
11111100
10110010
01111100
01110110
01000000
10011110
00001001
00100101
01011010
default
Dato 2
Valor Binario
0000000000000000000000000000101
0000000000000000000000000001010
0000000000000000000000000001111
0000000000000000000000000010100
0000000000000000000000000011001
0000000000000000000000000011110
0000000000000000000000000100011
0000000000000000000000000101000
0000000000000000000000000101101
0000000000000000000000000110010
0000000000000000000000000110111
0000000000000000000000000111100
0000000000000000000000001000001
0000000000000000000000001000110
0000000000000000000000001001011
0000000000000000000000001010000
0000000000000000000000000000001
Valor Decimal
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
1
Lectura1
Lectura2
Lectura1:
Esta entrada se encargara de leer los 8 primeros bits mas significativos, y los relacionara con los
datos dentro de los cases del dato1.
Lectura2:
Esta entrada se encargara de leer los 8 bits despus de la 1ra lectura, y los relacionara con los
datos dentro de los cases del dato2.
Una vez encontrados los dos datos, los mandara a las salidas correspondientes:
Dato1
Dato2
Estas salidas almacenan los dos datos correspondientes a los seleccionados desde la ROM.
Ilustracin PARTE 1
Ilustracin PARTE 2
7.4 A.L.U
Nuestra A.L.U se compone de dos partes, un Multiplexor, y un bloque de
operaciones, que bajo un cdigo dado, har la operacin que escribi en los 4
bits menos significativos de nuestra ROM, haciendo la operacin con los datos1
y dato2.
Como recordamos, el multiplexor har la funcin de depurador, para solo
mandar a la salida un dato, de 32 bits, que ira a la RAM, a ser almacenado.
Las operaciones en la A.L.U, se encuentran en un mdulo llamado OP, que
contiene las siguientes operaciones:
Modulo Operaciones
Cdigo de Operacin
Operacin a Realizar
0000
A&B
0001
A|B
0010
~(A|B)
0011
~(A&B)
0100
A^B
0110
~(A^B)
0101
A+B
0111
A-B
1000
A*B
1001
A/B
Composicin de A.L.U
A
B
A y B harn el papel del dato1, y del dato2, y lo que realizaran ser la operacin dada en la
instruccin de la ROM
Las 9 salidas de la A.L.U, son los resultados que nos podra dar, pero estas nueve pasan por el
multiplexor, que hace que solo 1 sea la salida, la que coincida con el cdigo de entrada.
Cdigo de la A.L.U
Lo primero que pasa, es que los 8 bits del final, los usara para el primer dato, los
siguientes sern para el dato 2, si relacionamos o buscamos ese nmero en
nuestro banco de registros, veremos que el dato1 con el numero 10000101 es el
nmero 6, que tiene asignado el valor de 70 (memoriza eso), y despus, vemos
que el dato2, tiene el serial 01010011, buscamos ese valor en el case del dato2,
y lo que tenemos en que tiene asignada la cantidad de 35 (memoriza esto
tambin), y se guardara en la ubicacin 000000000101, pero que hara con un
70 y un 35?, para eso vemos los primeros 4 digitos, que son 0110, vamos a
nuestra A.L.U, y vemos que la operacin con el cdigo 0110es la suma de A+B,
teniendo en cuenta que A=70 y B=35, A+B=105, veamos si en la simulacin lo
guarda en el lugar 6, y con un resultado de 105
Ilustracin 1 MAGIA!!
9. Conclusiones
La programacin de harware puede ser tediosa, pero siempre resulta mas visible, y con
mas provecho, dado que programas fsico, para mi fue algo mas fcil de comprender, que
programacin de software.
10. Referencias
http://arantxa.ii.uam.es/~jgonzale/fco/curso07-08/download/seminarios-vhdl.pdf
https://github.com/Obijuan/open-fpga-verilog-tutorial/wiki/Cap%C3%ADtulo-28%3AMemoria-RAM
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Verilog/Introducci%C3%B3n