Documente Academic
Documente Profesional
Documente Cultură
ITEC 1000
LMC Counterparts
Format of Midterm
4 LMC questions
similar in style to those in the book and the slides.
ALU
Input/output
interface
00
01
02
03
04
05
123
Control unit
Program counter
p. 167
ITEC 1000
Program Counter ( PC )
Registers
A register is a single permanent storage location
within the CPU used for a particular purpose.
Unlike memory, which is outside the CPU
Examples of registers:
123
05
95
96
97
98
99
789
ITEC 1000
123
500
199
500
399
Instruction Register ( IR )
Memory registers
Op Code
What To Do
Address
Location of Data
1101 101101100100
ITEC 1000
Memory Unit
n bits
Accumulator
bit 0
0
1
2
3
4
Address decoder
bit 1
2n-1
bit n - 1
0
m-1
MDR
ITEC 1000
Calculator in LMC
Memory cell
MAR
m bits
p. 160
ITEC 1000
Fetch-Execute Cycle
Program Counter ( PC )
Instruction Register ( IR )
Memory Address Register ( MAR )
Memory Data Register ( MDR )
Memory
Accumulator ( A or Acc )
Fetch
Execute
time
ITEC 1000
ITEC 1000
Fetch
PC
MAR
MDR
IR
Fetch
MDR
MAR
Execute
IR
A + MDR
PC + 1
PC
MAR
time
A
PC
MAR
IR[address]
time
PC + 1
PC
MDR
IR[address]
Execute
ITEC 1000
Location 31
PC:
00101
IR:
(previous)
MAR: (previous)
15: 00001010
MDR: (previous)
Then ...
A:
(previous)
06: 01001111
Location 0
ITEC 1000
ITEC 1000
Increment PC: PC = PC + 1
Location 31
PC:
00110
PC:
00110
IR:
(previous)
IR:
(previous)
MAR: (previous)
15: 00001010
MDR: (previous)
A:
(previous)
MAR: 00110
MDR: (previous)
06: 01001111
A:
(previous)
Location 0
ITEC 1000
15: 00001010
06: 01001111
Location 0
ITEC 1000
Location 31
PC:
00110
PC:
00110
IR:
(previous)
IR:
(previous)
MAR: 00110
15: 00001010
MAR: 00110
MDR: (previous)
A:
(previous)
MDR: 01001111
06: 01001111
A:
(previous)
Location 0
ITEC 1000
Location 31
PC:
00110
PC:
00110
IR:
01001111
IR:
01001111
15: 00001010
MAR: 01111
MDR: 01001111
A:
(previous)
06: 01001111
A:
(previous)
Location 31
PC:
00110
PC:
00110
IR:
01001111
IR:
01001111
15: 00001010
MAR: 01111
MDR: 01001111
A:
(previous)
15: 00001010
MDR: 00001010
06: 01001111
A:
(previous)
Location 0
ITEC 1000
06: 01001111
Location 0
ITEC 1000
MAR: 01111
15: 00001010
MDR: 01001111
Location 0
ITEC 1000
06: 01001111
Location 0
ITEC 1000
MAR: 00110
15: 00001010
06: 01001111
Location 0
ITEC 1000
Finished !
Location 31
PC:
00110
PC:
00110
IR:
01001111
IR:
01001111
MAR: 01111
15: 00001010
MAR: 01111
MDR: 00001010
A:
00001010
MDR: 00001010
A:
06: 01001111
00001010
Location 0
ITEC 1000
15: 00001010
Location 0
ITEC 1000
06: 01001111
PC = PC + 1
Now:
Assume:
Location 31
PC:
00111
IR:
01001111
MAR: 01111
18: 01000111
15: 00001010
MDR: 00001010
A:
Then ...
00001010
07: 10110010
06: 01001111
Location 0
ITEC 1000
ITEC 1000
PC -> MAR
PC:
00111
IR:
01001111
MAR: 00111
Location 31
PC:
00111
18: 01000111
IR:
01001111
15: 00001010
MAR: 00111
MDR: 00001010
A:
00001010
15: 00001010
MDR: 00001010
07: 10110010
06: 01001111
A:
00001010
Location 0
ITEC 1000
18: 01000111
07: 10110010
06: 01001111
Location 0
ITEC 1000
MDR -> IR
Location 31
PC:
00111
IR:
01001111
MAR: 00111
Location 31
PC:
00111
18: 01000111
IR:
10110010
15: 00001010
MAR: 00111
MDR: 10110010
A:
00001010
A:
00001010
00111
IR:
10110010
MAR: 10010
Location 31
PC:
00111
18: 01000111
IR:
10110010
15: 00001010
MAR: 10010
MDR: 10110010
A:
00001010
A:
00001010
IR:
10110010
MAR: 10010
PC:
00111
18: 01000111
IR:
10110010
15: 00001010
MAR: 10010
MDR: 01000111
A:
00001010
18: 01000111
15: 00001010
MDR: 01000111
07: 10110010
06: 01001111
A:
01010001
Location 0
ITEC 1000
07: 10110010
06: 01001111
Location 31
00111
15: 00001010
Location 0
ITEC 1000
PC:
18: 01000111
MDR: 10110010
07: 10110010
06: 01001111
Location 0
ITEC 1000
07: 10110010
06: 01001111
Location 0
ITEC 1000
PC:
15: 00001010
MDR: 10110010
07: 10110010
06: 01001111
Location 0
ITEC 1000
18: 01000111
07: 10110010
06: 01001111
Location 0
ITEC 1000
What To Do
Location of Data
3 25
ITEC 1000
ITEC 1000
ITEC 1000
ITEC 1000
Operands
The sources and destinations of data for an
instruction whether implicit or explicit are
also known as operands
Explicit address fields are known as
operand fields
ITEC 1000
Classification of instructions
Data movement instructions (LOAD, STORE, and
others)
Most frequently used, include instruction to move data
from memory to general registers, from general
registers to memory, between different general registers
Classification of instructions
Boolean logic instructions
Example: NOT, AND , OR instructions
Arithmetic instructions
There may be several different integer arithmetic
instruction formats providing various combinations of
register and memory access in different addressing
modes
ITEC 1000
ITEC 1000
Classification of instructions
Page 192
ITEC 1000
ITEC 1000
Stack instructions
10011001
-103
11001100
-52
11100110
-26
11110011
-13
Stack instructions
ITEC 1000
ITEC 1000
others
Introduction to Information Technologies
Using a Stack