How many operands you want your instructions to handle

Assignment Help Computer Engineering
Reference no: EM132585073

Assignment: Prompt: In this project, you will design and build a simple CPU on Logisim and write programs that can run on it.

Your design will go through four phases. In the first phase, you will design and build the ALU using Logisim. In the second phase, you will design the instruction set that implements the instructions you designed in phase one. In the third phase, you will design and implement a control unit for this ALU using Logisim. By connecting the CU to the ALU, you will get a functional CPU. In phase four of the project, you will write assembly language programs for the CPU you built.

Phase One: Start by building an 8-bit ALU using Logisim. This ALU can implement 16 instructions on 8-bit operands. We would suggest the following minimum list of instructions:

• Arithmetic addition

• Increment

• Decrement

• Comparison (with 3 outputs: one for equals, one for less than and one for greater than)

• Logic bitwise Not

• Logic bitwise And

• Logic bitwise Or

• Register right logic shift

• Register left logic shift

In addition to these nine instructions, please suggest five more instructions that the ALU can implement for a total of 14 instructions (we are reserving 2 instructions for branching). Justify the importance of the five instructions you added in a Word doc to submitted as part of this assignment. Label these instructions as 'Phase One.'

After you've suggested and justified your five suggested instructions, please build at least the nine above-mentioned operations as blocks in Logisim.

Phase Two: In phase two of the project, you are required to design the instruction set of the ALU/CPU as follows:

1. Create the opcode table for the ALU by giving a binary code and a name for each instruction you built in Logisim in phase one.

2. Decide how many operands you want your instructions to handle and justify your choice. We suggest either one operand with accumulator or two operands with the result stored in one of the input registers.

3. In Logisim, add a multiplexer to the circuit you built in phase one that chooses one of the available operations. The simplest way to create this part of the CPU is to connect the outputs of the multiplexer to the inputs of AND arrays connected to the output of the operation blocks.

Please record your answer to phase two in the same Word doc and label it 'Phase Two.'

Phase Three: In phase three, you are required to use Logisim to implement the control unit for at least the following three operations:

• addition

• logic bitwise AND

• right logic shift

In order to finish this phase, you need to add operand registers according to the decision you took for the number of operands in phase two and, if needed, a flag register.

Please record your answer to phase three in the same Word doc and label it 'Phase Three.'

Phase Four: In order to be able to write assembly language for the CPU we need to add to instructions (without implementation):

• branch to an address (name it JMP)

• conditional branch to an address (name it CJMP and suppose that the jump takes place if the comparison operation result is 'equals')

Now, write the following programs using the assembly language you designed in the previous phases of the project as well as these two branching additional instructions:

• Write a program that adds two operands.

• Write a program that adds operands until the new value to be added is 0. You do not need to implement the input operations to modify the contents of the registers. Just assume that by the end of each iteration, the register content is modified.

• Write a program that increments by 2 the content of a register 10 times.

• Write a program that shifts the content of a register until the least significant bit is 0. Think of a way to stop shifting if the content of the register is 11111111 and add it to your program.

• Please record your programs in the same Word doc and label them under the section 'Phase Four.'

Reference no: EM132585073

Questions Cloud

Explain different uses of the tools besides cryptography : In this module, you learned that random numbers (or, at least, pseudorandom numbers) are essential in cryptography, but it is extremely difficult even.
What are sources of additional paid in capital : What are sources of additional paid in capital. Distinguish among: cash dividends, property dividends, liquidating dividends and stock dividends?
Explain how macroeconomic factors affect health care costs : Explain how macroeconomic factors affect health care costs. describe how financing is provided to both national health care systems.
Analyse the pros and cons of the ifrs standards : Analyse the pros and cons of the IFRS standards, which require the use of fair value in recognition and measurement, from debt holders' perspectives
How many operands you want your instructions to handle : Decide how many operands you want your instructions to handle and justify your choice. We suggest either one operand with accumulator or two operands with.
How are various management systems such as human resource : How are various management systems such as human resource management, costs, capital budgeting, and performance measurement incorporated
Compute the diluted earnings per share for kane company : Compute the diluted earnings per share for 2010. Sold at par, convertible into 200,000 shares of common (adjusted for split). $1,000,000
Pioneer petroleum corporation : The Pioneer Petroleum Corporation has a bond outstanding with an $90 annual interest payment, a market price of $860
Compare and contrast the service positioning matrix : Compare and contrast the service positioning matrix and the product process matrix in terms of their differences and similarities.

Reviews

Write a Review

Computer Engineering Questions & Answers

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd