Computer Organization and Architecture
Computer Organization and Architecture
Computer Organization comes after the decision of Computer Architecture first. Computer Organization is
how operational attributes are linked and contribute to realizing the architectural specification. Computer
Organization deals with a structural relationship.
.
No. Computer Architecture Computer Organization
1. Architecture describes what the computer does. The Organization describes how it does it.
Computer Architecture deals with the functional behavior Computer Organization deals with a structural
2. of computer systems. relationship.
In the above figure, it’s clear that it deals with high-level In the above figure, it’s also clear that it deals
3. design issues. with low-level design issues.
As a programmer, you can view architecture as a series of The implementation of the architecture is called
5. instructions, addressing modes, and registers. organization.
Computer Architecture is also called Instruction Set Computer Organization is frequently called
7. Architecture (ISA). microarchitecture.
.
No. Computer Architecture Computer Organization
The different architectural categories found in our CPU organization is classified into three
computer systems are as follows: categories based on the number of address
fields:
1. Von-Neumann Architecture
2. Harvard Architecture 1. Organization of a single
3. Instruction Set Architecture Accumulator.
4. Micro-architecture 2. Organization of general registers
9. 5. System Design 3. Stack organization
Architecture coordinates the hardware and software of Computer Organization handles the segments of
11. the system. the network in a system.
HEXADECIMAL 0 1 2 3 4 5 6 7 8 9 A B C D E F
DECIMAL 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Now, to implement the micro operation, the contents of specified registers are allocated in the inputs of the
common Arithmetic Logic Unit. The Arithmetic Logic Unit performs an operation that leads as a result and
gets transferred to a destination register. Arithmetic Logic Unit may be a combinatory circuit in order that the
complete register transfer operation from the supply registers through the ALU and into the destination
register is performed throughout one clock pulse amount. Sometimes, the shift micro operations are
performed in a separate unit, but sometimes it is made as a part of full ALU.
One stage of ALSU
We can combine and make one ALU with common selection variables by adding arithmetic, logic, and shift
circuits. We can see the, One stage of an arithmetic logic shift unit in the diagram below. Some particular
micro operations are selected through the inputs S1 and S0.
4 x 1 multiplexer at the output chooses between associate arithmetic output between Ei and a logic output in
Hi. The data in the multiplexer are selected through inputs S3 and S2 and the other two data inputs to the
multiplexer obtain the inputs Ai – 1 for the shr operation and Ai + 1 for the shl operation.
Note: The output carry Ci + 1 of a specified arithmetic stage must be attached to the input carry Ci of the next
stage in the sequence.
The circuit whose one stage is given in the below diagram provides 8 arithmetic operations, 4 logic
operations, and 2 shift operations, and Each operation is selected by the 5 variables S3, S2, S1, S0, and Cin.
Q4.What is the bus ? also explain the bus architecture with details.
In computer organization and architecture, a bus refers to a communication system that transfers data between
components within a computer or between computers. It serves as a pathway for transmitting signals and data
between various components such as the CPU (Central Processing Unit), memory, input/output devices, and other
peripherals.
1. Address Bus: The address bus is responsible for carrying memory addresses generated by the CPU. It
determines which memory location is being read from or written to. The width of the address bus
determines the maximum memory capacity that can be addressed by the CPU. For example, a 16-bit
address bus can address up to 2^16 (64K) memory locations.
2. Data Bus: The data bus is used for transferring data between the CPU, memory, and other devices. It
carries the actual data being processed or transferred. The width of the data bus determines the amount
of data that can be transferred in parallel. For example, a 32-bit data bus can transfer 32 bits of data
simultaneously.
3. Control Bus: The control bus carries control signals that coordinate and synchronize the activities of
various components within the computer system. It includes signals such as read/write signals, interrupt
signals, clock signals, and bus control signals.
To convert the integer part (166) into binary: 166 ÷ 2 = 83 remainder 0 83 ÷ 2 = 41 remainder 1 41 ÷ 2 = 20
remainder 1 20 ÷ 2 = 10 remainder 0 10 ÷ 2 = 5 remainder 0 5 ÷ 2 = 2 remainder 1 2 ÷ 2 = 1 remainder 0 1 ÷ 2
= 0 remainder 1
To convert the fractional part (0.125) into binary: 0.125 * 2 = 0.25 (0) 0.25 * 2 = 0.5 (0) 0.5 * 2 = 1.0 (1)
To convert the integer part (1110010)2 into octal: Group the binary digits into groups of three from the right:
(1)(110)(010)
To convert the fractional part (0.101)2 into octal: Multiply the fractional part by 8 and separate the integer part of
the result: 0.101 * 8 = 0.65625 The integer part is 0.
Q6. Explain the Differences between Combinational and Sequential circuits with
suitable examples.
Combinational circuits are defined as the time independent circuits which do not depends upon previous
inputs to generate any output are termed as combinational circuits. Sequential circuits are those which are
dependent on clock cycles and depends on present as well as past inputs to generate any
output. Combinational Circuit –
1. In this output depends only upon present input.
2. Speed is fast.
3. It is designed easy.
4. There is no feedback between input and output.
5. This is time independent.
6. Elementary building blocks: Logic gates
7. Used for arithmetic as well as boolean operations.
8. Combinational circuits don’t have capability to store any state.
9. As combinational circuits don’t have clock, they don’t require triggering.
10. These circuits do not have any memory element.
11. It is easy to use and handle.
Examples – Encoder, Decoder, Multiplexer, Demultiplexer Block Diagram –
Sequential Circuit –
1. In this output depends upon present as well as past input.
2. Speed is slow.
3. It is designed tough as compared to combinational circuits.
4. There exists a feedback path between input and output.
5. This is time dependent.
6. Elementary building blocks: Flip-flops
7. Mainly used for storing data.
8. Sequential circuits have capability to store any state or to retain earlier state.
9. As sequential circuits are clock dependent they need triggering.
10. These circuits have memory element.
11. It is not easy to use and handle.
It is ancient computer architecture based on stored It is modern computer architecture based on Harvard Mark
program computer concept. I relay based model.
Same physical memory address is used for instructions Separate physical memory address is used for instructions
and data. and data.
CPU can not access instructions and read/write at the CPU can access instructions and read/write at the same
same time. time.
It is used in personal computers and small computers. It is used in micro controllers and signal processing.
Q8. What is the register transfer language explain with details?
Register Transfer Language (RTL) is a type of high-level description language used to specify the operations and
data transfers that occur within a digital system at the register transfer level. It serves as an abstraction that
describes the flow of data between registers and the operations performed on that data within a digital system.
RTL is commonly used in digital design and hardware description languages (HDLs) such as Verilog and VHDL to
design and describe digital circuits and systems.
1. Registers: In RTL, the primary components are registers, which are temporary storage elements capable
of holding binary data. Registers can hold data such as binary numbers, control signals, or addresses.
Each register has a unique name and width (number of bits).
2. Data Transfer: RTL describes how data is transferred between registers in a digital system. It specifies
operations such as loading data into registers, transferring data between registers, and storing data from
registers into memory or output devices. Data transfers in RTL are typically represented using
assignment statements or transfer operations.
3. Operations: RTL describes the operations performed on data as it moves between registers. These
operations include arithmetic operations (addition, subtraction, multiplication, division), logical
operations (AND, OR, NOT, XOR), shifting operations (left shift, right shift), and comparison operations
(equality, inequality). RTL also includes control operations such as conditional branching and looping
constructs.
4. Timing: RTL may include timing information to specify the sequence and timing of data transfers and
operations within a digital system. Timing constraints ensure that data is transferred and processed
correctly according to the system's clock cycle and timing requirements.
5. Hierarchy: RTL can describe the hierarchical structure of a digital system by organizing registers and
operations into modules or blocks. Modules represent functional units within the system, and RTL
describes how data flows between these modules at the register transfer level. Hierarchical RTL design
allows for modularity, reusability, and easier verification of complex digital systems.
6. Verification and Simulation: RTL descriptions can be simulated and verified using specialized software
tools called simulators. Simulation allows designers to validate the functionality and performance of a
digital system described in RTL before implementing it in hardware. Design errors and performance
issues can be identified and corrected early in the design process through RTL simulation.
Q9. Convert the (83.5)10 number into floating point representation with IEEE-754 single
precision format.
The concept of a bus can be likened to a highway where data travels between different destinations within the
computer system. It consists of several parallel electrical lines, each capable of carrying a single bit of data,
control signals, and addresses. Buses can vary in width, determining the number of bits that can be transferred
simultaneously.
1. Data Bus: The data bus carries data between the CPU, memory, and input/output devices. It is bi-
directional, allowing data to flow in both directions.
2. Address Bus: The address bus carries memory addresses generated by the CPU. It specifies the location
in memory where data is read from or written to.
3. Control Bus: The control bus carries control signals that coordinate and synchronize the activities of
various components within the computer system. It includes signals such as read/write signals, interrupt
signals, clock signals, and bus control signals.
Memory transfer, on the other hand, refers to the process of transferring data between the CPU and memory. This
process typically involves the following steps:
1. Addressing: The CPU generates a memory address specifying the location in memory from which data
should be read or to which data should be written. This address is sent over the address bus.
2. Read/Write Operation: Depending on the instruction being executed, the CPU sends a control signal
indicating whether it wants to read data from memory or write data to memory. This control signal is
sent over the control bus.
3. Data Transfer: If it's a read operation, the data stored at the specified memory address is retrieved from
memory and sent back to the CPU over the data bus. If it's a write operation, the CPU sends the data to
be written to memory over the data bus.
4. Acknowledgment: Once the data transfer is complete, the CPU may receive an acknowledgment signal
from the memory indicating the success or failure of the operation.