Question

Carryln Overflow OverflowAssume that the 32-bit ALU shown above on the right is constructed using the 1- bit ALUs given above on the left (with proper modifications to support the set-less-than operation correctly). List all the arithmetic and logic operations supported by the ALU. For each operation, clearly explain how the control lines should be set.

0 0
Add a comment Improve this question Transcribed image text
Answer #1

The above given 32-bit ALU constructed out of 1-bit ALUs perform AND, OR, NOR, Addition, Subtraction and Set on less than operations.

The control lines (Ainvert, Binvert, Carryin, Operation) that should be set to perform each operation:

AND operation => 0000. (Ainvert, Binvert, Carryin, Operation)

OR operation => 0001 (Ainvert, Binvert, Carryin, Operation)

NOR operation => 1100 (Ainvert, Binvert, Carryin, Operation)

Addtion operation => 0010 (Ainvert, Binvert, Carryin, Operation)

Subtraction operation => 0110 (Ainvert, Binvert, Carryin, Operation)

Set on less than => 0111 (Ainvert, Binvert, Carryin, Operation)

For "and operation" a and b inverter lines are not set, and even carryin line is not set. operation line is also not set. For Addition, subtraction, and set less than operation carryin line is set. For subtraction, b is inverted and added to a, b inverter line is also set. b inverter line is set for NOR, subtraction and less than operation.

To perform addition, a and b inverter lines are not set, carryin is set as adder need carry in to perform, operation line is not set. Whereas to perform subtraction, b inverter line is set as b is inverted and added to a, carry in is set and operation line is not set.

Since NOR can be performed using AND and inverting 'a' and 'b', both a inverter and b inverter are set, carry in is not set and operation is not set.

To Set Less Than, a is compared to b to set on less than. so b inverter is set, carry in and operation lines are also set.

control lines subtraction control lines 0110 NOR operation 1 Operation control lines 0 0 Addition 0001 control lines 0010 0 s

Add a comment
Know the answer?
Add Answer to:
Assume that the 32-bit ALU shown above on the right is constructed using the 1- bit ALUs given ab...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • Assume an 8-bit ALU is created from 1-bit ALUS like the one shown below. Logical unit Carry in AB INVA- A+B A Output...

    Assume an 8-bit ALU is created from 1-bit ALUS like the one shown below. Logical unit Carry in AB INVA- A+B A Output ENA- B ENB Sum Enable- lines Fo Full adder Fi Decoder Carry out What operation/output is produced by the inputs FO F1 ENA ENB INVA INC-111100 (where INC is the Carry In for the first stage.) Assume an 8-bit ALU is created from 1-bit ALUS like the one shown below. Logical unit Carry in AB INVA- A+B...

  • Using Structural Modeling in VHDL write the code for: An Arithmetic Logic Unit (ALU) shown in...

    Using Structural Modeling in VHDL write the code for: An Arithmetic Logic Unit (ALU) shown in the figure below. A (16-bit), B (16-bit), Opcode (3-bit), and Mode (1-bit) are the inputs; and ALUOut (16-bit) and Cout (1-bit) are the outputs of the design. A and B hold the values of the operands. Mode and Opcode together indicate the type of the operation performed by ALU. The ALU components ARE: -Arithmetic Unit that consists of one 16-bit adder, 16-bit subtractor, 16-bit...

  • A 1-bit ALU is shown as in Figure 3. The circuit performs both arithmetic and logic...

    A 1-bit ALU is shown as in Figure 3. The circuit performs both arithmetic and logic operations. Determine the operations of the ALU for each combination of the two (2) operation bits , OP1 and OP2, and Binvert bit by completing Table 1. When do 1’s complement and 2’s complement operations are performed. (Please explain each step)             Binvert carry in operation a 10 1 Result b 12 3 carry out Figure 3 Binvert Operation Operation- bit OP1 OP2 0...

  • The Arithmetic Logic Unit The first topic for the project is to create an Arithmetic Logic...

    The Arithmetic Logic Unit The first topic for the project is to create an Arithmetic Logic Unit, using a structured approached with a Virtual Hardware Design Language such as Verilog. Mainly, the program is very close to a simulator for a programming calculator. An ALU typically has the following operations Math Functions: Add, Subtract, Multiply, Divide, Modulus Logic Functions: And, Or, XOR, Not, Nand, Nor, XNOR Error Modes: Divide by Zero, Overflow Support Functions: No Operation, Shift Left, Shift Right,...

  • PROBLEM STATEMENT The mini-calculator will use a small ALU to perform arithmetic operations on two 4-bit values which are set using switches. The ALU operations described below are implemented with a...

    PROBLEM STATEMENT The mini-calculator will use a small ALU to perform arithmetic operations on two 4-bit values which are set using switches. The ALU operations described below are implemented with an Adder/Subtractor component. A pushbutton input allows the current arithmetic result to be saved. An upgraded mini-calculator allows the saved value to be used in place of B as one of the operands. The small ALU that you will design will use the 4-bit adder myadder4 to do several possible...

  • Question 4: Single Cycle Datapath Control (15 points) We wish to add the hardware support for...

    Question 4: Single Cycle Datapath Control (15 points) We wish to add the hardware support for a special R-type instruction jlr Jump and Link Register) to the single-cycle datapath below. Though this is an R-type instruction, but it is a special one that has the opcode being 000001 (instead of 000000), so the control unit will be able to differentiate this jlr instruction from the other R-type instructions and generate a special set of controls for this instruction. Opcode rs...

  • 1.) a.) Using the simplified instruction set shown for part b, write code for the following....

    1.) a.) Using the simplified instruction set shown for part b, write code for the following. Suppose memory locations 1400 to 1449 contain 16-bit words. Each word represents 2 ASCII characters. Write code to read in and write out these 100 characters. Left-side character from location 1400 should be first, right-side character from location 1400 should be second, and remaining characters follow in numeric order. Assume you have access to 4 registers: R1, R2, R3, R4. Each register holds one...

  • Group Project 1 The Micro-1 Processor Simulation <Micro-1 Computer> Here's the organization of a computer equipped...

    Group Project 1 The Micro-1 Processor Simulation <Micro-1 Computer> Here's the organization of a computer equipped with a Micro-1 processor Memory contains an array of integer cells: int cell[] = new int[CAP]; where CAP is the capacity of memory. Initially this is set to 256. Internally, the Micro-1 processor is equipped with eight 32-bit data/address registers and two 32 bit control registers: PC, the program counter, contains the address of the next instruction to execute. IR, the instruction register, contains...

  • 1 Overview The goal of this assignment is to help you understand caches better. You are...

    1 Overview The goal of this assignment is to help you understand caches better. You are required to write a cache simulator using the C programming language. The programs have to run on iLab machines. We are providing real program memory traces as input to your cache simulator. The format and structure of the memory traces are described below. We will not give you improperly formatted files. You can assume all your input files will be in proper format as...

  • C LANGUAGE. PLEASE INCLUDE COMMENTS :) >>>>TheCafe V2.c<<<< #include ...

    C LANGUAGE. PLEASE INCLUDE COMMENTS :) >>>>TheCafe V2.c<<<< #include <stdio.h> int main() { int fries; // A flag denoting whether they want fries or not. char bacon; // A character for storing their bacon preference. double cost = 0.0; // The total cost of their meal, initialized to start at 0.0 int choice; // A variable new to version 2, choice is an int that will store the // user's menu choice. It will also serve as our loop control...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT