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

  Discussion: html/css

Discussion: HTML/CSS,  "JavaScript Placement"  Please respond to the following: Compare and contrast the process of adding JavaScript and a Cascading Style Sheet to a Website. Determine if they can be used simultaneously in a page. If so, explain wh..

  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.

  Hierarchy of processes

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

  Development of the current strategic potential of airline

Evaluate the organisation's current external and internal strategic position

  Ethics and social responsibility

Ethics and social responsibility at McDonalds

  Programming problem

Programming Problem can be solved by a program that performs three basic tasks-Input Data, Process Data, and Output Results.

  Produce a project plan

Produce a project plan and an interim description of the project development

  Write a prolog program using swi proglog

Write a Prolog program using swi proglog

  Write a haskell program to calculates a balanced partition

Write a program in Haskell which calculates a balanced partition of N items where each item has a value between 0 and K such that the difference b/w the sum of the values of first partition,

  Create an application to run in the amazon ec2 service

In this project you will create an application to run in the Amazon EC2 service and you will also create a client that can run on local machine and access your application.

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