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

  Create a table with a primary key to identify business

Construct a table that will store data about each student that took a course and what grade they received. The data should include the semester of completion.

  Sketch the flowchart for user to enter credit card balance

Sketch the flowchart or write pseudocode for the application which permits user to enter credit card balance. suppose the interest rate is 1 percent per month

  Create a structural model

Structural modeling is a different view of the same system that you analyzed from a functional perspective. This model shows how data is organized within the system.

  Identify trends in mobile software development

Identify trends in mobile software development and explain why they are relevant to businesses today

  Investigate and analyse the effect of applying cmmi

investigate and analyse the effect of applying cmmi practicesprocesses in an agile environment in terms of business

  What are the two most important factors in determining the

answer the module review questions listed below. these questions were chosen to demonstrate your understanding and help

  Question about ranges and functions

Assume you have functions that you want to call for many individual year values, as well as ranges of years, and you are deciding on whether to use an if statement or a switch statement.

  Lifestyle changes through affluence between 2004 and 2007

lifestyle changes through affluence between 2004 and 2007 indias growth averaged 8 percent annually. this economic

  Monitor the reuse history of a component

As a software engineer, what are the means of tracking you would use to track and monitor the reuse history of a component? Provide a rationale for the elements you list

  Diversity of approaches to software construction

Analyze each reason listed above as a reason for a diversity of approaches to software construction and modeling, and give your opinion on whether or not each reason is valid.

  Design user-s requirements specification for school

Design a user's requirements specification for the EasyDrive School of Motoring database system. Use a single major user view for the application (Director View)

  Analyze polynomial-time algorithm using black box design

Using black box design and analyze the polynomial-time algorithm which calculates the assignment to variables which satisfies the formula.

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