Question: Determine the memory structure used in your computer architecture. You may choose to have a unified memory for both data and instructions or you may
Determine the memory structure used in your computer architecture.
You may choose to have a unified memory for both data and instructions or you may prefer a separate memory for each.
Determine the size of your proposed memory. .
Determine what instructions can access the memory and how.
In the previous milestone, you determined all the instructions that can be handled in the proposed computer architecture. In this milestone, determine what instructions can access the memory and how.
Determine the cache levels.
You may choose to have one or more cache levels. In each cache level, you have to determine if this level is a unified or a separate cache for both data and instructions. In addition, you have to select the cache size for each level.
Determine how cache works.
Determine how to locate a block in the cache, and how to choose a block to be replaced from the cache.
What I have so far is:
Processor architecture and instruction set:
1. Determine the processor components and the characteristics for each component.
In any computer system, the most essential component is the processor or the CPU (Central Processing
Unit), which is also commonly referred to as the microprocessor. The most important parts of the CPU
are:
a) ALU (Arithmetic and Logic Unit): This is the brain of the microprocessor. The ALU performs basic
arithmetic calculations like adding, subtracting, multiplication and division of figures and it also
performs logical operations like comparison of figures.
b) Control Unit: This component controls all the functions that take place inside the processor itself. It
instructs the ALU on which arithmetic and logical operation is to be performed. It acts under the
direction of the system clock and sorts out all the internal data paths inside the processor to make sure
that data gets from the right place and goes to the right place.
2. Determine how many registers there are in your computer architecture.
In the proposed processor, there are 32 registers. 12 A-Type and 10, 10 B and C Type.
3. Determine the instructions that your proposed processor can handle.
a) Read and write data from hardware devices
b) Copy data from one to another memory location
c) Transfer data
d) Perform arithmetic operations
e) Perform bitwise operations
f) Compare two values
g) Saving registers on stack
h) Perform complicated arithmetic operations
i) Handling input devices
j) Handling output devices
4. Determine the instruction size.
There are various parts of the instructions such as:
a) opcode
b) destination registers
c) source registers
d) shift amount
e) function
Instruction type and format:
1. Determine how many instruction types your processor will support.
There are various instructions types that support the processors. These instruction are of fixed width of
32 bits. The instructions are:
a) J-Type Instructions: This refers to the jump type instructions.
b) R-Type Instructions: This refers to the register type instructions.
c) I-Type Instructions: This refers to the immediate type instructions.
2. Determine the format of each type.
a) J-Type Instructions format:
B25 to B0 ---> Target
B26 to B31 ---> opcode (refers to operation code)
b) R-Type Instructions format:
B5 to B0 ----> Function (refers to the operation)
B6 to B10 ---> Shift (refers to amount of shift)
B11 to B15 ---> Register d (Its first source register)
B16 to B20 ---> Register t (Its a second source register)
B21 to B25 ---> Register s (its a destination register having result of operations)
B26 to B31 ---> opcode (refers to operation code)
c) I-Type Instructions format:
B15 to B0 ----> Immediate
B16 to B20 ---> Register t
B21 to B25 ---> Register s
B26 to B31 ---> opcode (refers to operation code)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
