Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

CSE 3 3 2 : Computer Organization and Architecture Instructor: Dr . Mohammad Abdul Qayum ( MAQm ) Office: SAC 1 0 4 4 A

CSE 332: Computer Organization and Architecture
Instructor: Dr. Mohammad Abdul Qayum (MAQm)
Office: SAC 1044 A
E-mail : mohammad.qayum@northsouth.edu
Phone: 02-55668200 Ext. 6186
Design Your Own CPU & Assembler
One of the course objectives is to be able to design a complete CPU system. It starts with
learning about ISA, advanced ALU, data path and control, pipelining in theory. In order to make
this learning more effective a step by design of the complete CPU system is carried out through
pen and paper, simulation tools, hardware etc. Students work in a group and try to develop small
pieces and finally connect them together to get their cpu as explained in the following diagram.
Title : ISA Design Type: Document
Consider yourself as a computer architect and you are employed in a vendor company. The
company told you that they are going to design a new 32 bit single-cycle CPU that has separate
Data and Instruction Memory. The ISA should be general purpose enough to be able to run
provided general programs
Input/Output Operations
It should also be able to connect with the display unit (ex: seven segment display) to display
results or any data and a keyboard or something similar to get input from the user. you should
make any necessary arrangements ( extra instruction or special register or any other ) to
accommodate this external communication into your ISA design. For example, you might
consider including dedicated instructions like IN & OUT to perform the input/output operations.
Design requirements
As an ISA designer your job is to propose a detailed design of the ISA. Few of the issues
probably you would have to address are given below:
1) How many operands?
2) Types of operand? (Register based?? Memory-based? Mixed?)
3) How many operations? Why ?
4) Types of operations? (Arithmetic,logical,branch type?? How many from each category? Draw
a table with list of instructions, instruction type, their opcode, functionality (if any)
5) How many formats would you choose? Draw the formats along with field name and number of
bits in each field
6) list of registers? Draw a register table. (with register name and values)
Benchmark Programs
You have to design your ISA focusing on the following three categories of programs
a) Simple arithmetic & logic operations
b) Programs that requires checking conditions
c) Loop type of program s
Guideline
Your assignment will be evaluated according to the following criteria:
1. Ability to execute the provided benchmark programs (test programs), and other general
purpose programs?
2. How much is it different from existing ISAs such as MIPS?
3. If it is very similar to MIPS, provide your reasonings behind the outcome.
You must answer those with your reasoning. While you are deciding on the above issues, you
might consider some sample high level program that can be run on this CPU using your ISA.
Say, during the decisions about the types of operation to include, you can think about the type of
high-level language program it will be able to execute. Design might vary from one group to
another and there might be multiple possible solutions. You will be scored based on your clear
reasoning.
Title : Assembler Type : Software
It is difficult and error-prone to manually write machine code. The problem can be addressed by
writing an assembler, which can automatically generate a machine code from an assembly file. In
this project, you will use an assembler for your ISA. The assembler reads a program written
using assembly language in a text file (.asm or .s), then translates it into binary code and
generates an output file (.txt or .bin) containing machine code. The generated output files will
later be useful to run a program when you will develop your actual CPU in verilog. Language:
You can use any high-level language. Some demo codes are provided in the following link (the
model output is binary that includes address, you may need to remove it along with any spaces
between binaries). You are strongly advised to use the example to save your time. You might
need to modify the existing functions/classes to fit your needs.
Also, you can take advantage of AI such as ChatGPT or Bard to develop your own assembler.
I/O fromat:
The input code will be written in a text file (e.g. extension bin) in assembly format following
your ISA. There will be one instruction per line. The output will be generated

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

SQL Instant Reference

Authors: Gruber, Martin Gruber

2nd Edition

0782125395, 9780782125399

More Books

Students also viewed these Databases questions

Question

Explain the factors that determine the degree of decentralisation

Answered: 1 week ago

Question

What Is acidity?

Answered: 1 week ago

Question

Explain the principles of delegation

Answered: 1 week ago

Question

State the importance of motivation

Answered: 1 week ago

Question

Discuss the various steps involved in the process of planning

Answered: 1 week ago