Building instruction set simulators

Assignment Help Programming Languages
Reference no: EM131561

In a typical CPU implementation, the design-cycle starts with a C/C++ based instruction set simulator (ISS) of the target CPU. The idea is to experiment with the dierent functional aspects of the target micro-architecture before writing a synthesizable HDL model of the CPU. ISS models can be prototyped very quickly and simulation at ISS level is much faster than RTL. With this motivation, our current aim shall be implementation of a simple 32 bit pipelined CPU simulator in C. The pipeline shall have three stages:

1. Fetch, 2. Decode and 3. Execute.

Modeling the clock:

While the hardware design of a system clock is fairly complicated and involves high precision engineering for the oscillator and phase locked loops for netuning, its software equivalent can be modelled very easily. A system wide counter can act as the clock with its value being updated at appropriate stages of executing each instruction. It is clear that this behaviour is opposite to that observed on a real processor where the clock drives the instruction execution. However letting the instruction execution phases drive the clock is a good enough approach for a software simulator.

Modeling the memory

Memory is best modelled as an array of data words. Registers can be treated as an extension to the memory model. Register les can be supported by a two dimensional array of data words, with one column per register. Similary write appropriate C functions for modeling the dierent execution units, ALU etc. We provide some code fragments which shall act as your implementation guideline.

Reference no: EM131561

Questions Cloud

Benefit-cost analysis : Benefit-cost analysis
Perform the acl test : Perform the ACL test and prepare a report with your conclusions
Examined the effect of body position on blood pressure : Examined the effect of body position on blood pressure
Evaluate effective annual yield : What is the current yield on the bonds?
Building instruction set simulators : Building Instruction Set Simulators
Represent one book in java : Represent one book in java
An efficient human identification using gait analysis : An Efficient Human Identification Using Gait Analysis, Apply specific approach for Pattern Recognition,Implement this approach in MATLAB,Compare and discuss the results with others.
Write a program that pulls four quarterly sales figure : Write a program that Pulls four quarterly sales figure
Post the journal entries to general ledger accounts : Post the journal entries to general ledger accounts. and Prepare a trial balance at November 30.

Reviews

Write a Review

Programming Languages Questions & Answers

  Technical project: sample website project

Technical Project: Sample Website Project , This assignment consists of three (3) sections: a narrative, a storyboard, and a business Website. You must submit all three (3) sections for the completion of this assignment.

  Create a application using the mvc architecture

create a application using the MVC architecture. No scripting elements are allowed in JSP pages.

  Write the code required to analyse and display

Engineer for a materials manufacturing research lab and have been asked to provide an automated solution to analyse data.

  Design a program that models the worms behavior

Design a program that models the worm's behavior.

  Write functions

These 14 questions covers java class, Array, link list , generic class.

  Ethics and social responsibility

Ethics and social responsibility at McDonalds

  Write a prolog program using swi proglog

Write a Prolog program using swi proglog

  Application development and programming languages

Application Development and Programming Languages,  Programming languages have evolved since the First Generation Languages (1GLs) in the 1940s. The 1GLs were machine languages, which interacted directly with hardware. 2GLs were assembly languages. F..

  Hubspot: inbound marketing and web 2.0

Hubspot: Inbound Marketing and Web 2.0

  Design a program that assigns seats on an airplane

Write a program that allows an instructor to keep a grade book and also design and implement a program that assigns seats on an airplane.

  Hierarchy of processes

Write a program that creates a hierarchy of processes using the fork() system call.

  Examine the boxplot

Examine the boxplot and briefly discuss the overall pattern of electricity usage for the households.

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