http://visual6502.org/JSSim/expert.html
4.74M
Категория: ЭлектроникаЭлектроника

Central Processing Unit

1.

2.

3.

4.

CPU

5.

Central
Processing
Unit

6.

CPU
CPU

7.

CLOCK – keep it in sync!
Gigahertz –
Gig =billion
Hertz =time per second

8.

Scott
CPU

9.

10.

11.

Motherboard
address
bus
control
bus
CPU
socket
set
control
bus
enable
data
bus
RAM
socket

12.

Motherboard
address
bus
control
bus
CPU
socket
set
control
bus
enable
data
bus
RAM
socket

13.

address
RAM
RAM
256
BYTES
set
address
bus
Scott
CPU
set
control
bus
enable
data
bus
RAM
socket
enable
data

14.

Random access memory
address
RAM
RAM
data
256
BYTES

01100001
set
control
bus
enable
data
bus
01100010
00001001
01100011
01110000
01100100
00001111
01100101
11110001
01100110
01010010
01100111
11100001
01101000
01111011
01101001
00011000
01101010
01000111

Scott
CPU
O
r
d
e
r
00100001

address
bus
enable

set
RAM
socket
List of addresses
Data

15.

address
RAM
RAM
256
BYTES
set
address
bus
01100001
Scott
CPU
set
control
bus
enable
data
bus
RAM
socket
enable
data

16.

address
RAM
RAM
256
BYTES
set
address
bus
01100001
Scott
CPU
set
control
bus
enable
data
bus
RAM
socket
enable
data

17.

address
RAM
RAM
data
256
BYTES
set
enable
address
bus
01100001
Scott
CPU
set
control
bus
enable
data
bus
RAM
socket
00100001

18.

address
RAM
RAM
data
256
BYTES
set
enable
address
bus
01100001
Scott
CPU
set
control
bus
enable
data
bus
RAM
socket
00100001

19.

address
RAM
RAM
256
BYTES
set
address
bus
01100010
Scott
CPU
set
control
bus
enable
data
bus
RAM
socket
enable
data

20.

address
RAM
RAM
256
BYTES
set
address
bus
01100010
Scott
CPU
set
control
bus
enable
data
bus
RAM
socket
enable
data

21.

address
RAM
RAM
data
256
BYTES
set
enable
address
bus
01100010
Scott
CPU
set
control
bus
enable
data
bus
RAM
socket
00001001

22.

address
RAM
RAM
data
256
BYTES
set
enable
address
bus
01100010
Scott
CPU
set
control
bus
enable
data
bus
RAM
socket
00001001

23.

address
RAM
RAM
data
256
BYTES
set
enable
address
bus
Scott
CPU
01100011
set
control
bus
enable
If you need save data
data
bus
RAM
socket
01110000

24.

address
RAM
RAM
256
BYTES
set
address
bus
Scott
CPU
set
control
bus
01100100
enable
data
bus
RAM
socket
enable
data

25.

address
RAM
RAM
data
256
BYTES
set
enable
address
bus
Scott
CPU
set
control
bus
01100100
enable
data
bus
RAM
socket
00001111

26.

address
RAM
RAM
data
256
BYTES
set
enable
address
bus
Scott
CPU
set
control
bus
01100100
enable
data
bus
RAM
socket
00001111

27.

address
RAM
RAM
data
256
BYTES

address
bus
01100001
00001001
set
01100011
01110000
01100100
00001111
enable
01100101
11110001
01100110
01010010
01100111
11100001
01101000
01111011
01101001
00011000
01101010
01000111
data
bus

control
bus
00100001
01100010

Scott
CPU
enable

set
RAM
socket
What is a data???

28.

address
RAM
RAM
data
256
BYTES
control
bus

Instruction
01100010
Number
set
01100011
Instruction
01100100
Address
enable
01100101
Instruction
01100110
Instruction
01100111
Address
01101000
Instruction
01101001
Address
01101010
Letter

Scott
CPU
01100001

address
bus
enable

set
data
bus
RAM
socket

29.

address
RAM
RAM
data
256
BYTES

address
bus
01100001
01100010
00001001
set
01100011
01110000
01100100
00001111
enable
01100101
11110001
01100110
01010010
01100111
11100001
01101000
01111011
01101001
00011000
01101010
01000111

control
bus
00100001

Scott
CPU
enable

set
data
bus
RAM
socket

30.

256
BYTES
set
control
bus
enable
set
data
bus
RAM
socket
enable
01100001
data
00100001
01100010
00001001
01100011
01110000
01100100
00001111
01100101
11110001
01100110
01010010
01100111
11100001
01101000
01111011
01101001
00011000
01101010
01000111

Scott
CPU
RAM
RAM

address


address
bus

31.

control
bus
set
RAM
RAM
256
enable BYTES
set
enable
data
bus
RAM
socket
data
01100010
00001001
01100011
01110000
01100100
00001111
01100101
11110001
01100110
01010010
01100111
11100001
01101000
01111011
01101001
00011000
01101010
01000111

Scott
CPU
address
00100001

01100001


address
bus

32.



address
bus
0110000100100001
01100010 00001001
control
bus
set
RAM
RAM
01100011 01110000
01100100 00001111
256
enable BYTES
set
data
enable
01100101 11110001
01100110 01010010
01100111 11100001
01101000 01111011
data
bus
01101001 00011000
RAM
socket

01101010 01000111

Scott
CPU
address

33.

Instruction Set
STORE a number from the CPU back out to RAM
COMPARE one number with another
01100001
LOAD
01100010
9
01100011
IN
01100100 Keyboard
01100101 COMPARE
JUMP IF Condition to another address in RAM
01100110 JUMP IF =
JUMP to another address in RAM
OUTPUT to a device such as a monitor
INPUT from a device such as a keyboard
01101000
OUT
01101001
Monitor
01101010
“G”

01100111 10100001

Scott
CPU

ADD two numbers together

LOAD a number from RAM into the CPU

34.

Arithmetic
Logic
Unit
(ALU)
Control Unit

35.

Input
A
Arithmetic
Logic
Unit
(ALU)
Control Unit

36.

Input
A
Input
B
Arithmetic
Logic
Unit
(ALU)
Control Unit

37.

Input
A
Input
B
Arithmetic
Logic
Unit
(ALU)
Control Unit
Instruction
from RAM

38.

Input
A
Input
B
Arithmetic
Logic
Unit
(ALU)
Control Unit
Type of
Operation
Instruction
from RAM

39.

Input
A
Input
B
Arithmetic
Logic
Unit
(ALU)
Output
Control Unit
Type of
Operation
Instruction
from RAM

40.

Input
A
Input
B
Arithmetic
Logic
Unit
(ALU)
Control Unit
Type of
Operation
Instruction
from RAM

41.

Input
A
Input
B
Arithmetic
Logic
Unit
(ALU)
Flags
Control Unit
Type of
Operation
Instruction
from RAM

42.

Input
A
Input
B
Arithmetic
Logic
Unit
(ALU)
Output
Control Unit
Type of
Operation
Instruction
from RAM

43.

Arithmetic
Logic
Unit
(ALU)
Output
Control Unit

44.

Arithmetic
Logic
Unit
(ALU)
Output
Control Unit

45.

Arithmetic
Logic
Unit
(ALU)
Register
Control Unit

46.

Arithmetic
Logic
Unit
(ALU)
Register
Control Unit

47.

Arithmetic
Logic
Unit
(ALU)
00000000
Control Unit

48.

Arithmetic
Logic
Unit
(ALU)
00000000
Control Unit
set

49.

Arithmetic
Logic
Unit
(ALU)
00000000
Control Unit
set

50.

Arithmetic
Logic
Unit
(ALU)
11000111
Control Unit
set

51.

Arithmetic
Logic
Unit
(ALU)
11000111
Control Unit
set

52.

Arithmetic
Logic
Unit
(ALU)
11000111
Control Unit
set
enable

53.

Arithmetic
Logic
Unit
(ALU)
11000111
Control Unit
set
enable

54.

Arithmetic
Logic
Unit
(ALU)
11000111
Control Unit
set
enable

55.

Arithmetic
Logic
Unit
(ALU)
11000111
Control Unit
set
enable

56.

Arithmetic
Logic
Unit
(ALU)
11000111
Control Unit
set
enable

57.

Register
Arithmetic
Logic
Unit
(ALU)
11000111
Register
Register
Control Unit
set
enable
Register

58.

Arithmetic
Logic
Unit
(ALU)
11000111
Register
Register
Register
Register
s
s
s
s
e
e
e
Control Unit
set
enable
e

59.

00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
e
00001001
s
e
00000000
s
e
Control Unit
set
enable
00000010
s
e

60.

00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
e
00001001
s
e
00000000
s
e
Control Unit
set
enable
00000010
s
e

61.

00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
e
00001001
s
e
11000111
s
e
Control Unit
set
enable
00000010
s
e

62.

00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
e
00001001
s
e
11000111
s
e
Control Unit
set
enable
00000010
s
e

63.

00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
e
00001001
s
e
11000111
s
e
Control Unit
set
enable
00000010
s
e

64.

Temporary
set
00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
e
00001001
s
e
11000111
s
e
Control Unit
set
enable
00000010
s
e

65.

Temporary
set
Input
B
s
Arithmetic
Logic
Unit
(ALU)
11000111
00001001
e
00001001
s
e
11000111
s
e
Control Unit
set
enable
00000010
s
e

66.

Temporary
set
Input
B
s
Arithmetic
Logic
Unit
(ALU)
11000111
00001001
e
00001001
s
e
11000111
s
e
Control Unit
set
enable
00000010
s
e

67.

00001001
set
Input
B
s
Arithmetic
Logic
Unit
(ALU)
11000111
00001001
e
00001001
s
e
11000111
s
e
Control Unit
set
enable
00000010
s
e

68.

00001001
set
Input
B
s
Arithmetic
Logic
Unit
(ALU)
11000111
00001001
e
00001001
s
e
11000111
s
e
Control Unit
set
enable
00000010
s
e

69.

00001001
set
Input
B
s
Arithmetic
Logic
Unit
(ALU)
11000111
00001001
e
00001001
s
e
11000111
s
e
Control Unit
set
enable
00000010
s
e

70.

00001001
set
Input
B
s
Arithmetic
Logic
Unit
(ALU)
11000111
00001001
e
00001001
s
e
11000111
s
e
Control Unit
set
enable
00000010
s
e

71.

00001001
set
Input
B
s
Arithmetic
Logic
Unit
(ALU)
11000111
00001001
e
00001001
s
e
11000111
s
e
Control Unit
set
enable
00000010
s
e

72.

00001001
Input
A
set
Input
B
s
Arithmetic
Logic
Unit
(ALU)
11000111
00001001
e
00001001
s
e
11000111
s
e
Control Unit
set
enable
00000010
s
e

73.

00001001
Input
A
set
Input
B
00001001
s
00001001
e
s
Arithmetic
Logic
Unit
(ALU)
11000111
e
11000111
s
e
Control Unit
set
enable
Instruction
s
00000010
s
e

74.

00001001
Input
A
set
00001001
Input
B
s
00001001
e
s
Arithmetic
Logic
Unit
(ALU)
s
e
Control Unit
Type of
Operation
11000111
e
11000111
set
enable
Instruction
s
00000010
s
e

75.

00001001
Input
A
set
00001001
Input
B
s
00001001
e
s
s
e
Flags
Arithmetic
Logic
Unit
(ALU)
Control Unit
Type of
Operation
11000111
e
11000111
set
enable
Instruction
s
00000010
s
e

76.

00001001
Input
A
set
00001001
Input
B
s
00001001
e
s
s
e
Flags
Arithmetic
Logic
Unit
(ALU)
Control Unit
Type of
Operation
11000111
e
11000111
set
enable
Instruction
s
00000010
s
e

77.

00001001
Input
A
set
00001001
Input
B
s
00001001
e
s
s
e
Flags
Arithmetic
Logic
Unit
(ALU)
Control Unit
Type of
Operation
11000111
e
11000111
set
enable
Instruction
s
00000010
s
e

78.

00001001
Input
A
set
00001001
Input
B
s
00001001
e
s
e
11000111
s
e
A is Larger
Arithmetic
Logic
Unit
(ALU)
Control Unit
Type of
Operation
11000111
set
enable
Instruction
s
00000010
s
e

79.

00001001
Input
A
set
00001001
Input
B
s
00001001
e
s
s
e
Equal
Arithmetic
Logic
Unit
(ALU)
Control Unit
Type of
Operation
11000111
e
11000111
set
enable
Instruction
s
00000010
s
e

80.

00001001
Input
A
set
00001001
Input
B
s
00001001
e
s
s
e
A is Larger
Equal
Arithmetic
Logic
Unit
(ALU)
Control Unit
Type of
Operation
11000111
e
11000111
set
enable
Instruction
s
00000010
s
e

81.

00001001
Input
A
set
00001001
Input
B
s
00001001
e
s
s
e
Equal
Arithmetic
Logic
Unit
(ALU)
Control Unit
Type of
Operation
11000111
e
11000111
set
enable
Instruction
s
00000010
s
e

82.

00001001
Input
A
set
00001001
Input
B
s
00001001
e
s
Arithmetic
Logic
Unit
(ALU)
s
e
Control Unit
Type of
Operation
11000111
e
11000111
set
enable
Instruction
s
00000010
s
e

83.

00001001
Input
A
set
00001001
Input
B
s
Arithmetic
Logic
Unit
(ALU)
00001001
e
s
set
enable
s
e
Control Unit
Flags
Type of
Operation
11000111
e
11000111
Instruction
s
00000010
s
e

84.

00001001
Input
A
set
00001001
Input
B
s
Arithmetic
Logic
Unit
(ALU)
00001001
e
s
set
enable
s
e
Control Unit
Flags
Type of
Operation
11000111
e
11000111
Instruction
s
00000010
s
e

85.

00001001
Input
A
set
00001001
Input
B
s
Arithmetic
Logic
Unit
(ALU)
Flags
00001001
e
s
set
enable
s
e
Control Unit
set
Type of
Operation
11000111
e
11000111
Instruction
s
00000010
s
e

86.

00001001
Input
A
set
00001001
Input
B
s
Arithmetic
Logic
Unit
(ALU)
Flags
00001001
e
s
set
enable
s
e
Control Unit
set
Type of
Operation
11000111
e
11000111
Instruction
s
00000010
s
e

87.

00001001
set
00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
set
enable
00001001
e
s
e
11000111
s
e
Control Unit
set
Instruction
s
00000010
s
e

88.

00001001
set
00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
set
enable
00001001
e
s
e
11000111
s
e
Control Unit
set
Instruction
s
s
e
Instruction
Address
00000010
s
e

89.

00001001
set
00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
set
enable
00001001
e
s
e
11000111
s
e
Control Unit
set
Instruction
s
s
e
Instruction
Address
00000010
s
e

90.

00001001
set
00001001
s
00001001
e
s
e
11000111
s
e
00000010
s
e
Memory
Address
to RAM
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
set
enable
Control Unit
set
Instruction
s
s
e
Instruction
Address

91.

00001001
set
00001001
s
00001001
e
s
e
11000111
s
e
00000010
s
e
s
Memory
Address
Memory
Address
to RAM
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
set
enable
Control Unit
set
Instruction
s
s
e
Instruction
Address

92.

00001001
set
00001001
s
00001001
e
s
e
11000111
s
e
00000010
s
e
s
Memory
Address
Memory
Address
to RAM
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
set
enable
Control Unit
set
Instruction
s
s
e
Instruction
Address

93.

00001001
set
00001001
s
00001001
e
s
e
11000111
s
e
00000010
s
e
s
Memory
Address
Memory
Address
to RAM
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
set
enable
Control Unit
set
Instruction
s
s
e
Instruction
Address

94.

00001001
set
00001001
s
00001001
e
s
e
11000111
s
e
00000010
s
e
s
Memory
Address
Memory
Address
to RAM
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
set
enable
Control Unit
set
Instruction
s
s
e
Instruction
Address
set RAM
enable RAM

95.

00001001
set
00001001
s
00001001
e
s
e
11000111
s
e
00000010
s
e
s
Memory
Address
Memory
Address
to RAM
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
set
enable
Control Unit
set
Instruction
s
s
e
Instruction
Address
set RAM
enable RAM

96.

00001001
set
00001001
s
00001001
e
s
e
11000111
s
e
00000010
s
e
s
Memory
Address
Memory
Address
to RAM
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
set
enable
Control Unit
set
Instruction
s
s
e
Instruction
Address
set RAM
enable RAM
Data from RAM

97.

00001001
set
00001001
s
00001001
e
s
e
11000111
s
e
00000010
s
e
s
Memory
Address
Memory
Address
to RAM
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
set
enable
Control Unit
set
Instruction
s
s
e
Instruction
Address
set RAM
enable RAM
Data from RAM

98.

00001001
set
00001001
s
00001001
e
s
e
11000111
s
e
00000010
s
e
s
Memory
Address
Memory
Address
to RAM
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
set
enable
Control Unit
set
Instruction
s
s
e
Instruction
Address
set RAM
enable RAM
Data from RAM

99.

00001001
set
00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
set
enable
00001001
e
s
e
11000111
s
e
00000010
s
e
s
Memory
Address
Control Unit
set
Instruction
s
s
e
Instruction
Address
set RAM
enable RAM

100.

00001001
set
00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
00001001
e
s
e
11000111
s
e
00000010
s
e
s
Memory
Address
Control Unit
set
Jump If
Equal
set
enable
Instruction
s
s
e
Instruction
Address
set RAM
enable RAM

101.

00001001
set
00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
00001001
e
s
e
11000111
s
e
00000010
s
e
s
Memory
Address
Control Unit
set
Jump If
Equal
set
enable
Instruction
s
s
e
Instruction
Address
set RAM
enable RAM

102.

00001001
set
00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
00001001
e
s
e
11000111
s
e
00000010
s
e
s
Memory
Address
Control Unit
set
Equal
Jump If
Equal
set
enable
Instruction
s
s
e
Instruction
Address
set RAM
enable RAM

103.

00001001
set
00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
00001001
e
s
e
11000111
s
e
00000010
s
e
s
Memory
Address
Control Unit
set
Equal
Jump If
Equal
set
enable
Instruction
s
s
e
Instruction
Address
set RAM
enable RAM

104.

00001001
set
00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
00001001
e
s
e
s
e
s
Memory
Address
AND
Jump If
Equal
enable
s
00000010
Control Unit
set
Equal
set
e
11000111
Instruction
s
s
e
Instruction
Address
set RAM
enable RAM

105.

00001001
set
00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
00001001
e
s
e
s
e
s
Memory
Address
AND
Jump If
Equal
enable
s
00000010
Control Unit
set
Equal
set
e
11000111
Instruction
s
s
e
Instruction
Address
set RAM
enable RAM

106.

00001001
set
00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
00001001
e
s
AND
Jump If
Equal
enable
s
e
00000010
s
e
s
Memory
Address
Control Unit
set
Equal
set
e
11000111
Instruction
s
Triggers Jump
s
e
Instruction
Address
set RAM
enable RAM

107.

00001001
set
00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
00001001
e
s
AND
Jump If
Equal
enable
s
e
00000010
s
e
s
Memory
Address
Control Unit
set
Equal
set
e
11000111
Instruction
s
Triggers Jump
s
e
Instruction
Address
set RAM
enable RAM
Next Piece of Data
from RAM

108.

00001001
set
00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
00001001
e
s
AND
Jump If
Equal
enable
s
e
00000010
s
e
s
Memory
Address
Control Unit
set
Equal
set
e
11000111
Instruction
s
Triggers Jump
s
e
Instruction
Address
set RAM
enable RAM
Next Piece of Data
from RAM

109.

00001001
set
00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
00001001
e
s
AND
Jump If
Equal
enable
s
e
00000010
s
e
s
Memory
Address
Control Unit
set
Equal
set
e
11000111
Instruction
s
Triggers Jump
s
e
Instruction
Address
set RAM
enable RAM
Next Piece of Data
from RAM

110.

00001001
set
00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
set
enable
00001001
e
s
e
11000111
s
e
00000010
s
e
s
Memory
Address
Control Unit
set
Instruction
s
s
e
Instruction
Address
set RAM
enable RAM

111.

00001001
set
00001001
s
Arithmetic
Logic
Unit
(ALU)
11000111
Flags
00001001
e
s
e
11000111
s
e
00000010
s
e
s
Memory
Address
Control Unit
set
control wires
to Keyboard,
Display, etc
set
enable
Instruction
s
s
e
Instruction
Address
set RAM
enable RAM

112.

Temporary
Arithmetic
Logic
Unit
(ALU)
Register
Register
Register
Register
Control Unit
Flags
Instruction
Instruction
Address
Register
Memory
Address

113.

Arithmetic
Logic
Unit
(ALU)
Control Unit

114.

Arithmetic
Logic
Unit
(ALU)
Control Unit

115.

116.

Motherboard
address
bus
control
bus
Scott
CPU
address
control
bus
set
RAM
RAM
256
enable BYTES
set
enable
data
bus
RAM
socket
data

117.

Motherboard
address
bus
control
bus
Scott
CPU
address
control
bus
set
RAM
RAM
256
enable BYTES
set
enable
data
bus
RAM
socket
data

118.

Motherboard
address
bus
control
bus
Scott
CPU
address
control
bus
set
RAM
RAM
256
enable BYTES
set
enable
data
bus
RAM
socket
data

119.

Motherboard
address
bus
control
bus
Scott
CPU
address
control
bus
set
RAM
RAM
256
enable BYTES
set
enable
data
bus
RAM
socket
data

120.

Motherboard
address
bus
control
bus
Scott
CPU
address
control
bus
set
RAM
RAM
256
enable BYTES
set
enable
data
bus
RAM
socket
data

121.

122.

123.

124.

>>> GuessingGame.exe
Guess a number between 1 and 10:
9
You Guessed Correctly!
`
Tab
1
Caps
Lock
Shift
Ctrl
Alt
Q
A
Z
2
W
S
X
3
E
D
C
4
R
F
V
5
T
G
B
6
Y
H
N
7
U
J
M
8
I
K
,
9
O
L
.
Alt
0
P
;
/
Ctrl
-
[

=
]
Enter
Shift
\

125.

Whatever you do,
work at it with all your heart,
as working for the Lord,
not for human masters
Colossians 3:23

126. http://visual6502.org/JSSim/expert.html

English     Русский Правила