7/24/2019 Arquitectura de VonNeuman
1/25
1
Arquitectura de unMicroprocesador
Campus PueblaGilberto Hernndez Herrera
John Von Neumann
Pionero en la ciencia de la computacin.
Creador de la arquitectura de las computadoras actuales,propuso la adopcin del bit como medida de la memoria
de las computadoras.
Particip en el diseo de la primera computadora,la ENIAC, que calculaba la trayectoria de proyectiles.
En esta computadora las modificaciones a los programasrequeran de cambiar la conexin de vlvulas.
Von Neumann propuso separar el software del hardware.Este diseo se realiz en la computadora EDVAC.
7/24/2019 Arquitectura de VonNeuman
2/25
2
Primeras
ComputadorasENIACENIACENIACENIAC
EDVACEDVACEDVACEDVAC
Electronic Numerical Integrator And Computer
Electronic Discrete VariableAutomatic Computer
Arquitectura de unMicrocontrolador
Campus PueblaGilberto Hernndez Herrera
7/24/2019 Arquitectura de VonNeuman
3/25
3
Arquitectura deHarvard
Campus PueblaGilberto Hernndez Herrera
AC
PC
FR
( ZNVI )
IR
MAR MDR
RAM
ALU
SP
UC
Puertos
Entrada
y Salida
ARQUITECTURA DE UN MICROCONTROLADOR
7/24/2019 Arquitectura de VonNeuman
4/25
4
http://www.microchip.com
Microcontroladores de MICROCHIP = PICs
7/24/2019 Arquitectura de VonNeuman
5/25
5
7/24/2019 Arquitectura de VonNeuman
6/25
6
7/24/2019 Arquitectura de VonNeuman
7/25
7
CORE 2 DUO
7/24/2019 Arquitectura de VonNeuman
8/25
8
Arquitectura deVon Neumann
Campus PueblaGilberto Hernndez Herrera
ARQUITECTURA DEL PROCESADOR Von Neumann
AC
PC
FR( ZNVI )
IR
MAR MDR
RAM
ALU
SP
UC
REGISTROS
AC: Accumulator
FR: Flags
PC: ProgramCounter
IR: Instruction Reg.
MAR: MemoryAddress Reg.
MDR: MemmoryBuffer Reg.
SP: Spool Reg.
ALU: UnidadAritmticaLgica
UC: Unidad deControl
RAM: RandomAcces Memory
7/24/2019 Arquitectura de VonNeuman
9/25
9
ARQUITECTURA DEL PROCESADOR Von Neumann
AC
PC
FR( ZNVI )
IR
MAR MDR
RAM
ALU
SP
UC
MM-Read
MDR
7/24/2019 Arquitectura de VonNeuman
10/25
10
Microoperaciones ! Microinstrucciones
Cdigo deCdigo deCdigo deCdigo de
MiroMiroMiroMiro!"erai#!"erai#!"erai#!"erai#
Operacin Descripcin
0$ [MDR]
7/24/2019 Arquitectura de VonNeuman
11/25
11
Microoperaciones ! MicroinstruccionesCdigo de MiroCdigo de MiroCdigo de MiroCdigo de Miro
!"erai#!"erai#!"erai#!"erai#Operacin Descripcin
0$0$0$0$ [MDR]
7/24/2019 Arquitectura de VonNeuman
12/25
12
ARQUITECTURA DEL PROCESADOR Von Neumann
AC
PC
FR( ZNVI )
IR
MAR MDR
RAM
ALU
SP
UC
FETCH
[MAR]
7/24/2019 Arquitectura de VonNeuman
13/25
13
ARQUITECTURA DEL PROCESADOR Von Neumann
AC
PC
FR( ZNVI )
IR
MAR MDR
RAM
ALU
SP
UC
EXECUTE
LDA, I
[AC]5
7/24/2019 Arquitectura de VonNeuman
14/25
14
Instruccionesen &nsamblador
Formatos dePalabras
DATOS
INSTRUCCIONES
Direccionamiento0 (I) Inmediato1 (R) Relativo2 (A) Absoluto3 (D) Indirecto
'ipos de direccionamiento
C.Op. I DATO
0 = I = Inmediato
C.Op. R XXX
DATO[PC] + XXX
1 = R = Relativo
C.Op. A XXX
DATOXXX
2 = A = Absoluto
C.Op. D XXX
YYYXXX
3 = D = Indirecto
DATOYYY
7/24/2019 Arquitectura de VonNeuman
15/25
15
'ipos de direccionamiento
Direccionesde memoria I Inmediato*+ *, . / ,
Cdigo de
Operacin( ( DATO
Direccionesde memoria A Absol"to
*+ *, . / ,
Cdigo deOperacin
) ( Dir. XXX
Dir *** DATO
Direccionesde memoria R Relativo
*+ *, . / ,
Cdigo de
Operacin( ) Dir. XXX
+PC,*** DATO
Direccionesde memoria D InDirecto
*+ *, . / ,
Cdigo de
Operacin) ) Dir. XXX
Dir *** Dir. YYY
Dir ... DATO
&(emplo de instrucci)n
LOCALIDAD C/DI0O MAQUINAL MNEM/NICO
0 102011 LDA,A,011
1 210001 SUB,I,+01
2 112011 STA,A,011
3 311001 JMZ,R,+01
000000 DEF, +00000
000010 DEF, +00010
Formatos dePalabras
DATOS
INSTRUCCIONES
Direccionamiento0 (I) Inmediato1 (R) Relativo2 (A) Absoluto3 (D) Indirecto
10 2 011C$digo deO%eraci$n Ti%o de
Direccionamiento
Dato $ Direcci$n
1 02011
1igno Magnit"d
7/24/2019 Arquitectura de VonNeuman
16/25
16
PROGRAMA ENSAMBLADO
LOCALIDAD C/DI0OMAQUINAL
MNEM/NICO
0 102010 LDA,A,010
1 202011 ADD,A,011
2 112010 STA,A,010
3 102011 LDA,A,011
4 210001 SUB,I,+01
5 112011 STA,A,011
6 311001 JMZ,R,+01
7 302000 JMP,A, 0008 990000 HLT
9 000000 NP
10 000000 DEF, +00000
11 000010 DEF, +00010
ORG, 0lda,a,sadd,a,ista,a,slda,a,isub,i,1sta,a,ijmz,r,1
jmp,a,0hltORG 10
s def, 0i def, 10
Este programasuma de i a 0
y deja el resultado en s
&(emplo de pro$rama
&(emplo enensamblador
NOP 00 No OperationCLA 01 C lear AccumulatorNEG 02 NegativeINTON 03 Interrupt On
INTOF 04 Interrupt OffLDA 10 Load AccumulatorSTA 11 Store AccumulatorADD 20 AddSUB 21 SubtractJMP 30 JumpJMZ 31 Jump on ZeroJMN 32 Jump on NegativeLDSP 40 Load SpoolSTSP 41 Store SpoolPUSHA 42 Push AccumulatorPOPA 43 Pop AccumulatorJSR 50 Jump on SubroutineRTN 51 ReturnRTI 51 Return InterruptIN 60 InputOUT 61 OutputHLT 63 Halt
Direccionamiento0 (I) Inmediato1 (R) Relativo2 (A) Absoluto3 (D) Indirecto
DIRMEM
C/DI0ONUM2RICO
MNEM/NICO
0 102010 LDA,A,010
1 202011 ADD,A,011
2 112010 STA,A,010
3 102011 LDA,A,011
4 210001 SUB,I,+01
5 112011 STA,A,011
6 311001 JMZ,R,+01
7 302000 JMP,A, 000
8 990000 HLT
9 000000 NP
10 000000 DEF, +00000
11 000010 DEF, +00010
Instru$
0$inPC AC S
(10)I
(11)
7/24/2019 Arquitectura de VonNeuman
17/25
17
R!, 000 LA INSTR "A EN LA DIR 000
LDA, A, # $AR!AR # EN EL A$
ADD, A, % SUMARLE % AL A$
ADD, A, Z SUMARLE Z AL A$
STA, A, & !UARDARL EN &
HLT DETENER LA EJE$U$IN
R!, 010 LA SI! INST "A EL LA DIR 10
& DEF, +0 DEFINIR EL "ALR +00000
# DEF, +250 DEFINIR EL "ALR +00250
% DEF, +125 DEFINIR EL "ALR +00125
Z DEF, '315 DEFINIR EL "ALR '00315
&(emplos de pro$ramasen ensamblador
utilizando mnem)nicos
Instruc-Cin
PC AC W X Y Z
Direccionamiento0 (I) Inmediato1 (R) Relativo2 (A) Absoluto3 (D) Indirecto
NOP 00 No OperationCLA 01 Clear AccumulatorNEG 02 NegativeINTON 03 Interrupt OnINTOF 04 Interrupt OffLDA 10 Load AccumulatorSTA 11 Store Accumulator
ADD 20 AddSUB 21 SubtractJMP 30 JumpJMZ 31 Jump on ZeroJMN 32 Jump on NegativeLDSP 40 Load SpoolSTSP 41 Store SpoolPUSHA 42 Push AccumulatorPOPA 43 Pop Accum ulatorJSR 50 Jump on SubroutineRTN 51 ReturnRTI 51 Return InterruptIN 60 InputOUT 61 OutputHLT 63 Halt
'ipos de direccionamiento
C.Op. I DATO
0 = I = Inmediato
C.Op. R XXX
DATO[PC] + XXX
1 = R = Relativo
C.Op. A XXX
DATOXXX
2 = A = Absoluto
C.Op. D XXX
YYYXXX
3 = D = Indirecto
DATOYYY
7/24/2019 Arquitectura de VonNeuman
18/25
18
R!, 000
LDA, A, N
STA, A, N1
LDA, A, D#
STA, A, D#1
$LA
STA, A, S
$I$L LDA, A, S
ADD, D, D#1
STA, A, S
LDA, A, N1
SUB, I, 1
STA, A, N1
JMZ, A, FIN
LDA, A, D#1
ADD, I, +1
STA, A, D#1
JMP, A, $I$L
FIN HLT
R!, 18
N1 DEF, +0
D#1 DEF, +0
S DEF, +0
N DEF, +10
D# DEF, ## DEF, +10
DEF, +20
DEF, +30
DEF, +40
DEF, +50
DEF, +60
DEF, +70
DEF, +80
DEF, +90
DEF, '100
&(emplos de pro$ramasen ensamblador
utilizando mnem)nicos
C.Op. D XXX
YYYXXX
Direccionamiento
3 = D = Indirecto
DATOYYY
PC AC N1 DX1 S N DX X
R!, 18N1 DEF, +0
D#1 DEF, +0
S DEF, +0
N DEF, +10
D# DEF, #
# DEF, +10
DEF, +20
DEF, +30
DEF, +40
DEF, +50
DEF, +60
DEF, +70
DEF, +80
DEF, +90
DEF, '100
&(emplos de pro$ramasen ensamblador
utilizando mnem)nicos
R!, 000
LDA, A, N
STA, A, N1
LDA, A, D#
STA, A, D#1
$LA
STA, A, S
$I$L LDA, A, S
ADD, D, D#1
STA, A, S
LDA, A, N1
SUB, I, 1
STA, A, N1
JMZ, A, FIN
LDA, A, D#1
ADD, I, +1
STA, A, D#1
JMP, A, $I$L
FIN HLT
PC AC N1 DX1 S N DX X
Direccionamiento0 (I) Inmediato1 (R) Relativo2 (A) Absoluto3 (D) Indirecto
NOP 00 No OperationCLA 01 Clear AccumulatorNEG 02 NegativeINTON 03 Interrupt OnINTOF 04 Interrupt OffLDA 10 Load AccumulatorSTA 11 Store AccumulatorADD 20 AddSUB 21 SubtractJMP 30 JumpJMZ 31 Jump on ZeroJMN 32 Jump on Negative
LDSP 40 Load SpoolSTSP 41 Store SpoolPUSHA 42 Push AccumulatorPOPA 43 Pop AccumulatorJSR 50 Jump on SubroutineRTN 51 ReturnRTI 51 Return InterruptIN 60 InputOUT 61 OutputHLT 63 Halt
7/24/2019 Arquitectura de VonNeuman
19/25
19
Instruccionesen &nsamblador
Formatos dePalabras
DATOS
INSTRUCCIONES
Direccionamiento0 (I) Inmediato1 (R) Relativo2 (A) Absoluto3 (D) Indirecto
Programas:
Multiplicaci)n
*actorial Potencia
Campus PueblaGilberto Hernndez Herrera
7/24/2019 Arquitectura de VonNeuman
20/25
20
Al#orit!os y 1ro#ra!a$in en ensa!"lador
Multiplicacin* 3 .
Inicio
* 4 (
CM 4 . M 4 (
. 4 (
M 4 M *
CM 4 CM 5 )
CM 4 (
6IN
NO
NO
NO
SI
SI
SI
M = X 2 YX Y CM M
Multiplicacin
* 3 .
Inicio
* 4 (
CM 4 . M 4 (
. 4 (
M 4 M *
CM 4 CM 5 )
CM 4 (
6IN
NO
NO
NO
SI
SI
SI
M = X 2 Y
DIRMEM
C/DI0ONUM2RICO
MNEM/NICO
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
NOP (( No O%erationCLA () Clear Ac c"m"la tor NE0 (7 Negati!eINTON (8 Interr"%t O nINTO6 (9 Interr"%t O ## LDA )( L oad Acc"m"lator 1TA )) 1tore Acc"m"lator ADD 7( Add1U: 7) 1"btract;MP 8( ;"m%;M< 8) ;"m% on Acc"m"lator P OP A 9 8 P o% A cc "m "l at or ;1R ?( ;"m% on 1"bro"tineRTN ?) Ret"rnRTI ?) Ret"rn Interr"%tIN @( In%"tOUT @) O"t%"t=LT @8 =alt
Direccionamiento0 (I) Inmediato1 (R) Relativo2 (A) Absoluto3 (D) Indirecto
DIRMEM
C/DI0ONUM2RICO
MNEM/NICO
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
7/24/2019 Arquitectura de VonNeuman
21/25
21
N
Inicio
N 4 (
C6 4 N-) 3 6 4 N
N 4 )
6 4 6 & C6
C6 4 C6 5 )
C6 4 (
6IN
6 4 )
NO
NO
NO
SI
SI
SI
Al#orit!os y 1ro#ra!a$in en ensa!"lador
Factorial
F = N !
5! = 5 2 4 2 3 2 2
N
Inicio
N 4 (
C6 4 N - ) 3 6 4 N
N 4 )
6 4 6 & C6
C6 4 C6 5 )
C6 4 (
6IN
6 4 )
NO
NO
NO
SI
SI
SI
Al#orit!os y 1ro#ra!a$in en ensa!"lador
Factorial
M 4 M 6
CM 4 CM 5 )
CM 4 (NO
SI
M 4 (
CM 4 C6
6 4 M
F = N !
7/24/2019 Arquitectura de VonNeuman
22/25
22
6 4 6 & C6
N
Inicio
N 4 (
C6 4 N -) 3 6 4 N
N 4 )
C6 4 C6 5 )
C6 4 (
6IN
6 4 )
NO
NO
NO
SI
SI
SI
Al#orit!os y 1ro#ra!a$in en ensa!"lador
Factorial
M 4 M 6
CM 4 CM 5 )
CM 4 (NO
SI
M 4 (
CM 4 C6
6 4 M
F = N !
Al#orit!os y 1ro#ra!a$in en ensa!"lador
Pot"ncia
P = X#
3 = 2 2
3 = 3 2 3
33 = 3 2 3 2 3
7/24/2019 Arquitectura de VonNeuman
23/25
23
* .
Inicio
. 4 (
CP 4 . 3 P 4 )
* 4 (
P 4 P & *
CP 4 CP 5 )
C6 4 (
6IN
P 4 (
NO
NO
NO
SI
SI
SI
Al#orit!os y 1ro#ra!a$in en ensa!"lador
Pot"ncia
P = X#
3 = 2 2
3 = 3 2 3
33 = 3 2 3 2 3
$ A R % A
Realiar los %rograma B"e realicen las sig"ientes o%eraciones Factorial dado un nmero N que calcule N!
Potencia dados M y N que calcule MN
Fibonacci calcular la serie hasta un nmero N
Divisin calcular D = X / Y
REALIZAR EL DIAGRAMA DE FLUJO (opcional en RAPTOR)
Escribir los programas en cdigo ENSAMBLADOR con:- Mnemnico Numrico Binario Hexadecimal
ENTREGA DE LOS PROGRAMASMartes 21 de febrero
7/24/2019 Arquitectura de VonNeuman
24/25
24
DIR.MEM
CDIGONUMRICO
MNEMNICO
000
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
NOP 00 No OperationCLA 01 Clear AccumulatorNE G 02 Nega ti ve
INTON 03 InterruptOnINTOF 04 InterruptOffLDA 10 Load AccumulatorSTA 11 StoreAccumulatorADD 20 AddSU B 21 Su bt ractJMP 30 JumpJM Z 31 Jump o n ZeroJMN 32 JumponNegat iveLDSP 40 Load SpoolSTSP 41 StoreSpoolPUSHA 42 Push AccumulatorPOPA 43 Pop AccumulatorJSR 50 JumponSubrout ineRTN 51 Retur nRT I 51 Re tu rn I nt er ru ptIN 60 InputOUT 61 OutputHLT 63 Halt
DIR.MEM
HEXADECIMAL
0000 0000
0000 0001
0000 0010
0000 0011
0000 0101
0000 0101
0000 0110
0000 0111
0000 1000
0000 1001
0000 1010
0000 1011
0000 0101
0000 1101
0000 1110
0000 1111
0001 0000
0001 0001
0001 0010
0001 0011
0001 0101
0001 0101
0001 0110
0001 0111
0001 1000
0001 1001
Tipos de Direccionamiento0 (I) Inmediato1 (R) Relativo2 (A) Absoluto3 (D) Indirecto
Set de Instrucciones
:INARIO)? )( F (
Acti&i'a' Cola(orati&a
Realizar un programa que realice laconversin de un nmero decimal a suequivalente en hexadecimal:
ENTREGAR
Diagrama de Flujo (opcional en RAPTOR)
Programa en ensamblador en cdigo Mnemnicos
ENTREGA DEL PROGRAMAUna semana
7/24/2019 Arquitectura de VonNeuman
25/25