0% found this document useful (0 votes)
35 views8 pages

Computer Organization Assignment Overview

The document outlines assignments for a Computer Organization course at GLA University, covering various topics including Von Neumann architecture, floating-point representation, arithmetic operations, and digital circuit design. Students are tasked with practical applications such as programming robots, designing microprocessors, and implementing algorithms like Booth's for multiplication. The assignments emphasize both theoretical understanding and hands-on design skills in computer engineering.

Uploaded by

1aryanbxr
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views8 pages

Computer Organization Assignment Overview

The document outlines assignments for a Computer Organization course at GLA University, covering various topics including Von Neumann architecture, floating-point representation, arithmetic operations, and digital circuit design. Students are tasked with practical applications such as programming robots, designing microprocessors, and implementing algorithms like Booth's for multiplication. The assignments emphasize both theoretical understanding and hands-on design skills in computer engineering.

Uploaded by

1aryanbxr
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

GLA University, Mathura

Department of Computer Engineering and Applications


Subject: Computer Organization
Subject Code: BCSC1005
Submission deadline: September 25, 2025

Assignment 1.1 (Module I)

1. A software developer is designing a new program that requires frequent access to both
instructions and data during its execution.
How does the Von Neumann architecture facilitate the seamless integration of instructions
and data in a way that enables efficient program execution? Provide specific examples to
illustrate its advantage in programming.

2. Determine the floating-point numbers from the following Hexadecimal representation:


(i) 419C0000 H

(ii) C059700000000000 H

3. Suppose a robotics engineer is working on programming a robot's movement. The robot


can move forward and backward in a grid pattern depending on the control commands. The
robot’s initial position is recorded at the 35th grid in an 8-bit processor. Compute the net
movement of the robot if it follows the following commands.

Command 1: Move the robot forward by +45 units.


Command 2: Move the robot backward by -92 units.

4. An electrical engineer is designing a data acquisition system for a precision measurement


application. The system requires representing a floating-point number in both single and
double precision using the IEEE 754 standard.
In the data acquisition system, the engineer needs to convert the decimal number -307.1875
& +75.213 into IEEE 754 single and double precision hexadecimal notation. Perform the
conversion and provide the resulting hexadecimal representations for both single and
double precision formats.
5. Differentiate
i. Multiplexer and Demultiplexer
ii. Binary adder and CLA
iii. Memory read and Memory write
iv. Full Adder and Full Subtractor
The following transfer statements specify a memory. Explain the memory operation in each
case.
i. R2 ← M[AR]
ii. M[AR] ← R3
iii. R5 ← M[R5]
6. Imagine a customer adds multiple items to their shopping cart. How would you use a stack
to manage the cart items efficiently, ensuring that the last item added is the first one
removed when the customer proceeds to checkout? Explain PUSH and POP operations.
Convert the following arithmetic expression into reverse polish notation (RPN) and show
the stack operations for evaluating it.
a) 7 * 5 + (5 + 6) + (4 * 6 + 2)
b) 5 + 10 * 6 + (3 + 5) + 7 * (6 + 2)
c) 8 * 3 + (4 + 8) + (4 * 7 + 2) + 2 + 3
d) (A + B) * C - (D - E) * (F + G)
e) (((110/ (30-8))*50)+5)-((15/(10-5))*2)
(10+3)[2∗3+(3∗9/3)]
f) 6−3+(4∗3)

7. A computer architecture researcher is investigating the efficiency of different multiplication


algorithms for signed numbers. In the research study, the researcher wants to explore the
performance of Booth's algorithm for the multiplication of two signed numbers represented
in 2’s complement. Multiply -9 and -13 using Booth's algorithm, and store the result in the
register.
8. Suppose you are building a basic microprocessor with eight 4-bit registers (labeled R0
through R7) that need to share data. Design a circuit using a common 4-bit bus, where a 3-
bit select signal determines which register's binary content is transferred onto the bus.
Include components like multiplexer and label all parts clearly.
9. Write 14-bit control word for the following microoperations:
(i) R1 ← R2 + R3
(ii) R4 ← R4
(iii) R5 ← R5 – 1
(iv) R6 ← Shl R1
(v) R7 ← Input
10. Suppose you're designing the arithmetic logic unit (ALU) for a simple 4-bit microprocessor
that processes two binary numbers, A (A3A2A1A0) and B (B3B2B1B0), to compute their sum
or difference as S (S3S2S1S0). A control signal M determines the operation: when M is 0, it
adds the numbers; when M is 1, it subtracts B from A. Additionally, include logic to detect
and signal an overflow condition. Design the full combinational circuit with proper
labelling.
11. Using general register computer with 3 address instruction, general register computer with
2 address instruction, accumulator type computer with 1 address instruction and stack
organization computer with zero address instruction, write programs to evaluate the
following arithmetic statements.
(i) A-B+(C+D)/E+F/G+(J*K)
(ii) (A*B+C)+D/E+F*G+I*J
12. Starting from an initial value of R = 11011101, determine the sequence of binary values in
R after a logical shift-left, followed by a circular shift-right, followed by a logical shift-
right and circular shift-left.
13. An instruction is stored at location 300 with its address field at location 301. The address
field has the value 400. A processor register R1 contains the number 200. Evaluate the
effective address (EA) if the addressing mode of the instruction is:
Direct, Immediate, Relative, Register Indirect, Index with R1 as the index register.

14. Considering the following organization of the 64 Byte memory and some processor
registers, write the addressing mode of each of the following register transfer after
executing the instructions:

(i) R1 ← M [AD1] +M [AD2] Memory


0
......

(ii) AC ← M [PC + AD3]

(iii) M [AD3] ← R2 PC = AD1


AD1 60
(iv) M [AD1] ← AC AD2 100
AC
AD3 200
......

R1

R2
63
GLA University, Mathura
Department of Computer Engineering and Applications
Subject: Computer Organization
Subject Code: BCSC1005
Submission deadline: September 25, 2025

Assignment 1.2 (Module I)

1. A software developer is designing a new program that requires frequent access to both
instructions and data during its execution.
How does the Von Neumann architecture facilitate the seamless integration of
instructions and data in a way that enables efficient program execution? Provide specific
examples to illustrate its advantage in programming.
2. Considering a 2’s complement based 8-bit processor, perform the following arithmetic
operations. Also, check the existence of overflow in each operation.
(a) (-100) + (15) (b) (-32) + (-97)
3. An electrical engineer is designing a data acquisition system for a precision measurement
application. The system requires representing a floating-point number in both single and double
precision using the IEEE 754 standard.
In the data acquisition system, the engineer needs to convert the decimal number -87.34
&
+78.213 into IEEE 754 single and double precision hexadecimal notation. Perform the
conversion and provide the resulting hexadecimal representations for both single and double
precision formats.
4. Find out the floating-point number from the following representation.
0 10000011 00111000000000000000000
5. You are provided with two half subtractor circuits. Describe how you will connect these half
subtractors to design a full subtractor that can handle two binary digits and a borrow-in bit.
Explain how the difference and borrow outputs are obtained using the logic gates involved.
6. The propagation time for carry and sum output of an adder is 20 ns and 30 ns, respectively.
Calculate the maximum time delay in a 4-bit binary adder. Describe an efficient method to
reduce this time latency.
7. Explain how CLA adder is the successor of the Ripple Carry Adder with logic diagram.
8. Design a combinational logic to add and subtract two 4-bit binary numbers. Also, design a
logic to indicate the overflow condition.
9. Assume there are three wires red, green, and blue. One LED bulb is wired so that it will only
illuminate when both the red and blue wires are experiencing high voltage at the same time. For
this system, utilize a 4x1 multiplexer to implement the digital circuit.
10. A computer architecture researcher is investigating the efficiency of different multiplication
algorithms for signed numbers. In the research study, the researcher wants to explore the
performance of Booth's algorithm for the multiplication of two signed numbers represented in
2’s complement. Multiply -7 and -7 using Booth's algorithm, and store the result in the register.
11. Suppose you need to design a micro-operation to transfer data from register R1 to register
R2 and simultaneously perform an addition of the value stored in R1 with another register R3.
How would the control word be structured to accomplish this? Explain how the control signals
will be generated to enable the required operations (register selection, ALU operation, data
transfer).
12. Imagine a customer adds multiple items to their shopping cart. How would you use a stack
to manage the cart items efficiently, ensuring that the last item added is the first one removed
when the customer proceeds to checkout? Explain PUSH and POP operations. Convert the
following arithmetic expression into reverse polish notation (RPN) and show the stack
operations for evaluating it.
a) 5 + 10 * 6 + (3 + 5) + 7 * (6 + 2)
b) 8 * 3 + (4 + 8) + (4 * 7 + 2) + 2 + 3
c) (A + B) * C - (D - E) * (F + G)

13. Write 14-bit control word for the following microoperations:


(a) R5 ← R5 – 1
(b) R6 ← Shl R1

14. Write a program to evaluate the following arithmetic statement by using three, two, one
and zero address instructions:
(a) A-B+(C+D)/E+F/G+(J*K)
(b) (A*B+C) +D/E+F*G+I*J
15. A bus organization has eight 4-bit registers. Show, how multiplexers can be used to
select registers in a common bus configuration?
GLA University, Mathura
Department of Computer Engineering and Applications
Subject: Computer Organization
Subject Code: BCSC1005
Submission deadline: September 25, 2025

Assignment 1.3 (Module I)

Q1. You're a technical consultant for a startup that designs educational tools. Your team lead
asks you to create a module explaining the fundamental architecture of a computer system to
beginners. The goal is to first simplify the core components and then highlight how this
architecture has evolved to meet today's demands.
The Challenge:
(i) Draw a block diagram showing the most basic, high-level architecture of a computer
system. Label and explain the purpose of the three main functional units.
(ii) Considering the current computing landscape (smartphones, IoT devices, cloud
computing), identify and briefly explain at least three significant changes or additions
to this simple architecture that are now considered standard.

Q2. Convert the following numbers as per the question,


a) (852.25)8 = (?)16 b) (325.05)16 = (?)2

c) (111101.11001)2 = (?)8 d) (625.11)16 = (?)8


e) (5EE9.17)16 = (?)8 f) (1100110110111)2 to hexadecimal
Q3. Convert the following numbers to Sign magnitude, 1’s and 2’s representation. Assume 8 bits
will be used to store values.
a) (+101)10 b) (-99)10 c) (-85)10 d) (+115)10 e) (-127)10

Q4. Perform the following operations in 2’s complement considering 8-bit data. Also check the
overflow situation.
a) (-37)10 – (-13)10 b) (+101)10 – (+11)10 c) (+85)10 + (-34)10 d) (-87)10 + (-12)10
Q5. Suppose you are a junior logic designer at a tech company. Your team has been tasked with
creating a crucial component for a new processor, a 4-bit binary adder. The lead engineer has
given you the following specifications and a scenario to test your understanding of the design
process.
The Challenge:
A new client requires a simple processor to perform basic calculations. The core of this
processor is an arithmetic logic unit (ALU), and the first step is to design a 4-bit binary adder
to handle the addition of two 4-bit numbers, A=A3A2A1A0 and B=B3B2B1B0. The adder must
also include a carry-in (Cin) and produce a 4-bit sum (S=S3S2S1S0) and a carry-out (Cout).
Q6. Imagine you are designing a reconfigurable 4-bit ALU for a low power microcontroller.
The core function is a 4-bit binary adder/subtractor.
Your challenge: Design this circuit using four full-adder modules and a single control signal,
M. When M=0, the circuit must perform addition (A+B). When M=1, it must perform
subtraction (A−B). How would you implement this functionality? Draw the logic circuit diagram
and explain the role of the M signal.
Q7. Your role is a digital logic designer at a company creating a specialized digital signal
processor. The lead engineer has assigned you the task of implementing a fast multiplication
unit using Booth's algorithm for signed 8-bit numbers in 2's complement representation.
The Challenge:
You need to demonstrate your understanding of the algorithm by walking through the
multiplication of two numbers:
• Multiplicand (M) = (-24)10
• Multiplier (Q) = (-19)10

Q8. Suppose you are designing the bus system for a simple CPU. It has 8 registers, each holding
16 bits of data. To transfer data from any of these registers onto a common bus, you must design
a multiplexer (MUX) system.
1. How many MUXs are required in total for this bus system?
2. What is the size of each individual MUX?
3. How many selection lines are needed to control these MUXs?

Q9. Imagine, you are a programmer debugging a financial application where floating- point
calculations produce inconsistent results on different computers. Your team lead suspects a lack
of standardized floating-point representation.
1. Explain why the IEEE 754 standard is crucial for solving this problem.
2. To demonstrate your understanding, convert the decimal number (+81.25)10 into its
binary representation using the IEEE 754 standard.
3. Show the final 32-bit single-precision format.
4. Show the final 64-bit double-precision format.

Q10. Write a program to evaluate the arithmetic statement:


𝑨 − 𝑩 + 𝑪 ∗ (𝑫 ∗ 𝑬 − 𝑭)
𝑿=
𝑮+𝑯∗𝑲
a) Using a general register computer with three address instructions
b) Using a general register computer with two address instructions
c) Using an accumulator type computer with one address instructions
d) Using a stack organizer computer with zero-address operation instructions.
Q11. Imagine you are an engineering student working on a team designing a high-speed
processor for a new supercomputer. Your team has decided to use a ripple-carry adder for the
processor's Arithmetic Logic Unit (ALU).
Explain the key significance of the carry-lookahead adder in the context of your team's project.
How does it solve the problem of the ripple-carry adder, and why is this critical for a high-
speed supercomputer?

Common questions

Powered by AI

A 4-bit adder/subtractor circuit can be constructed using four full-adder modules and a control signal (M). The full-adder modules receive the two 4-bit binary numbers, A and B. To perform subtraction A-B, number B is first converted to its 2's complement format by inverting the bits and adding '1'. The control signal M determines the operation: when M=0, the circuit performs normal addition (A+B), and when M=1, it performs subtraction by adding A to the two's complement of B. This is accomplished by using the control signal M to XOR with each bit of B and adding M as the initial carry-in to the least significant bit full-adder, effectively implementing the two's complement conversion in hardware .

In designing a common 4-bit bus system for eight 4-bit registers, multiplexers are essential for data selection and routing. Each multiplexer handles one bit position across all registers, meaning the design requires 4 sets, with each set comprised of 8-to-1 multiplexers (one for each bit). Each multiplexer selects one bit from any of the 8 registers based on a 3-bit select line, which determines which register's bits are placed onto the bus. Thus, the common bus facilitates efficient data transfer operations, ensuring controlled access where only one register's content is driven onto the bus at a time. Such a configuration maximizes the usage of registers while minimizing the need for extensive wiring and component duplication .

In a 4-bit ALU performing arithmetic operations, overflow occurs when the result of an addition or subtraction exceeds the representable range of the number system. For two's complement arithmetic, overflow can be detected by examining the carry into and out of the highest-order bit. If these two carry bits differ, an overflow has occurred. This condition can be signaled by implementing an XOR gate between these carries. Moreover, logic for the overflow condition is integrated into the ALU's control circuit, often resulting in setting a specific flag bit (the overflow flag) in the status register when such a condition is detected .

The Von Neumann architecture facilitates the seamless integration of instructions and data by using a single memory space to store both program instructions and data, enabling the CPU to fetch instructions and operate on data with a single unified memory structure. This architecture allows for the modification of program instructions, simplifying the process of developing more dynamic and complex programs. An advantage in programming is that instructions can be treated as data, allowing techniques such as self-modifying code or simply allowing easier debugging and modification processes. Moreover, it enables the CPU to execute instructions sequentially and change control based on the results of previous instructions, thereby supporting the development of advanced programming structures like loops and conditional branches .

A stack can manage a shopping cart efficiently by utilizing its Last-In-First-Out (LIFO) nature, where the last item added is the first one removed. In the context of a checkout system, items are 'pushed' onto the stack as they are added to the cart. When a customer proceeds to checkout, items are 'popped' off the stack in the reverse order of their addition, which can be useful for operations like undoing the last item added or ensuring purchase processing starts with the most recently considered items. This LIFO characteristic makes the management of additions and deletions from the cart seamless and straightforward, as it directly aligns with typical user interactions during shopping .

Multiplexers play a crucial role in register selection within a common bus configuration by allowing multiple registers to share a single bus line. Each register is linked via a multiplexer, which funnels data from multiple sources to a single output line based on select signals. In a system with eight 4-bit registers using a common bus, a set of multiplexers is needed for each bit of the registers, totaling 4 multiplexers per register. The select lines are used to choose which register's output is placed onto the bus, ensuring that only one register's data is visible on the bus at any given time. This organization gives flexibility and efficiency in data transfer processes within a microprocessor .

The IEEE 754 standard is crucial for ensuring consistency and accuracy in floating-point calculations across different computer systems. It defines a uniform format for representing floating-point numbers, including specifics on precision and rounding behavior, which helps to mitigate discrepancies that arise due to different hardware implementations. This standardization is vital in environments like financial applications, where inconsistent floating-point results can lead to significant errors in calculations affecting data integrity and consistency. For instance, it ensures that a floating-point operation on one computer yields the same result as on another, thus streamlining program portability and reliability. Converting a decimal number like (+81.25) into the IEEE 754 binary format ensures consistency across platforms .

Booth's algorithm is an efficient method for multiplying signed numbers represented in 2's complement form. It utilizes bit-pair recoding and handles both positive and negative multipliers through bit checks and conditional additions. For example, when -9 (represented as 11110111 in 8-bit 2's complement) is multiplied by -13 (represented as 11110011), the algorithm processes pairs of bits from the least significant to the most significant bit of the multiplier to determine whether to add, subtract, or leave the partial results unchanged followed by shifts. This approach minimizes the number of additions and subtractions by recognizing sequences of zeros and ones. The result is obtained by carrying out these operations iteratively, ultimately yielding the product stored in a register .

The transfer statement R2 ← M[AR] exemplifies a 'memory read' operation where data stored at the address specified by AR (Address Register) is loaded into register R2. In the statement M[AR] ← R3, a 'memory write' operation is performed, where the content of register R3 is stored at the memory location addressed by AR. Lastly, the operation R5 ← M[R5] is a combination of indirect addressing and a 'read' operation. The content of R5 is used as a memory address, and the data at that address is loaded back into R5 itself, resulting in a potentially recursive operation depending on the initial content of R5 .

The carry-lookahead adder offers significant advantages over the ripple-carry adder, particularly in reducing the computational delay associated with arithmetic operations in processors. Unlike the ripple-carry adder, which propagates the carry from one full-adder to the next in a sequential manner, the carry-lookahead adder uses logical pre-computation of carry bits, allowing it to generate all carry bits simultaneously. This method dramatically reduces the time complexity associated with addition by addressing the critical path delay issue inherent to ripple-carry adders. For high-speed supercomputers, this fast computational speed is critical as it enhances the overall throughput and processing efficiency of arithmetic operations, thus supporting complex computations .

You might also like