Assignment 5 CS
Assignment 5 CS
Assignment 5
Anonymous
Science Computing
CS 1104-01 - AY2024-T4
For the Unit 5 assignment, I want you to assume that you are writing an instructional
paper in which you must describe the processing and interdependencies of the following
Figure 1.
A complex processor.
Figure 2.
Figure 3.
Figure 4.
Control codes
6
Processor
ALU is a digital circuitry that provides arithmetic, mathematical and logic operations.
This is the fundamental building part of the central processing unit of a PC. A modern central
processing unit has a powerful ALU and this is complex in design. In addition, to ALU
modern CPU has a control unit and a big as possible set of registers. Most of the operations
are made true by one or more ALUs that upload data from the available input register.
Registers are not many amounts of storage available to the CPU because it makes the
machine expensive. These registers can be very fast. The control unit informs ALU what
operation to do on the data. After performing calculation, the ALU keeps the output in a
Instruction Decoder
instruction and breaking it into groups of data that are then passed on to other
units in the CPU. These groupings fall into the following basic types:
Specific register types (e.g., Rd, Rn, Rm, Rs) that contain the register
number to use for these registers (e.g., 0b0000 for r0, 0b0001 for r1); Numeric
data, such as the Immediate and ShAmt values. Note that the numeric values
or 12 bits depending on the type of instruction. For these values, the maximum
number of bits (5 bits for the ShAmt and 12 bits for the Immediate) will be
7
sent to the other CPU units, and those units are responsible for proper
processing the data; Control data, bits that indicate to the CPU the type of
instruction, will be forwarded to the CU, ALU, and barrel shifter to properly
set up the CPU to handle the instruction. While these units are the heart of the
Memory, which retrieves the 32- bit instruction from Text Memory, and the
rest of the CPU which will use the parts of the instruction. A black box
Decoder unit is shown in Figure 31. The input is the 32-bit instruction, and the
outputs are the numeric Immediate and ShAmt values, the Rd, Rm, Rn, and Rs
Figure 31.
stages. The first iteration will use a splitter to break the instruction into 32
8
separate wires and then to create register number output to forward to the
Register Bank.
formats of all the Address instructions. The Register Instruction uses all the
Figure 32.
Register Instruction
This instruction shows where each of the register numbers that occur in
all instructions, generally called Rd, Rm, Rn, and Rs, are located in the
(such as Rt for the and str instructions), and some instructions use other
register conventions (such as the instruction that swaps Rd and Rn). However,
instructions being processed to know how to handle them, and since the
Decoder unit has no way to know the instruction type, the register identifiers
in the register instruction shown above will still be used. The responsibility for
of the downstream processing units, in this case the Register Bank. The
decoder simply moves 4 bits from a specified position in the instruction to the
4-bit output value. In this case, bits 0-3 are moved to the Rm output, bits 8-11
9
are moved to the Rs output, bits 12-15 are moved to the Rd output, and bits
16-19 are moved to the Rn output. This is shown in the first iteration of the
Decoder below.
Figure 33.
The next iteration of the decoder will process the output to the
Immediate and the ShAmt. To see where these numeric values occur in a
instruction bits 7...11, and the maximum immediate value is instruction bits
0...11.
Figure 35.
Once again there are anomalous conditions where the ShAmt and
Immediate value are different sizes depending on the instructions. Again, the
largest value is parsed from the input, and the downstream CPU units are
Note that both the ShAmt and Immediate have wires that overlap the
wires for the registers. This does not cause any problems as the overlap occurs
for different instructions, thus the values for the registers and immediate
values are always correct for the instruction being executed. Again, since the
many bits to put on the output wires, it will always provide the maximum
number of bits to these values, relying on other units to adjust to the proper
Figure 36.
Finally, the control information needs to be forwarded. For now, all the
control information is just grouped together and sent to a single output port.
Figure 37.
Final implementation.
The Clock makes sure that a variety of circuits inside a computer work jointly at the
same time. The Clock speed is measured by how many ticks(pulses) per minute it makes. The
hertz (Hz, unit of measurement), which is standardized one cycle per second( University
program counter is important because it permits the central processing unit to fetch
guidelines from memory in a sequential mode. Keeping track of the current guidelines’
address, the Counter makes sure that the CPU knows which guidelines to fetch next(Lenovo,
n.d).
operations in a for a computer. They are stored in the memory together with information.
They can be classified in two elements as operation codes and addresses. Operations
codes specify the operation(surely) for some instructions. An address code determines the
registers or the places that can be used for. It is 12 bits of memory that are needed to define
the address if the memory includes 4096 words. The 15th bit of the guideline determines the
addressing mode (where direct addressing is 0, indirect addressing is 1). Hence, the
instruction includes 12 bits of address and 1 bit for the addressing mode, 3 bits are kept for
Control Unit
The control unit informs ALU what operation to do on the data. “Video games,
interactive video installations, virtual reality, and computer-based art.”( Smuts, 2009, p. 2).
“The function of the control unit of an electronic digital computer is to provide the
sequences of pulses, which, when applied to the store, arithmetic unit and other units of the
machine, cause the orders of the programme to be executed. In one group of systems the
13
order code is determined by the arrangement of diodes in a diode matrix, and in another by
the appropriate threading of wires through a matrix of ferrite cores”( Wilkes et al, 1958, p.1).
Figure 38.
References
14
format/headings
https://www.lenovo.com/us/en/glossary/program-counter/?orgRef=https%253A
%252F%252Fwww.google.com%252F
https://www.geeksforgeeks.org/introduction-of-alu-and-data-path/
Nisan, N., & Schocken, S. (2005). The elements of computing systems. MIT Press.
https://dn790008.ca.archive.org/0/items/TheElementsOfComputingSystems_2014
08/The%20Elements%20of%20Computing%20Systems.pdf
https://eng.libretexts.org/Bookshelves/Computer_Science/Programming_Languages/
Introduction_to_Assembly_Language_Programming%3A_From_Soup_to_Nuts
%3A_ARM_Edition_(Kann)/06%3A_New_Page/6.01%3A_New_Page#title
SMUTS, A. (2009). What Is Interactivity? The Journal of Aesthetic Education, 43(4), 53–
73. http://www.jstor.org/stable/25656247
http://faculty.etsu.edu/tarnoff/138292/
codes-and-operands-in-computer-architecture
Wilkes, V. Renwick, Wheeler D. J. (1958). The design of the control unit of an electronic
https://kb.iu.edu/d/aekt