Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

AMERICAN INTERNATIONAL UNIVERSITY –

BANGLADESH
COURSE NAME: COMPUTER SYSTEM ARCHITECTURE

Course Instructor: MD. ALI NOOR


Section: A

Group Number: 02

EXPERIMENT NO: 03

SUBMITTED BY: NAME: ZARIF BIN AKHTAR


ID: 16-31398-1

DATE OF PERFORMANCE: 10.2.19 DATE OF SUBMISSION: 17.2.19

OTHER GROUP MEMBERS:


SL. NO. NAME: ID:

1 HANIF, MD. 16-31455-1

2 TALUKDER, ABDUR ROUF 16-31217-1

3 ABEDIN, MD. MINHAZUL 16-31483-1

4 SIDDIQUE, TUSHAR 16-31945-1

5 RAHMAN, TOWSIFUR 16-31034-1

6 AMIN, YOUSUF MOHAMMAD 13-24327-2

MARKS:

Title: Computer System Simulation using MARIE Simulation Software


Abstract:

The objective of this experiment was to obtain the knowledge required to enter, assemble, and
execute a program in MARIE Simulator. MarieSim was a rich graphical machine simulation
environment. Its features were best appreciated after we had experimented with a few simple
programs. There were some specific steps required to enter, assemble, and execute a program.

Theory and Methodology:

MARIE ('Machine Architecture that is Really Intuitive and Easy') is a machine architecture and


assembly language served only for educational purposes from The Essentials of Computer
Organization and Architecture (Linda Null, Julia Lobur). In addition, the publisher provides a set
of simulator programs for the machine, written in Java.

There are four directives that the MARIE assembler recognizes. The first of these is the
origination directive, ORG. The ORG directive controls the starting address of your program. If
one does not include an ORG directive in your code, the first address of the program is
automatically 000h. (Note: On a real machine, one could not count on this, which is why
origination directives are used.) If one wants the first address of the program to be 010h, one
would place the directive, ORG 010 at the beginning of the program. The ORG directive must be
the first statement of the program, otherwise, the assembler will give an error.

MARIE.js is a JavaScript version implementation of MARIE. It aims to be as faithful to the


original Java programs as it can, while improving on features to make concepts more intuitive
and easier to understand. The basic idea, is that the MARIE assembly language is a simple
implementation of the von Neumann architecture as shown below.

Fig.1: The MARIE Architecture


An assembly language is the lowest level of abstraction you can get away from machine
language, which is binary code. Each instruction corresponds to its binary representation. There
are several assembly languages, one for each machine architecture. More familiar architectures
like x86, ARM and MIPS are fairly complicated (x86 even more so than ARM and MIPS),
which is why MARIE is designed to be easy to understand (hence its name).

The other three directives enable one to put constants in the program as decimal (DEC), octal
(OCT), and hexadecimal (HEX) numbers. These constants must be valid for the radix stated in
the directive. For example, the statement, OCT 0900, will give an error.

Recalling that MARIE's word size is 16 bits, and all constants are assumed to be signed numbers.
Therefore, the valid range of decimal constants is decimal –32,768 to 32,767 (8000h to 7FFFh).

So, in MARIE (as well as in other architectures) we have a collection of registers. These registers
are shown below:

 AC  or Accumulator: intermediate data is stored within the AC


 PC or Program Counter: as the name suggests it stores the current position of the
instruction, with each instruction having its own address
 MAR or Memory Access Register: stores or fetches the 'data' at the given address
 MBR or Memory Buffer Register: which stores the data when being transferred to or
from memory or within the memory
 IR or Instruction Register: holds the current instruction

Simulation and Measurements:

Task 1: Finding the Sum of 3 Numbers named A, B and C

Fig. 1: MARIE Assembler and Simulator Fetching (Task 1)


Fig. 2: MARIE Assembler and Simulator Execution (Task 1)

Task 2: Finding the Sum of 3 Numbers named A, B and C where one entry is from keyboard

Fig. 3: MARIE Assembler and Simulator Fetching (Task 2)

Fig. 4: MARIE Assembler and Simulator Execution (Task 2)


Apart from the Tasks some other instruction sets were practiced and simulated upon for better
understanding of the software as well for individual understanding. In addition, we were
familiarized with some of the basic aspects of commands which is provided below.

Fig. 5: The MARIE Instructions Set

References:

[1] Null and Lobur, Jones & Bartlett, Essentials of Computer Organization and Architecture, 1st
edition

You might also like