Implementation of a central processing unit

Assignment Help Software Engineering
Reference no: EM13918777

Assignment Overview

The overall aim of your assignment is to build a software based implementation of a Central Processing Unit (CPU). Such an implementation should be capable of simulating the execution of machine code instructions. The implementation should be written in the ‘C' programming. However, in both cases you should use the GNU tool-chain to build the program. CPUs can clearly be very complex devices, hence you will not be expected to build a fully compliant implementation. However the more complete the implementation, the higher the final grade will be. The CPU to be simulated will be loosely based on the standard ARM architecture. You will be provided with a datasheet which will specify the nature of the device (e.g. register count, status register format etc. and the instruction set to be supported). In order for the simulation to work your program will also have to provide some virtual peripheral devices. e.g. Some virtual RAM will be required.

The project has been broken down into four requirements described as follows.

Requirement 1 - Program Design

The first requirement will be to undertake some initial design work for the product. This will require the development of a written design document, which may also include block diagrams, that defines the overall architecture of the system you intend to build. This should be a maximum of four pages in length. The purpose of this work is to ensure you have a clear understanding of the major tasks to be performed by your simulation program. For example you may break down a solution along the following lines -

Device Initialisation
Instruction fetching
Instruction decoding
Instruction execution

Under each of these headings you could describe the major tasks to be performed for that stage. You may also need to consider how the current ‘state' of the CPU (and possibly the memory content) is to be shown. e.g. following the execution of each instruction you may decide to show the contents of the main registers and anything else that has been changed as a result of the last instruction.

One key aspect you will have to consider is how the instructions will be defined and read by your simulator. The op-codes should be stored in your virtual RAM (or ROM if you decide to include such a feature). However these codes need to get into the virtual machine somehow. Initially you may want to consider hard-coding some simple instructions for testing purposes. Later you may decide to load the instructions from a file.

Reference no: EM13918777

Questions Cloud

Landscaping purchased a tractor : Abbott Landscaping purchased a tractor at a cost of $40,000 and sold it three years later for $20,300. Abbott recorded depreciation using the straight-line method, a five-year service life, and a $2,500 residual value.
Determine the amount of depreciation expense : On January 1, 2013, Hartland Inc. paid $34,000 cash to purchase a taxi cab. The taxi had a four-year useful life and a $4,000 salvage value.
Bank reconciliation and associated journal entries : Prepare the bank reconciliation and associated journal entries:
Review literature on assessing organizational capacity : Locate and review literature on building and assessing organizational capacity for change, capacity for innovation, and/or capacity to react to new opportunities or unplanned threats. Focus on policies and procedures needed in a flexible and respo..
Implementation of a central processing unit : Build a software based implementation of a Central Processing Unit (CPU). Such an implementation should be capable of simulating the execution of machine code instructions. The implementation should be written in the ‘C' programming.
Develop a activity schedule based on crashed activity times : Develop a complete activity schedule based on the crashed activity times. Formulate a linear programming model that can be used to make the crashing decisions for this project.
Excellent seminar explaining debt and equity financing : The manager of Sensible Essentials conducted an excellent seminar explaining debt and equity financing and how firms should analyze their cost of capital. Nevertheless, the guidelines failed to fully demonstrate the essence of the cost of debt and..
Recognized rent expense for nine months : Recognized rent expense for nine months' use of office space acquired in Event 9.
A loosely formed voluntary association : Twelve individuals agreed to sponsor and promote a group of Little League baseball teams called the Golden Spike Little League. The league was a loosely formed voluntary association without any legal identit

Reviews

Write a Review

Software Engineering Questions & Answers

  Choose one of the media articles or case studies listed

All the claims shown on the Rationale diagram must appear in the essay, and all claims made in the essay must appear on the Rationale diagram. The essay must present all the detailed information that the Rationale diagram cannot.

  Draw context diagram level zero and level one

Draw Context diagram, level0 and level1 (if need) for the following: The user submit her/his name to the system, the system will tell the user if he is a boy or a girl or don't know by looking up his name in database of names saved in the system.

  What do you think are the key items and issues that require

question systems engineering organizations are often created for just one project.what do you think are the key items

  Multi stage model for e commerce

Review and discuss the challenges associated with all global systems attempting to implement a multi-stage model for e-commerce:

  Write the development and testing portion

You will write the development and testing portion of the software development plan. Identify the key phases of the project that will be subject to testing and the type of testing to be used during that phase

  Create the unit testing framework for atm machine

Create the unit testing framework for ATM machine in the style of JUnit Test Infected: with given functionalities like check balance.

  Java programmer for a software company

Imagine that you work as a Java programmer for a software company. Your company is developing a new interactive learning management tool called uGrade

  What is regression testing

What is regression testing? Explain various types of regression testing. What are the various steps by which regression testing is carried out?

  Biefly trace the development and growth of amazon

briefly trace the development and growth of amazon from 1995 to the present through the application of

  Develop a functional web-based application for a calculator

Develop a functional web-based application for a calculator. It does not need to be live; you can provide JavaScript, CSS, and HTML files. The calculator should successfully complete addition, subtraction, multiplication, and division operations..

  Identify parameters

Read (a,b,c); if(a!=0){d=b*b-4*a*c;if(d

  Analysis design and development of a small software system

analysis design and development of a small software system. produce an executable software solution to the

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