Uploaded by Yogi Mundhra

CS 122 Assignment

advertisement
A computer should be capable of executing following instructions:
Instruction Set (38 instructions) for the Single-Bus Processor Architecture
Sl.No. Instruction
Action
Op Code
1 NOP
No action
00
2 STP
01
Exit the program ( JUD 00)
3 JUD xx
02
[PC]  xx
4 JUP xx
03
[PC]  [PC] + xx
5 CUD xx
04
[SP]  [SP]–1, [[SP]] [PC], [PC]  xx
6 CUP xx
05
[SP]  [SP]–1, [[SP]] [PC], [PC]  [PC] + xx
7 RTU
06
[PC][[SP]], [SP][SP]+1
8 Unused
07
9 JUR <rn>
08-0F
[PC]  <rn>
10 JCD<fl> xx
10-17
[PC]  xx if <fl> = 1
11 JCA<fl>
18-1F
[PC]  [AR] if <fl> = 1
12 CUR <rn>
20-27
[SP]  [SP]–1, [[SP]] [PC], [PC]  [<rn>]
13 CCD<fl> xx
[SP]  [SP]–1, [[SP]] [PC], [PC]  xx if <fl> = 1 28-2F
14 CCA<fl>
[SP]  [SP]–1, [[SP]] PC], [PC]  [AR] if <fl> = 1 30-37
15 RTC<fl>
38-3F
[PC][[SP]], [SP][SP]+1 if <fl> = 1
16 PSH <rn>
40-47
[SP]  [SP]–1, [[SP]]  [<rn>]
17 POP <rn>
48-4F
[<rn>]  [[SP]], [SP]  [SP]+1
18 MVA <rn>
50-57
[<rn>]  [AR]
19 MVR <rn>
58-5F
[AR]  [<rn>]
20 MVI <rn> xx [<rn>]  xx
60-67
21 STA <rn>
68-6F
[[AR]]  [<rn>]
22 STD <rn>] xx [xx]  [<rn>]
70-77
23 LDA <rn>
78-7F
[<rn>]  [[AR]]
24 LDD <rn> xx [<rn>]  [xx]
80-87
25 NOT <rn>
88-8F
[<rn>]  [<rn>]’
26 INC <rn>
90-97
[<rn>]  [<rn>] + 1
27 DCR <rn>
98-9F
[<rn>]  [<rn>] – 1
28 ADA <rn>
A0-A7
[AR]  [AR] + [<rn>] + CY
29 SBA <rn>
A8-AF
[AR]  [AR] – [<rn>] - CY
30 XRA <rn>
B0-B7
[AR]  [AR]  [<rn>]
31 ANA <rn>
B8-BF
[AR]  [AR]  [<rn>]
32 ORA <rn>
C0-C7
[AR]  [AR]  [<rn>]
33 ADI <rn> xx [<rn>]  [<rn>] + xx
C8-CF
34 SBI <rn> xx [<rn>]  [<rn>] - xx
D0-D7
35 XRI <rn> xx [<rn>]  [<rn>]  xx
D8-DF
36 ANI <rn> xx [<rn>]  [<rn>]  xx
E0-E7
37 ORI <rn> xx [<rn>]  [<rn>]  xx
E8-EF
38 RRC <rn>
F0-F7
Rotate [<rn>] right with CY  LSB
39 RLC <rn>
F8-FF
Rotate [<rn>] left with CY  MSB
<rn> is a placeholder in Instructions using a register: <rn>= R0/R1/R2/R3/R4/R5/R6/R7.
xx represents an instruction operand (number in Hex code) following the Op Code.
<fl> is a placeholder in Branch instructions: <fl> = Z / NZ / C / NC / P / M / PO / PE implies
that the selected flag FL = Z / Z’ / CY / CY’ / S / S’ / Parity Odd / Parity Even.
One architecture was discussed in the course (shown below) which is capable of executing above
instructions.
Architecture based on a Single Internal Data Bus
ESM
LSM
Data
Bus
Operand
Register (OR)
Stack
(SM)
EOR
ROR
LOR
Stack Address
ESP
ISP
DSP
LSP
A
Flags
EPC
IPC
LPC
Program
Counter (PC)
SAF
ALU
Accumulator
(AR)
PM Address
EPM
B
CI
Stack Pointer
(SP)
EAR
RAR
LAR
DM Address
Program
Memory (PM)
Data I/O &
Memory (DM)
EDM
LPM
LIR
Instruction
Register (IR)
Register Array
(RG)
ERG
LDM
LRG
SRG
SFL
RMS
Control Unit
(Microinstruction
Sequence
Generator)
Selected
Flag FL
(FL = 0 if
EFL = 0)
Flag Register
EFL
Microinstruction (Control Signals to all the Modules)
Nomenclature:
EXY : Enables the Output of the module XY on to the Data Bus;
LXY : Enables the Data Input applied to module XY to be loaded into the module at the next Active Clock edge;
IPC, ISP, DSP : Enable Incrementing PC, Incrementing SP and Decrementing SP at the next Active Clock edge;
SXY : Function Select bits for module XY; R0R / RAR : Clears the register OR / AR.
The ALU has 16 functions (4-bit Select SAF):
10 Logic functions A, B, A’, B’, A OR B, (A OR B)’, A AND B, (A AND B)’, A XOR B, (A XOR B)’;
6 Arithmetic functions A + 1, A − 1, A + B + C, A – B – C, 2*A (left shift, C  MSB), A/2 (right shift, C  LSB).
The ALU generates 4 flags – Zero (Z), Carry (C), Sign (S), Parity (P). Flags are not affected by the Unary Logic
functions. Only the C flag is affected by the Shift functions. All flags are affected by the other ALU functions.
The Microinstruction Sequence Generator is Reset, resulting in the next FETCH if RMS = 1 AND FL = 0,
where FL is the FLAG selected by SFL, subject to the condition EFL = 1, i.e. EITHER if the selected FLAG is NOT
set OR if no FLAG is selected (EFL = 0).
You are required to modify that architecture to:
a. Propose a Von Neumann architecture for this Computer.
b. Design the ALU of this processor which can perform addition, subtraction and logical functions as
shared in the above table. Consider the memory can store data of 4 bits (i.e. A of 4 bit and B of 4
bit) only.
c. Execute instruction # 4, 16, 18, 32 & 37 in the proposed architecture. Show the microinstruction
in every clock cycle.
d. Can a processor be designed using Von Neumann architecture supporting parallel processing
using Arithmetic and/or Instruction pipeline? If yes, then propose the changes (in both cases:
Arithmetic and Instruction pipeline) required in the architecture proposed in step a.
e. To remove the resource conflict which may arise due to parallel processing, which hardware
solution that you would like to propose?
Instructions:
1.
2.
3.
4.
5.
6.
7.
8.
It is an open resource assignment therefore you may refer any book/notes/internet resource.
The assignment carries 10 marks. Individual sub question carries 2 marks of weightage.
All assumptions in proposing the design must be mentioned in the first page of response sheet.
It is an open-ended design problem therefore may have multiple answers depending on chosen
design approach.
Use your imagination to propose the design. You are free to choose any hardware in designing
and proposing this architecture.
Collaboration among students is allowed but if found that two or more students have submitted
the same answers then zero marks will be awarded to all such students.
You are required to submit your answers in one pdf file on or before July 15, 2020 (6 PM) after
which your response will not be considered for evaluation and therefore any such defaulter will
get zero marks in this evaluation component.
The file needs to be uploaded on https://exam.niituniversity.in/ only.
Related documents
Download