A Web-Based Little Man Computer Simulator

Size: px
Start display at page:

Download "A Web-Based Little Man Computer Simulator"

Transcription

1 A Web-Based Little Man Computer Simulator William Yurcik Larry Brumbaugh Department of Applied Computer Science Illinois State University Normal, IL t50 USA {wjyurci, Abstract This paper describes a web-based simulation tool which can be used to teach introductory computer organization based on the conceptual paradigm of a Little Man Computer. Specifically we share examples how this tool can be used to improve student comprehension of the interaction between computer architecture, assembly language, and the operating system. 1 Introduction Students taking introductory courses in computer organization and assembly language often find fundamental concepts difficult to comprehend. With this in mind we have developed a tool that represents a working model of a general computer. There are other computer system simulators, as documented in [2,4], but we believe our simulator is unique in that it is focused on beginning students while providing flexibility and extensibility to more advanced topics. Our simulation tool is based on the Little Man Computer (LMC) Model first introduced by Stuart Madnick of MIT in 1965 and further developed by Irv Englander of Bentley College in a popular computer organization textbook [1]. We have found this model operates in a manner very similar to actual computers, helping students to understand the basics of internal computer operations. Our LMC simulation was developed using Java and has been made available on the web ( along with comprehensive on-line documentation. We have received feedback from users (teachers and students) worldwide and welcome positive criticism to help continue improvement of this tool [5]. 2 The Little Man Computer Architectural Model The LMC paradigm consists of a walled mailroom, 100 mailboxes numbered 00 through 99, a calculator, a twodigit location counter, an input basket, and an output basket. Each mailbox is designed to hold a single slip of paper upon which is written a three-digit decimal number. Note that each mailbox has a unique address and the contents of each mailbox is different from the address. The calculator can be used for input/output, temporarily store numbers, and to add and subtract. The two-digit location counter is used to increment the count each time the Little Man executes an instruction. The location counter has a reset located outside of the mailroom. Finally there is the "Little Man" himself, depicted as a cartoon character, who performs tasks within the walled mailroom. Other than the reset switch for the location counter, the only communication a user has with the Little Man is via slips of paper with three-digit numbers put into the input basket or retrieved from the output basket. FIGURE I THE LITTLE MAN COMPUTER PARADIGM B Liltle Waged Magroom Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page, To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SIGCSE /01 Charlotte, NC, USA 2001 ACM ISBN /01/0002.-$5.00 It should be observed that the LMC is a direct implementation of a yon Neumann architecture. The calculator corresponds to the ALU, mailboxes correspond 204

2 to memory, the location counter corresponds to the PC, the I/O corresponds to input/output baskets, and the Little Man himself corresponds to the control unit. Both data and instructions are stored in the mailboxes. There is no distinction between data and instructions except when a specific operation is taking place. It is important for students to visualize the exact steps performed by the Little Man because they reflect the steps performed in a real CPU when executing an instruction. It should also be noted that the analogy is not perfect. In a real computer, memory (mailboxes) is actually separated both physically and functionally from the central processing unit (CPU). In a most computers, generalpurpose registers (accumulators) are available to temporarily hold data being processed. In LMC, the calculator display panel loosely serves the purpose of an aceurnulator. The path of Little Man performing tasks is loosely equivalent to computer bus connections but does not allow for data to be on different buses simultaneously (Little Man can not be in two places at once). Clock timing and interrupts are not part of the LMC paradigm. Lastly, the LMC instruction set is based on the decimal system and a real CPU operates in binary. We make this numbering system trade-off to simplify understanding of computer architecture while rigorously covering binary/octal/ hexadecimal representations elsewhere in the course SKIP SKN - skip next line if calculator value is negative SKZ - skip next line if calculator value is zero SKI' - skip next line if calculator is positive JUMP- goto address NOTE: XX represents a two-digit mailbox address 4 The Little Man Computer Simulator SKN SKZ SKP JMP XX LMC was developed using Java JDK1.2 and is embedded in an applet so as to provide ubiquitous access to users over the Internet without the need for JDK1.2 to be installed locally. Another advantage of using this approach is that the applet is loaded in a separate window allowing the user to run the application as well as look at the HTML documentation in other windows. To enable control of the LMC simulation, multiple threads were implemented: one thread for executing the program and a second thread listening for a user interrupt to halt the program. FIGURE II TIIE LrrrLE MAN COMPUTER SIMULATOR 3 LMC Instruction Set The Little Man performs tasks by following simple instructions which are described by three-digit numbers. The LMC instruction set is fundamentally similar to the instruction sets of many different computers. In fact, the LMC instructions - data movement, arithmetic, and branching - are central to the instruction set of every computer. In a LMC instruction, the first digit describes the operation (opcode) and the last two digits specify the mailbox address to be acted upon (operand). The instructions provide a way to move data between the inbox, outbox, calculator, and mailboxes. There are also instructions that cause Little Man to stop (HALT) and branch conditionally(skip)/unconditionally (JUMP). opcoae Description TABLE I LMC INSTRUCTION SET LOAD contents of mailbox address into calculator STORE contents of calculator into mailbox address ADD contents of mailbox address to calculator SUBtract mailbox address contents from calculator INPUT value from inbox into calculator OUTPUT value from calculator into outbox HALT - LMC stops (coffee break) Mnemonic LDA XX STA XX ADD XX SUB XX IN OUT HLT The LMC simulator has the following two main components: An editor where the user can write programs and save/retrieve them An single-step assembler that translates assembly language to machine code. Our LMC simulation visually shows a one-pass assembly process (mnemonic assembler source code to machine code) and load process (moving machine code into mailboxes). In the edit mode users can write source code (which is automatically checked for syntax errors) or load source code from an existing file. For the programmer's convenience, three different execution modes are provided: (1) Burst Mode, where all instructions in the program are executed until a HALT instruction is encountered or an abend occurs; (2) Step Into, which executes one instruction 205

3 at a time; and (3) Step Over, which is similar to Step Into except for SKIP instructions. For SKIP instructions, if the condition is met the program executes the next instruction and then waits for user interaction. Debugging break points can be set for all three execution modes. A flag register indicates error conditions and is set/reset for corresponding overflow/underflow conditions and zero/negative/positive values within the calculator. 5 Using LMC in the Classroom Most students taking the computer organization and architecture course have not programmed in an assembler language. All their coding experience is in a high level language (C, C++, Java, etc.). Hence, some class time (usually one period) is spent describing and illustrating basic assembler language programming with LMC. The LMC equivalents of high level language instructions such as looping, IF-THEN-ELSE and I/O operations are identified. Some of the most common syntax and logic errors that occur with LMC programming are described. Following this, if a computer lab is available, it is worthwhile to let the students write several small programs, which they enter and run. Several larger sample programs are placed on a server and students copy them. The students make simple modifications and additions to the programs and then try to successfully run them. Students quickly become familiar with providing Input, using the LMC editor to enter their code, stepping through a program and working with the various LMC controls. 5.1 Programming Assignments Writing a program that performs integer multiplication and division illustrates how significant processing can be done using only the basic LMC instructions. It also shows how difficult this can be and the convenience of having actual multiplication and division instructions available. Multiplication is implemented using repeated addition. To calculate A'B, add A to itself a total of B times, or add B to itself A times. To improve efficiency, some students preface their addition by determining the smaller input value (say A) and calculate B+B+B Compare the calculation of 479*0 and 0*479. Division is performed using repeated subtraction and both a quotient and remainder are calculated. A Loader program processes 'user' programs as input. The Loader program reads an application program from the LMC Input and stores it in an unoccupied portion of memory. After the Loader copies the entire program into memory, it transfers control to the initial statement in the loaded program and it starts executing. This is an excellent illustration of the yon Neumann architecture showing that both data and executing instructions are stored in memory. Initially, the Loader processes the application program as 'data'. Later, the same data is accessed as executable instructions. The LMC editor holds the Loader program. The application program and all its data are placed in the Input. Optionally, the editor can contain both programs and the Loader could transfer the application to a different location in memory. As an extension of this, when an application finishes it transfers control back to the Loader which loads a second (or several) application(s) into memory. In addition, the present program can occupy the same memory locations formerly used by the previous program. A stream of programs can be executed in this manner. The only limitation is the size of the Input. The Loader program provides a good working example that illustrates several basic operating system concepts. 5.2 Addressing Modes Addressing modes provide a programmer with additional flexibility and convenience without significantly altering the fundamental simplicity of LMC. The Madaick LMC paradigm is limited to direct, absolute addressing but we have extended our LMC simulation to include other addressing modes. Students fred these addressing modes allow them to understand how data structures such as arrays and linked lists using pointers (learned in previous algorithm courses) can be implemented. The current implementation of LMC supports four types of addressing. Here c(address) means the value stored at the location. Absolute Addressing ADD 95 e(95)+e(ace)..->e(aee) Indirect Addressing ADD *95 c(x)+e(ace).->e(aee) (a pointer) where e(95)=x Immediate Addressing ADD #95 95+e(Aee)->e(Aee) Relative Addressing ADD t95 c(c(pc)+95)+e(aee)--~c(aec) Absolute addressing uses the LMC mailbox directly without performing any calculations or conversions with it. With indirect addressing the address included with the instruction identifies the actual address that the instruction will use. The value at the instruction address is an address (pointer) rather than a 'data' value. With immediate addressing, the data value is stored inside the instruction and no additional memory location is accessed. Immediate addressing allows faster execution and can be a considerable convenience to the programmer when incrementing or decrementing a counter or to clear a memory location. Immediate addressing is used in the code on the left below and its absolute address counterpart is shown on the right. ADD #1 SUB #1 oradd #-1 LDA #0 ADD 90 ~- increment by 1 SUB 90 <- decrement by 1 LDA 91 ~ clear 90 DAT an additional memory access 91 DAT 0 ~- required with absolute addressing 206

4 Relative addressing provides additional processing power and programmer convenience. The program counter (PC) contains the address of the currently executing instruction. With relative addressing the PC functions like a base register and the address within the instruction is a displacement ftom the PC value. This allows instructions to be written with a relative rather than an absolute value. The instruction "JMP!+3" transfers control to the third instruction following the current one. Coding "JMP!+0" creates an infinite loop that an interrupt will eventually end. Initial LMC programming uses absolute addresses almost exclusively. Absolute addresses are calculated and then recalculated as instructions are moved, added, and deleted. Relative addressing simplifies some of this process. By using entirely relative and immediate addressing, relocatable programs can be written. Wherever the program is loaded in memory, it works the same. R is not dependent upon accessing data at specific absolute locations. Base displacement addressing is not implemented in the current LMC. This requires an additional register not currently included in the latest version of LMC. 5.3 Creating Data Structures ARer writing several LMC programs, students are ready to incorporate data structures into their program. Without using data structures, most LMC programs are relatively simple. The basic LMC instruction set allows both arrays and linked lists to be created. An array is uniquely identified as a contiguous area in memory that has (a) a beginning location, (b) a total length or number of elements in the array, and (c) the size of an array element, that is usually one memory location, but can be two or more locations. FIGURE III A LOOP IS CODED TO LOAD VALUES INTO THE ARRAY. IN <start location> STA 99 IN <end of array> STA 98 IN <size of clement> STA 97 graft of array end of array {an element is one memory Inesttinn~ After an array is created, standard processing functions can be implemented, including finding the largest (smallest) element in the array, the location where the largest (smallest) element is stored, the sum of the elements in the array, whether a particular value occurs in the array and how many times it occurs, and processing the elements at opposite ends of the array. A standard LMC looping structure is used for most array processing. Prior to beginning processing an array with N elements, load N into the accumulator and subtract 1. The N array elements are processed with subscript values of N- 1, N , 0. When the subscript becomes negative, the loop is terminated. A SKI' instruction (skip if value is greater than or equal to zero) controls processing. Linked lists are a special type of array where each element in the array consists of two consecutive memory addresses. The low memory address contains the data value and the second holds the address of the next location in the linked list. A tree is a further generalization with three memory locations, a data value and two pointers. However, the small amount of memory available with LMC limits the scope of linked list and tree processing. 5.4 Impure Code and Pure Code Another illustration of the von Neumarm architecture involves writing a program whose executable instructions are modified while the program runs. Such code is sometimes said to be impure or noureentrant. During execution, the program code is different than the code at the beginning of execution. Most programs modify data, not their own instructions. In the impure code shown in Figure IV every element in an array is set to zero. FIGURE IV "PURE" VERSUS "IMPURE" CODE Mailbox/Instruction/Address (A) 03 LDA 99 load data value, which is a store instruction 04 STA 05 place the store instruction in location 5 05 DAT 000 a 0 is stored in an array element 06 LDA 99 the value in 99 is loaded into the accumulator 07 ADD # 1 the accumulator value is incremented by 1 08 STA 99 the value is stored in location JMP 05 control transfers to location DAT 240 d~aa value and store value in location 40 Mailbox/Instruction/Address (B) 04 LDA 00 load 0 in the accumulator 05 STA *85 store 0 at location contained in location LDA 85 as in code the value that serves as the array 07 ADD #1 subscript is incremented by I 08 STA 85 09JMP DAT 40 control transfers to location 05 data value and also location 40 in memory The impure code shown in Figure IV(A) can be modified in several ways to create comparable pure code. Several techniques are possible. Figure IV(B) uses indirect addresses. 5.5 Operating System Concepts LMC also introduces fundamental Operating Systems (OS) concepts in several different ways. While Englander discusses a "Little Man multitasking OS" or MINOS in [I], we prefer to focus only on a single-task OS since it can be illustrated with the LMC simulator. With the major 207

5 difference between single-tasking and multi-tasking OSs being context-switching in response to interrupts, interrupts are not currently supported in our LMC simulator. First, students understand that the external reset for the LMC location counter is similar to the bootstrap process of a real computer accessing a predetermined address in ROM to load the OS kernel. Second, students realize the LMC is a one-trick pony in that it only executes a single program and stops. A real computer would have an operating system allocating resources between different processes and would not stop and require rebooting after the execution of each program. Third, visualizing the fetchexecute cycle with the use of highlighted colors demonstrates the clustering "concept of locality" upon which virtual memory and caching is based. Lastly, students learn to appreciate the OS fimction to maximize available memory space for applications to both load and execute. We have already discussed the use of a Loader program showing how an OS may relocate programs within memory under the dynamic computer conditions at load ttirne. We can illustrate variable memory partitioning algorithms such as best-fit, f~t-fit, largest fit, and worst fit and then visually compare the fragmentation results. A visualization of external fi'agmentation highlights the relationship between scheduling and memory management - available memory limits the number and rate at which user processes can be scheduled for CPU execution with the main tradeoff being blocking (no execution) versus delay (response time). 6 Future LMC Enhancements One planned significant enhancement is index register/displacement addressing. This will provide an important addressing method. It requires an index register. Including one or more General Purpose Registers is also being considered. Register-to-Register addressing could be used with many of the instructions. Another enhancement is to take an individual instruction and decompose the steps (microcode) that comprise its fetch/execute cycle. This will require at least three additional registers: Memory Address Register (MAR), Memory Data Register (MDR), and Instruction Register (If). Depending on the addressing mode used, the Fetch/Execute cycle will change. 7 Summary We have presented a web-based simulation of a general computer architecture based on the LMC paradigm of Stuart Madnick/Irv Englander and showed how LMC can be used as the central tool for Computer Architecture and Assembly Language Education (CAALE). We feel that the use of interactive simulation is a powerful tool to enable CAALE active learning and report our teaching techniques here with the hope that others will use LMC and provide us feedback. With the success of this LMC simulation of a general computer architecture, we have embarked on simulating more complex computer architectures modeled on real CPUs. Specifically we want students to visualize different ways of implementing the von Neumann architecture based on cost/speed tradeoffs. We have a prototype 8085 CPLI simulator in beta test and a VAX11 CPU simulator under development. See the following URL for future contributions: 8 Acknowledgments The following students are especially acknowledged since they were instrumental in the development of this LMC simulation: Anita Knap who programmed the fwst LMC prototype, Rahul Gedupudi who programmed this second version of LMC simulation as a Masters Project [3] and continues to maintain and provide upgrades, and lastly all the students with ACS 254 classes at Illinois State University during the Fall 1999/Spring 2000/Fall 2000 semesters who learned along with us the value of active learning using interactive simulation. We would also like to thank the anonymous reviewers whose insightful comments greatly improved this paper. References [1] Englander, I., The Architecture of Hardware and Systems Software: An Information Technology Approach second edition, John Wiley & Sons (2000). [2] Cassel, L., Kumar, D. et. al. Distributed Expertise for Teaching Computer Organization & Architecture, ITiCSE 2000 Working Group Report [to appear in the ACM SIGCSE Bulletin], (July 2000). [3] Gedupudi, R., Simulation of Little Man Computer, Masters Degree Project Documentation, Department of Applied Computer Science, Illinois State University, (February 29, 2000). [4] Yehezkel, C., Yurcik, W., and Pearson, M. Teaching Computer Architecture with a Computer-Aided Learning Environment: State-of-the-Art Simulators, Proceedings of the 2001 International ConJbrence on Simulation and Multimedia in Engineering Education (ICSEE), Society for Computer Simulation (SCS) Press, (January 2001). [5] Yurcik, W., Vila J., and Brnrnhaugh L., An Interactive Web-Based Simulation of a General Computer Architecture, Proceedings of IEEE International Conference on Engineering and Computer Education, (August 2000). 208

Copyright 2000 N. AYDIN. All rights reserved. 1

Copyright 2000 N. AYDIN. All rights reserved. 1 Computer Architecture Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin A virtual processor for understanding instruction cycle The Visible Virtual Machine (VVM) 1 2 The

More information

1 Little Man Computer

1 Little Man Computer 1 Little Man Computer Session 5 Reference Notes CPU Architecture and Assembly 1.1 Versions Little Man Computer is a widely used simulator of a (very simple) computer. There are a number of implementations.

More information

Teaching London Computing

Teaching London Computing Teaching London Computing CAS London CPD Day 2016 Little Man Computer William Marsh School of Electronic Engineering and Computer Science Queen Mary University of London Overview and Aims LMC is a computer

More information

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015 Advanced Parallel Architecture Lesson 3 Annalisa Massini - 2014/2015 Von Neumann Architecture 2 Summary of the traditional computer architecture: Von Neumann architecture http://williamstallings.com/coa/coa7e.html

More information

Little Man Computer (LMC)

Little Man Computer (LMC) Little Man Computer (LMC) A-level Computing Independent Study Project Part Two The Little Man Computer (LMC) is a simulator which models the basic features of a modern computer. It features a central processing

More information

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 11 Instruction Sets: Addressing Modes and Formats

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 11 Instruction Sets: Addressing Modes and Formats William Stallings Computer Organization and Architecture 8 th Edition Chapter 11 Instruction Sets: Addressing Modes and Formats Addressing Modes Immediate Direct Indirect Register Register Indirect Displacement

More information

3.0 Instruction Set. 3.1 Overview

3.0 Instruction Set. 3.1 Overview 3.0 Instruction Set 3.1 Overview There are 16 different P8 instructions. Research on instruction set usage was the basis for instruction selection. Each instruction has at least two addressing modes, with

More information

SCRAM Introduction. Philipp Koehn. 19 February 2018

SCRAM Introduction. Philipp Koehn. 19 February 2018 SCRAM Introduction Philipp Koehn 19 February 2018 This eek 1 Fully work through a computer circuit assembly code Simple but Complete Random Access Machine (SCRAM) every instruction is 8 bit 4 bit for op-code:

More information

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

ASSEMBLY LANGUAGE MACHINE ORGANIZATION ASSEMBLY LANGUAGE MACHINE ORGANIZATION CHAPTER 3 1 Sub-topics The topic will cover: Microprocessor architecture CPU processing methods Pipelining Superscalar RISC Multiprocessing Instruction Cycle Instruction

More information

Microcontroller Systems

Microcontroller Systems µcontroller systems 1 / 43 Microcontroller Systems Engineering Science 2nd year A2 Lectures Prof David Murray david.murray@eng.ox.ac.uk www.robots.ox.ac.uk/ dwm/courses/2co Michaelmas 2014 µcontroller

More information

CHAPTER SIX BASIC COMPUTER ORGANIZATION AND DESIGN

CHAPTER SIX BASIC COMPUTER ORGANIZATION AND DESIGN CHAPTER SIX BASIC COMPUTER ORGANIZATION AND DESIGN 6.1. Instruction Codes The organization of a digital computer defined by: 1. The set of registers it contains and their function. 2. The set of instructions

More information

Instruction Sets: Characteristics and Functions Addressing Modes

Instruction Sets: Characteristics and Functions Addressing Modes Instruction Sets: Characteristics and Functions Addressing Modes Chapters 10 and 11, William Stallings Computer Organization and Architecture 7 th Edition What is an Instruction Set? The complete collection

More information

Why learn Computer Programming? Computer-based problem solving in Science and Engineering. Why learn Fortran? Elementary Computer Organization

Why learn Computer Programming? Computer-based problem solving in Science and Engineering. Why learn Fortran? Elementary Computer Organization CSE 1540.03 Week #1.1 January 6, 2014 Computer-based problem solving in Science and Engineering Pure math: about beautiful relationships, e.g. partial differential equations Applied math: pure math applied

More information

Chapter 4. MARIE: An Introduction to a Simple Computer. Chapter 4 Objectives. 4.1 Introduction. 4.2 CPU Basics

Chapter 4. MARIE: An Introduction to a Simple Computer. Chapter 4 Objectives. 4.1 Introduction. 4.2 CPU Basics Chapter 4 Objectives Learn the components common to every modern computer system. Chapter 4 MARIE: An Introduction to a Simple Computer Be able to explain how each component contributes to program execution.

More information

Chapter 4. MARIE: An Introduction to a Simple Computer

Chapter 4. MARIE: An Introduction to a Simple Computer Chapter 4 MARIE: An Introduction to a Simple Computer Chapter 4 Objectives Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution.

More information

VARDHAMAN COLLEGE OF ENGINEERING (AUTONOMOUS) Shamshabad, Hyderabad

VARDHAMAN COLLEGE OF ENGINEERING (AUTONOMOUS) Shamshabad, Hyderabad Introduction to MS-DOS Debugger DEBUG In this laboratory, we will use DEBUG program and learn how to: 1. Examine and modify the contents of the 8086 s internal registers, and dedicated parts of the memory

More information

MARIE: An Introduction to a Simple Computer

MARIE: An Introduction to a Simple Computer MARIE: An Introduction to a Simple Computer 4.2 CPU Basics The computer s CPU fetches, decodes, and executes program instructions. The two principal parts of the CPU are the datapath and the control unit.

More information

Computer Organization and Technology Processor and System Structures

Computer Organization and Technology Processor and System Structures Computer Organization and Technology Processor and System Structures Assoc. Prof. Dr. Wattanapong Kurdthongmee Division of Computer Engineering, School of Engineering and Resources, Walailak University

More information

Assembly Language Programming of 8085

Assembly Language Programming of 8085 Assembly Language Programming of 8085 Topics 1. Introduction 2. Programming model of 8085 3. Instruction set of 8085 4. Example Programs 5. Addressing modes of 8085 6. Instruction & Data Formats of 8085

More information

UNIT-II. Part-2: CENTRAL PROCESSING UNIT

UNIT-II. Part-2: CENTRAL PROCESSING UNIT Page1 UNIT-II Part-2: CENTRAL PROCESSING UNIT Stack Organization Instruction Formats Addressing Modes Data Transfer And Manipulation Program Control Reduced Instruction Set Computer (RISC) Introduction:

More information

The MARIE Architecture

The MARIE Architecture The MARIE Machine Architecture that is Really Intuitive and Easy. We now define the ISA (Instruction Set Architecture) of the MARIE. This forms the functional specifications for the CPU. Basic specifications

More information

William Stallings Computer Organization and Architecture

William Stallings Computer Organization and Architecture William Stallings Computer Organization and Architecture Chapter 11 CPU Structure and Function Rev. 3.2.1 (2005-06) by Enrico Nardelli 11-1 CPU Functions CPU must: Fetch instructions Decode instructions

More information

Computer Organization II CMSC 3833 Lecture 33

Computer Organization II CMSC 3833 Lecture 33 Term MARIE Definition Machine Architecture that is Really Intuitive and Easy 4.8.1 The Architecture Figure s Architecture Characteristics: Binary, two s complement Stored program, fixed word length Word

More information

MARIE: An Introduction to a Simple Computer

MARIE: An Introduction to a Simple Computer MARIE: An Introduction to a Simple Computer Outline Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution. Understand a simple

More information

Step-by-Step Design and Simulation of a Simple CPU Architecture

Step-by-Step Design and Simulation of a Simple CPU Architecture Step-by-Step Design and Simulation of a Simple CPU Architecture Derek C. Schuurman Redeemer University College 777 Garner Road East Ancaster, Ontario, CANADA dschuurman@cs.redeemer.ca ABSTRACT This paper

More information

Instruction Set II. COMP 212 Computer Organization & Architecture. COMP 212 Fall Lecture 7. Instruction Set. Quiz. What is an Instruction Set?

Instruction Set II. COMP 212 Computer Organization & Architecture. COMP 212 Fall Lecture 7. Instruction Set. Quiz. What is an Instruction Set? COMP 212 Computer Organization & Architecture Quiz COMP 212 Fall 2008 Lecture 7 Fill in your student number only, do NOT write down your name Open book, but NO calculator, NO discussions, Relax and have

More information

Introduction to MiniSim A Simple von Neumann Machine

Introduction to MiniSim A Simple von Neumann Machine Math 121: Introduction to Computing Handout #19 Introduction to MiniSim A Simple von Neumann Machine Programming languages like C, C++, Java, or even Karel are called high-level languages because they

More information

CS/EE 260. Digital Computers Organization and Logical Design

CS/EE 260. Digital Computers Organization and Logical Design CS/EE 260. Digital Computers Organization and Logical Design David M. Zar Computer Science and Engineering Department Washington University dzar@cse.wustl.edu http://www.cse.wustl.edu/~dzar/class/260 Digital

More information

The CPU and Memory. How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram:

The CPU and Memory. How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram: The CPU and Memory How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram: 1 Registers A register is a permanent storage location within

More information

Chapter 3. Z80 Instructions & Assembly Language. Von Neumann Architecture. Memory. instructions. program. data

Chapter 3. Z80 Instructions & Assembly Language. Von Neumann Architecture. Memory. instructions. program. data Von Neumann Architecture The von Neumann architecture is a computer design model that uses a processing unit and a separate storage to hold both instructions and data To run a machine, program and data

More information

Digital System Design Using Verilog. - Processing Unit Design

Digital System Design Using Verilog. - Processing Unit Design Digital System Design Using Verilog - Processing Unit Design 1.1 CPU BASICS A typical CPU has three major components: (1) Register set, (2) Arithmetic logic unit (ALU), and (3) Control unit (CU) The register

More information

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015 Advanced Parallel Architecture Lesson 3 Annalisa Massini - Von Neumann Architecture 2 Two lessons Summary of the traditional computer architecture Von Neumann architecture http://williamstallings.com/coa/coa7e.html

More information

2.2 THE MARIE Instruction Set Architecture

2.2 THE MARIE Instruction Set Architecture 2.2 THE MARIE Instruction Set Architecture MARIE has a very simple, yet powerful, instruction set. The instruction set architecture (ISA) of a machine specifies the instructions that the computer can perform

More information

Chapter 5. Computer Architecture Organization and Design. Computer System Architecture Database Lab, SANGJI University

Chapter 5. Computer Architecture Organization and Design. Computer System Architecture Database Lab, SANGJI University Chapter 5. Computer Architecture Organization and Design Computer System Architecture Database Lab, SANGJI University Computer Architecture Organization and Design Instruction Codes Computer Registers

More information

Chapter 3 : Control Unit

Chapter 3 : Control Unit 3.1 Control Memory Chapter 3 Control Unit The function of the control unit in a digital computer is to initiate sequences of microoperations. When the control signals are generated by hardware using conventional

More information

CPU. Fall 2003 CSE 207 Digital Design Project #4 R0 R1 R2 R3 R4 R5 R6 R7 PC STATUS IR. Control Logic RAM MAR MDR. Internal Processor Bus

CPU. Fall 2003 CSE 207 Digital Design Project #4 R0 R1 R2 R3 R4 R5 R6 R7 PC STATUS IR. Control Logic RAM MAR MDR. Internal Processor Bus http://www.engr.uconn.edu/~barry/cse207/fa03/project4.pdf Page 1 of 16 Fall 2003 CSE 207 Digital Design Project #4 Background Microprocessors are increasingly common in every day devices. Desktop computers

More information

Programming Level A.R. Hurson Department of Computer Science Missouri University of Science & Technology Rolla, Missouri

Programming Level A.R. Hurson Department of Computer Science Missouri University of Science & Technology Rolla, Missouri Programming Level A.R. Hurson Department of Computer Science Missouri University of Science & Technology Rolla, Missouri 65409 hurson@mst.edu A.R. Hurson 1 Programming Level Computer: A computer with a

More information

Notes: The Marie Simulator

Notes: The Marie Simulator The Accumulator (AC) is the register where calculations are performed. To add two numbers together, a) load the first number into the accumulator with a Load instruction b) Add the second number to the

More information

Module 5 - CPU Design

Module 5 - CPU Design Module 5 - CPU Design Lecture 1 - Introduction to CPU The operation or task that must perform by CPU is: Fetch Instruction: The CPU reads an instruction from memory. Interpret Instruction: The instruction

More information

ORG ; TWO. Assembly Language Programming

ORG ; TWO. Assembly Language Programming Dec 2 Hex 2 Bin 00000010 ORG ; TWO Assembly Language Programming OBJECTIVES this chapter enables the student to: Explain the difference between Assembly language instructions and pseudo-instructions. Identify

More information

Blog -

Blog - . Instruction Codes Every different processor type has its own design (different registers, buses, microoperations, machine instructions, etc) Modern processor is a very complex device It contains Many

More information

Assembly Language Programming of 8085

Assembly Language Programming of 8085 Assembly Language Programming of 8085 1. Introduction A microprocessor executes instructions given by the user Instructions should be in a language known to the microprocessor Microprocessor understands

More information

CPE 323 MSP430 INSTRUCTION SET ARCHITECTURE (ISA)

CPE 323 MSP430 INSTRUCTION SET ARCHITECTURE (ISA) CPE 323 MSP430 INSTRUCTION SET ARCHITECTURE (ISA) Aleksandar Milenković Email: milenka@uah.edu Web: http://www.ece.uah.edu/~milenka Objective Introduce MSP430 Instruction Set Architecture (Class of ISA,

More information

CPU ARCHITECTURE. QUESTION 1 Explain how the width of the data bus and system clock speed affect the performance of a computer system.

CPU ARCHITECTURE. QUESTION 1 Explain how the width of the data bus and system clock speed affect the performance of a computer system. CPU ARCHITECTURE QUESTION 1 Explain how the width of the data bus and system clock speed affect the performance of a computer system. ANSWER 1 Data Bus Width the width of the data bus determines the number

More information

A3 Computer Architecture

A3 Computer Architecture A3 Computer Architecture Engineering Science 3rd year A3 Lectures Prof David Murray david.murray@eng.ox.ac.uk www.robots.ox.ac.uk/ dwm/courses/3co Michaelmas 2000 1 / 1 2: Introduction to the CPU 3A3 Michaelmas

More information

Processing Unit CS206T

Processing Unit CS206T Processing Unit CS206T Microprocessors The density of elements on processor chips continued to rise More and more elements were placed on each chip so that fewer and fewer chips were needed to construct

More information

csitnepal Unit 3 Basic Computer Organization and Design

csitnepal Unit 3 Basic Computer Organization and Design Unit 3 Basic Computer Organization and Design Introduction We introduce here a basic computer whose operation can be specified by the resister transfer statements. Internal organization of the computer

More information

Wednesday, February 4, Chapter 4

Wednesday, February 4, Chapter 4 Wednesday, February 4, 2015 Topics for today Introduction to Computer Systems Static overview Operation Cycle Introduction to Pep/8 Features of the system Operational cycle Program trace Categories of

More information

What Are The Main Differences Between Program Counter Pc And Instruction Register Ir

What Are The Main Differences Between Program Counter Pc And Instruction Register Ir What Are The Main Differences Between Program Counter Pc And Instruction Register Ir and register-based instructions - Anatomy on a CPU - Program Counter (PC): holds memory address of next instruction

More information

Chapter 4. Chapter 4 Objectives. MARIE: An Introduction to a Simple Computer

Chapter 4. Chapter 4 Objectives. MARIE: An Introduction to a Simple Computer Chapter 4 MARIE: An Introduction to a Simple Computer Chapter 4 Objectives Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution.

More information

The Little Man Computer - Interface

The Little Man Computer - Interface The Little Man Computer - Interface 1. Assembly Language goes here 2. Click ʻCompileʼ 3. Instructions appear as 3-digit opcodes here 4. You can RUN the program, watch it run SLOWly or STEP through the

More information

1. INTRODUCTION TO MICROPROCESSOR AND MICROCOMPUTER ARCHITECTURE:

1. INTRODUCTION TO MICROPROCESSOR AND MICROCOMPUTER ARCHITECTURE: 1. INTRODUCTION TO MICROPROCESSOR AND MICROCOMPUTER ARCHITECTURE: A microprocessor is a programmable electronics chip that has computing and decision making capabilities similar to central processing unit

More information

Extending the Spreadsheet to Illustrate Basic CPU Operations in a Computer Literacy Course

Extending the Spreadsheet to Illustrate Basic CPU Operations in a Computer Literacy Course Extending the Spreadsheet to Illustrate Basic CPU Operations in a Computer Literacy Course by Richard E. Smith, Ph.D. Department of Quantitative Methods and Computer Science University of St. Thomas 402

More information

Question 1: What criteria define Von Neumann architecture? Identify clearly and coherently. Solution

Question 1: What criteria define Von Neumann architecture? Identify clearly and coherently. Solution This webpage has designed and created to represent the solutions of course assignment-2 of ITEC 1000: Introduction to Information Technologies. Little Man Computer model is originally developed by Dr.

More information

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 01, SPRING 2013

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 01, SPRING 2013 CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 01, SPRING 2013 TOPICS TODAY Course overview Levels of machines Machine models: von Neumann & System Bus Fetch-Execute Cycle Base

More information

Chapter 2 Instruction Set Architecture

Chapter 2 Instruction Set Architecture Chapter 2 Instruction Set Architecture Course Outcome (CO) - CO2 Describe the architecture and organization of computer systems Program Outcome (PO) PO1 Apply knowledge of mathematics, science and engineering

More information

Information Science 1

Information Science 1 Information Science 1 - Representa*on of Data in Memory- Week 03 College of Information Science and Engineering Ritsumeikan University Topics covered l Basic terms and concepts of The Structure of a Computer

More information

Latches. IT 3123 Hardware and Software Concepts. Registers. The Little Man has Registers. Data Registers. Program Counter

Latches. IT 3123 Hardware and Software Concepts. Registers. The Little Man has Registers. Data Registers. Program Counter IT 3123 Hardware and Software Concepts Notice: This session is being recorded. CPU and Memory June 11 Copyright 2005 by Bob Brown Latches Can store one bit of data Can be ganged together to store more

More information

CS2304-SYSTEM SOFTWARE 2 MARK QUESTION & ANSWERS. UNIT I INTRODUCTION

CS2304-SYSTEM SOFTWARE 2 MARK QUESTION & ANSWERS. UNIT I INTRODUCTION CS2304-SYSTEM SOFTWARE 2 MARK QUESTION & ANSWERS. UNIT I INTRODUCTION 1. Define System Software. System software consists of a variety of programs that supports the operations of a computer. Eg. Compiler,

More information

Computer Organization CS 206 T Lec# 2: Instruction Sets

Computer Organization CS 206 T Lec# 2: Instruction Sets Computer Organization CS 206 T Lec# 2: Instruction Sets Topics What is an instruction set Elements of instruction Instruction Format Instruction types Types of operations Types of operand Addressing mode

More information

CC312: Computer Organization

CC312: Computer Organization CC312: Computer Organization Dr. Ahmed Abou EL-Farag Dr. Marwa El-Shenawy 1 Chapter 4 MARIE: An Introduction to a Simple Computer Chapter 4 Objectives Learn the components common to every modern computer

More information

Computer Architecture

Computer Architecture Computer Architecture Lecture 1: Digital logic circuits The digital computer is a digital system that performs various computational tasks. Digital computers use the binary number system, which has two

More information

2 MARKS Q&A 1 KNREDDY UNIT-I

2 MARKS Q&A 1 KNREDDY UNIT-I 2 MARKS Q&A 1 KNREDDY UNIT-I 1. What is bus; list the different types of buses with its function. A group of lines that serves as a connecting path for several devices is called a bus; TYPES: ADDRESS BUS,

More information

Main Points of the Computer Organization and System Software Module

Main Points of the Computer Organization and System Software Module Main Points of the Computer Organization and System Software Module You can find below the topics we have covered during the COSS module. Reading the relevant parts of the textbooks is essential for a

More information

CS 101, Mock Computer Architecture

CS 101, Mock Computer Architecture CS 101, Mock Computer Architecture Computer organization and architecture refers to the actual hardware used to construct the computer, and the way that the hardware operates both physically and logically

More information

Computer Organisation CS303

Computer Organisation CS303 Computer Organisation CS303 Module Period Assignments 1 Day 1 to Day 6 1. Write a program to evaluate the arithmetic statement: X=(A-B + C * (D * E-F))/G + H*K a. Using a general register computer with

More information

Have difficulty identifying any products Not incorporating embedded processor FPGA or CPLD In one form or another

Have difficulty identifying any products Not incorporating embedded processor FPGA or CPLD In one form or another Introduction Embedded systems Continue pervasive expansion into Vast variety of electronic systems and products Aircraft and automobiles games and medical equipment Have difficulty identifying any products

More information

Architecture & Instruction set of 8085 Microprocessor and 8051 Micro Controller

Architecture & Instruction set of 8085 Microprocessor and 8051 Micro Controller of 8085 microprocessor 8085 is pronounced as "eighty-eighty-five" microprocessor. It is an 8-bit microprocessor designed by Intel in 1977 using NMOS technology. It has the following configuration 8-bit

More information

Computer Architecture (part 2)

Computer Architecture (part 2) Computer Architecture (part 2) Topics: Machine Organization Machine Cycle Program Execution Machine Language Types of Memory & Access 2 Chapter 5 The Von Neumann Architecture 1 Arithmetic Logic Unit (ALU)

More information

Little Man Computer. Copyright 2019 Peter Roberts

Little Man Computer. Copyright 2019 Peter Roberts Little Man Computer Copyright 2019 Peter Roberts Table of Contents 1. LMC5... 1.1. Introduction... 1.2. Getting Started... 1.2.1. Macros... 1.2.1.1. ClearRam... 1.2.1.2. clearsource... 1.2.1.3. firstpass...

More information

Computer Organization

Computer Organization Computer Organization (Instruction set Architecture & Assembly Language Programming) KR Chowdhary Professor & Head Email: kr.chowdhary@gmail.com webpage: krchowdhary.com Department of Computer Science

More information

Wednesday, September 13, Chapter 4

Wednesday, September 13, Chapter 4 Wednesday, September 13, 2017 Topics for today Introduction to Computer Systems Static overview Operation Cycle Introduction to Pep/9 Features of the system Operational cycle Program trace Categories of

More information

Blog - https://anilkumarprathipati.wordpress.com/

Blog - https://anilkumarprathipati.wordpress.com/ Control Memory 1. Introduction The function of the control unit in a digital computer is to initiate sequences of microoperations. When the control signals are generated by hardware using conventional

More information

General purpose registers These are memory units within the CPU designed to hold temporary data.

General purpose registers These are memory units within the CPU designed to hold temporary data. Von Neumann Architecture Single processor is used Each instruction in a program follows a linear sequence of fetch decode execute cycle Program and data are held in same main memory Stored program Concept

More information

Microprocessor Theory

Microprocessor Theory Microprocessor Theory and Applications with 68000/68020 and Pentium M. RAFIQUZZAMAN, Ph.D. Professor California State Polytechnic University Pomona, California and President Rafi Systems, Inc. WILEY A

More information

ECE 375 Computer Organization and Assembly Language Programming Winter 2018 Solution Set #2

ECE 375 Computer Organization and Assembly Language Programming Winter 2018 Solution Set #2 ECE 375 Computer Organization and Assembly Language Programming Winter 2018 Set #2 1- Consider the internal structure of the pseudo-cpu discussed in class augmented with a single-port register file (i.e.,

More information

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit Lecture1: introduction Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit 1 1. History overview Computer systems have conventionally

More information

COSC 243. Instruction Sets And Addressing Modes. Lecture 7&8 Instruction Sets and Addressing Modes. COSC 243 (Computer Architecture)

COSC 243. Instruction Sets And Addressing Modes. Lecture 7&8 Instruction Sets and Addressing Modes. COSC 243 (Computer Architecture) COSC 243 Instruction Sets And Addressing Modes 1 Overview This Lecture Source Chapters 12 & 13 (10 th editition) Textbook uses x86 and ARM (we use 6502) Next 2 Lectures Assembly language programming 2

More information

Practical Course File For

Practical Course File For Practical Course File For Microprocessor (IT 473) B.Tech (IT) IV-SEM Department of IT University Institute of Engineering & Technology Panjab University, Chandigarh Page 1 INTRODUCTION... 4 EXPERIMENT-1:

More information

A Java-based Computer Simulator and its Applications

A Java-based Computer Simulator and its Applications A Java-based Computer Simulator and its Applications John K. Estell Bluffton College Session 2220 Abstract This paper describes a learning philosophy for computer science that is based on having students

More information

CHAPTER 5 Basic Organization and Design Outline Instruction Codes Computer Registers Computer Instructions Timing and Control Instruction Cycle

CHAPTER 5 Basic Organization and Design Outline Instruction Codes Computer Registers Computer Instructions Timing and Control Instruction Cycle CS 224: Computer Organization S.KHABET CHAPTER 5 Basic Organization and Design Outline Instruction Codes Computer Registers Computer Instructions Timing and Control Instruction Cycle Memory Reference Instructions

More information

Basic Processing Unit: Some Fundamental Concepts, Execution of a. Complete Instruction, Multiple Bus Organization, Hard-wired Control,

Basic Processing Unit: Some Fundamental Concepts, Execution of a. Complete Instruction, Multiple Bus Organization, Hard-wired Control, UNIT - 7 Basic Processing Unit: Some Fundamental Concepts, Execution of a Complete Instruction, Multiple Bus Organization, Hard-wired Control, Microprogrammed Control Page 178 UNIT - 7 BASIC PROCESSING

More information

PESIT Bangalore South Campus

PESIT Bangalore South Campus INTERNAL ASSESSMENT TEST I Date: 30/08/2017 Max Marks: 40 Subject & Code: Computer Organization 15CS34 Semester: III (A & B) Name of the faculty: Mrs.Sharmila Banu.A Time: 8.30 am 10.00 am Answer any FIVE

More information

Major Advances (continued)

Major Advances (continued) CSCI 4717/5717 Computer Architecture Topic: RISC Processors Reading: Stallings, Chapter 13 Major Advances A number of advances have occurred since the von Neumann architecture was proposed: Family concept

More information

UNIT- 5. Chapter 12 Processor Structure and Function

UNIT- 5. Chapter 12 Processor Structure and Function UNIT- 5 Chapter 12 Processor Structure and Function CPU Structure CPU must: Fetch instructions Interpret instructions Fetch data Process data Write data CPU With Systems Bus CPU Internal Structure Registers

More information

Question Bank Microprocessor and Microcontroller

Question Bank Microprocessor and Microcontroller QUESTION BANK - 2 PART A 1. What is cycle stealing? (K1-CO3) During any given bus cycle, one of the system components connected to the system bus is given control of the bus. This component is said to

More information

Department of Computer and Mathematical Sciences. Lab 4: Introduction to MARIE

Department of Computer and Mathematical Sciences. Lab 4: Introduction to MARIE Department of Computer and Mathematical Sciences CS 3401 Assembly Language 4 Lab 4: Introduction to MARIE Objectives: The main objective of this lab is to get you familiarized with MARIE a simple computer

More information

COMPUTER ORGANIZATION & ARCHITECTURE

COMPUTER ORGANIZATION & ARCHITECTURE COMPUTER ORGANIZATION & ARCHITECTURE Instructions Sets Architecture Lesson 5a 1 What are Instruction Sets The complete collection of instructions that are understood by a CPU Can be considered as a functional

More information

Design and Construction of a PC-Based Stack Machine Simulator for Undergraduate Computer Science & Engineering Courses

Design and Construction of a PC-Based Stack Machine Simulator for Undergraduate Computer Science & Engineering Courses Design and Construction of a PC-Based Stack Machine Simulator for Undergraduate Computer Science & Engineering Courses Fitratullah Khan and Sohail Anwar Department of Computer Science The University of

More information

Syllabus for Computer Science General Part I

Syllabus for Computer Science General Part I Distribution of Questions: Part I Q1. (Compulsory: 20 marks). Any ten questions to be answered out of fifteen questions, each carrying two marks (Group A 3 questions, Group B, Group C and Group D 4 questions

More information

Gechstudentszone.wordpress.com

Gechstudentszone.wordpress.com CHAPTER -2 2.1 Basic Assembler Functions: The basic assembler functions are: ASSEMBLERS-1 Translating mnemonic language code to its equivalent object code. Assigning machine addresses to symbolic labels.

More information

HUDSON VALLEY COMMUNITY COLLEGE TROY, NEW YORK COURSE OUTLINE

HUDSON VALLEY COMMUNITY COLLEGE TROY, NEW YORK COURSE OUTLINE ACADEMIC YEAR 2017-2018 HUDSON VALLEY COMMUNITY COLLEGE TROY, NEW YORK COURSE OUTLINE COURSE TITLE: Assembly Language And Computer Architecture COURSE SUBJECT AND NUMBER: CISS 280 DEPARTMENT: Computing

More information

(2) Explain the addressing mode of OR What do you mean by addressing mode? Explain diff. addressing mode for 8085 with examples.

(2) Explain the addressing mode of OR What do you mean by addressing mode? Explain diff. addressing mode for 8085 with examples. (1) Explain instruction format and Opcode format of 8085 μp with example. OR With help of examples, explain the formation of opcodes of 8085 OR What is an instruction? List type of instruction based on

More information

Chapter 10 Computer Design Basics

Chapter 10 Computer Design Basics Logic and Computer Design Fundamentals Chapter 10 Computer Design Basics Part 2 A Simple Computer Charles Kime & Thomas Kaminski 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View

More information

Introduction to Computers - Chapter 4

Introduction to Computers - Chapter 4 Introduction to Computers - Chapter 4 Since the invention of the transistor and the first digital computer of the 1940s, computers have been increasing in complexity and performance; however, their overall

More information

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital hardware modules that accomplish a specific information-processing task. Digital systems vary in

More information

GUJARAT TECHNOLOGICAL UNIVERSITY MASTER OF COMPUTER APPLICATION SEMESTER: III

GUJARAT TECHNOLOGICAL UNIVERSITY MASTER OF COMPUTER APPLICATION SEMESTER: III GUJARAT TECHNOLOGICAL UNIVERSITY MASTER OF COMPUTER APPLICATION SEMESTER: III Subject Name: Operating System (OS) Subject Code: 630004 Unit-1: Computer System Overview, Operating System Overview, Processes

More information

William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline

William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline I. Course Title: CS 280 Computer and Assembler Language 3 credits II. III. IV. Course

More information

B.C.A 2017 MICROPROCESSOR AND ASSEMBLY LANGUAGE MODULE SPECIFICATION SHEET. Course Outline

B.C.A 2017 MICROPROCESSOR AND ASSEMBLY LANGUAGE MODULE SPECIFICATION SHEET. Course Outline B.C.A 2017 MICROPROCESSOR AND ASSEMBLY LANGUAGE Course Outline MODULE SPECIFICATION SHEET The objective of the course is to expose to the students to the architecture and instruction set of typical 8-bit

More information

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University Frequently asked questions from the previous class survey CS 370: OPERATING SYSTEMS [MEMORY MANAGEMENT] Matrices in Banker s algorithm Max, need, allocated Shrideep Pallickara Computer Science Colorado

More information