# Demo program from Lecture #1

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Registers start MOV total, a ; Make the first number the subtotal ADD total, total, b ; Add the second number to the subtotal ADD total, total, c ; Add the third number to the subtotal ADD total, total, d ; Add the fourth number to the subtotal stop B stop Demo program from Lecture #1 Add four numbers together total = a + b + c + d total, a, b, c, and d are stored in memory operations (move and add) are performed in CPU how many memory CPU transfers? mov total, a total a add total, total, b total total + b Accessing memory is slow relative to the speed at which the processor can execute instructions Processors use small fast internal storage to temporarily store values called registers 1

2 ARM7TDMI Registers ARM7TDMI Registers 15 word-size registers, labelled r0, r1,..., r14 Program Counter Register, PC, also labelled r15 Current Program Status Register (CPSR) Program Counter always contains the address in memory of the next instruction to be fetched CPSR contains information about the result of the last instruction executed (e.g. Was the result zero? Was the result negative?) and the status of the processor r13 and r14 are normally reserved for special purposes and you should avoid using them 2

3 Machine Code and Assembly Language A program is composed of a sequence of instructions stored in memory as machine code Instructions determine the operations performed by the processor (e.g. add, move, multiply, subtract, compare,...) A single instruction is composed of an operator (instruction) zero, one or more operands e.g. ADD the values in r1 and r2 and store the result in r0 Operator is ADD Want to store the result in r0 (first operand) We want to add the values in r1 and r2 (second and third operands) Each instruction and its operands are encoded using a unique value e.g. 0xE is the machine that causes the processor to add the values in r1 and r2 and store the result in r3 3

4 Machine Code and Assembly Language Writing programs using machine code is possible but not practical Instead, we write programs using assembly language Instructions are expressed using mnemonics e.g. the word ADD instead of the machine code 0xE08 e.g. the expression r2 to refer to register number two, instead of the machine code value 0x2 Assembly language must still be translated into machine code Done using a program called an assembler Machine code produced by the assembler is stored in memory and executed by the processor 4

5 Program 1.1 revisited start MOV r0, r1 ; Make the first number the subtotal ADD r0, r0, r2 ; Add the second number to the subtotal ADD r0, r0, r3 ; Add the third number to the subtotal ADD r0, r0, r4 ; Add the fourth number to the subtotal stop B stop 5

6 Program 1.1 Demonstration (Demo.lst) AREA Demo, CODE, READONLY IMPORT main EXPORT start start E1A00001 MOV r0, r E ADD r0, r0, r E ADD r0, r0, r C E ADD r0, r0, r EAFFFFFE stop B stop END line address number machine code original assembly language program 6

7 Machine Code and Assembly Language Every ARM machine code instruction is 32-bits long 32-bit instruction word must encode operation (instruction) all the required instruction operands Example add r0, r0, r2 add Rd, Rn, Rm Rn Rd Rm E

8 Machine Code and Assembly Language 3. Execute the instruction R0 R4 R8 R12 2. Decode the instruction R1 R5 R9 R13 1. Fetch instruction at PC address R2 R6 R10 R14 R3 R7 R11 R15 ADD R0, R0, R3 PC PC PC PC PC 0xA xA xA000013C 0xA xA xA xA000014C 0xA xA xA xA000015C 0xA xA xA xA000016C 0xA xA bits = 4 bytes = 1 word E1A00001 E E E EAFFFFFE Memory 8

9 Program Execution Start Debug Session Program assembled and loaded into memory at a pre-defined address 32 bits = 4 bytes = 1 word Program Counter (PC) set to same pre-defined address Fetch-Decode-Execute cycle resumes What happens when we reach the end of our program? 0x9FFFFFF8 0x9FFFFFFC PC 0xA xA E1A00001 E xA xA000000C 0xA xA E E EAFFFFFE Memory 9

10 Program 3.1 Swap Registers Write an assembly language program to swap the contents of register r0 and r1 start MOV r2, r0 ; temp <-- r0 MOV r0, r1 ; r0 <-- r1 MOV r1, r2 ; r1 <-- temp stop B stop Compare both programs with respect to instructions executed and registers used... start EOR r0, r0, r1 ; r0 <-- r0 xor r1 EOR r1, r0, r1 ; r1 <-- (r0 xor r1) xor r1 = r0 EOR r0, r0, r1 ; r0 <-- (r0 xor r1) xor r0 = r1 stop B stop 10

11 Immediate Operands Register operands ADD Rd, Rn, Rm MOV Rd, Rm Often want to use constant values as operands, instead of registers ADD Rd, Rn, #x MOV Rd, #x e.g. Move the value 0 (zero) into register r0 MOV r0, #0 ; r0 <-- 0 e.g. Set r1 = r2 + 1 ADD r1, r2, #1 ; r1 <-- r2 + 1 Called an immediate operand, syntax #x 11

12 Program 3.2 Simple Arithmetic Write an assembly language program to compute if x is stored in r1. Store the result in r0 start MUL r0, r1, r1 ; result <-- x * x LDR r2, =4 ; tmp <-- 4 MUL r0, r2, r0 ; result <-- 4 * x * x LDR r2, =3 ; tmp <-- 3 MUL r2, r1, r2 ; tmp <-- x * tmp ADD r0, r0, r2 ; result <-- result + tmp stop B stop Cannot use MUL to multiply by a constant value MUL Rx, Rx, Ry produces unpredictable results [UPDATE] r1 unmodified... which may be something we want... or not 12

13 LoaD Register LDR r2, =3 ; tmp <-- 3 MUL r2, r1, r2 ; tmp <-- x * tmp Note use of operand =3 Move constant value 3 into register r2 LoaD Register instruction can be used to load any 32- bit signed constant value into a register LDR r4, =0xA000013C ; r4 <-- 0xA000013C Note use of =x syntax instead of #x with LDR instruction 13

14 MOV, LDR and Constant Values MOV r0, # E3A00007 MOV r0, #7 LDR r0, = E3A00007 LDR r0, =7 MOV r0, #0x4FE8 error: A1510E: Immediate 0x00004FE8 cannot be represented by and a rotation LDR r0, =0x4FE E59F0000 LDR r0, =0x4FE8 Cannot fit large constant values in a 32-bit instruction LDR is a pseudo-instruction that simplifies the implementation of a work-around for this limitation For small constants, LDR is replaced with MOV 14

15 Assembly Language Programming Guidelines Provide meaningful comments and assume someone else will be reading your code MUL r2, r1, r2 ; r2 <-- r1 * r2 MUL r2, r1, r2 ; tmp <-- x * tmp Break your programs into small pieces While starting out, keep programs simple Pay attention to initial values in registers (and memory) 15

### 3D1 / Microprocessor Systems I. Binary Arithmetic. Binary Arithmetic. Addition

3D / Microprocessor Systems I Addition 7 6 33 22 Carry 3D / Microprocessor Systems I What happens if we run out of digits? Adding two numbers each stored in byte (8 bits) may produce a 9-bit result 8 bits

### Assembly Language Instructions

Experiment 4 Assembly Language Instructions Lab Objective In this lab, we will learn some basic ARM assembly language instructions and write a simple programs in assembly language. ARM Assembly Instructions

### Chapter 4 ARM Instruction Sets. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Chapter 4 ARM Instruction Sets Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Outline Registers, Memory Access, and Data Transfer Arithmetic and Logic Instructions

### ARM instruction set. ARM versions. ARM assembly language

ARM instruction set ARM versions. ARM assembly language. ARM programming model. ARM memory organization. ARM data operations. ARM flow of control. ARM versions ARM architecture has been extended over several

### Lesson 08 Machine code and Compare & Test

Lesson 08 Machine code and Compare & Test 1. Overview In this lesson, machine code is discussed and the compare & test instructions supported by the Cortex-M3 processor are introduced. Again, only a subset

### COMP15111: Examples5 (2016)

COMP15111 2016 Javier Navaridas/Richard Neville/Milan Mihajlovic Examples 5 section 1: 1 COMP15111: Examples5 (2016) You can find old Computer-Science exam papers via: http://www.cs.manchester.ac.uk/assessment/exam

### Unit 5 Central Processing Unit (CPU)

Unit 5 Central Processing Unit (CPU) Introduction Part of the computer that performs the bulk of data-processing operations is called the central processing unit (CPU). It consists of 3 major parts: Register

### ARM Cortex M3: Overview & Programmer s Model

ARM Cortex M3: Overview & Programmer s Model ECE 331, Spring 2013 RISC Overview of Computing Systems ARM stands for Advanced RISC Machine RISC = Reduced Instruction Set Computer Earliest work began in

### An Introduction to Assembly Programming with the ARM 32-bit Processor Family

An Introduction to Assembly Programming with the ARM 32-bit Processor Family G. Agosta Politecnico di Milano December 3, 2011 Contents 1 Introduction 1 1.1 Prerequisites............................. 2

### The Von Neumann Model. University of Texas at Austin CS310H - Computer Organization Spring 2010 Don Fussell

The Von Neumann Model University of Texas at Austin CS310H - Computer Organization Spring 2010 Don Fussell The Stored Program Computer 1943: ENIAC Presper Eckert and John Mauchly -- first general electronic

### Machine Architecture. ITNP23: Foundations of Information Technology Una Benlic 4B69

Machine Architecture ITNP23: Foundations of Information Technology Una Benlic 4B69 ube@cs.stir.ac.uk Basic Machine Architecture In these lectures we aim to: Understand the basic architecture of a simple

### 14.1 A CLOSER LOOK AT CENTRAL PROCESSING UNIT

FORM 5 COMPUTER STUDIES Chapter 14: The Central Processing Unit March, 01 14.1 A CLOSER LOOK AT CENTRAL PROCESSING UNIT Still remember what CPU is? If not, take a look of the following: CPU is a device

### THUMB Instruction Set

5 THUMB Instruction Set This chapter describes the THUMB instruction set. Format Summary 5-2 Opcode Summary 5-3 5. Format : move shifted register 5-5 5.2 Format 2: add/subtract 5-7 5.3 Format 3: move/compare/add/subtract

### Chapter 4 Integer JAVA Virtual Machine

Processor Block Diagram Chapter 4 Integer JAVA Virtual Machine 1 of 14 ECE 357 Register Definitions PC MBR MAR MDR SP LV CPP TOS OPC H Program Counter: Access Data in Method Area Memory Branch Register:

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

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

### ARM* Instruction Set & Assembly Language. Main Features [2] Main Features [1] ARM Instruction Set Overview & Registers. *Advanced RISC Machines

ARM* Instruction Set & Assembly Language Web Sites: http://www.heyrick.co.uk/assembler/ http://dec.bournemouth.ac.uk/staff/pknaggs/sysarch/armbook.pdf ARM Instruction Set Overview & Registers http://www.arm.com/community/academy/university.html

### Graded ARM assembly language Examples

Graded ARM assembly language Examples These examples have been created to help students with the basics of Keil s ARM development system. I am providing a series of examples that demonstrate the ARM s

### Introduction to Design of a Tiny Computer

Introduction to Design of a Tiny Computer (Background of LAB#4) Objective In this lab, we will build a tiny computer in Verilog. The execution results will be displayed in the HEX[3:0] of your board. Unlike

### Pope Paul VI College Information and Communication Technology

Pope Paul VI College Information and Communication Technology CPU - Central processing unit (CPU) is the brain of a computer which and instructions of a computer program. - It executes computer instructions

### Lecture 8: ARM Arithmetic and Bitweise Instructions

Lecture 8: ARM Arithmetic and Bitweise Instructions CSE 30: Computer Organization and Systems Programming Winter 2014 Diba Mirza Dept. of Computer Science and Engineering University of California, San

### Notes on Assembly Language

Notes on Assembly Language Brief introduction to assembly programming The main components of a computer that take part in the execution of a program written in assembly code are the following: A set of

### Central Processing Unit (CPU)

Central Processing Unit (CPU) CPU is the heart and brain It interprets and executes machine level instructions Controls data transfer from/to Main Memory (MM) and CPU Detects any errors In the following

### Addressing The problem. When & Where do we encounter Data? The concept of addressing data' in computations. The implications for our machine design(s)

Addressing The problem Objectives:- When & Where do we encounter Data? The concept of addressing data' in computations The implications for our machine design(s) Introducing the stack-machine concept Slide

### SIT102 Introduction to Programming

SIT102 Introduction to Programming After working through this session you should: Understand the relationships between operating systems, their user interfaces, and programs; Understand the difference

### CPU Organization and Assembly Language

COS 140 Foundations of Computer Science School of Computing and Information Science University of Maine October 2, 2015 Outline 1 2 3 4 5 6 7 8 Homework and announcements Reading: Chapter 12 Homework:

### 8051 Programming. The 8051 may be programmed using a low-level or a high-level programming language.

8051 Programming The 8051 may be programmed using a low-level or a high-level programming language. Low-Level Programming Assembly language programming writes statements that the microcontroller directly

### ARM Instruction Set. ARM7TDMI-S Data Sheet. Final - Open Access

4 ARM Instruction Set This chapter describes the ARM instruction set. 4.1 Instruction Set Summary 4-2 4.2 The Condition Field 4-5 4.3 Branch and Exchange (BX) 4-6 4.4 Branch and Branch with Link (B, BL)

### Assembler Language "Boot Camp" Part 2 - Instructions and Addressing SHARE in San Francisco August 18-23, 2002 Session 8182

Assembler Language "Boot Camp" Part 2 - Instructions and Addressing SHARE in San Francisco August 18-23, 2002 Session 8182 1 Introduction Who are we? John Dravnieks, IBM Australia John Ehrman, IBM Silicon

### Chapter 4 Lecture 3 The Microarchitecture Level Integer JAVA Virtual Machine

Chapter 4 Lecture 3 The Microarchitecture Level Integer JAVA Virtual Machine This is a limited version of a hardware implementation to execute the JAVA programming language. 1 of 30 Review The Data Path

### Lecture 6 Machine language designed for the common case

Lecture 6 Machine language, the binary representation for instructions. We ll see how it is designed for the common case Fixed-sized (32-bit) instructions Only 3 instruction formats Limited-sized immediate

### Chapter 3. lw \$s1,100(\$s2) \$s1 = Memory[\$s2+100] sw \$s1,100(\$s2) Memory[\$s2+100] = \$s1

Chapter 3 1 MIPS Instructions Instruction Meaning add \$s1,\$s2,\$s3 \$s1 = \$s2 + \$s3 sub \$s1,\$s2,\$s3 \$s1 = \$s2 \$s3 addi \$s1,\$s2,4 \$s1 = \$s2 + 4 ori \$s1,\$s2,4 \$s2 = \$s2 4 lw \$s1,100(\$s2) \$s1 = Memory[\$s2+100]

### Embedded Systems Dr Santanu Chaudhury Department of Electrical Engineering IIT Delhi Lecture 5 ARM Processor

Embedded Systems Dr Santanu Chaudhury Department of Electrical Engineering IIT Delhi Lecture 5 ARM Processor In the last class we had discussed PIC processors which were targeted primarily for low end

### what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

Inside the CPU how does the CPU work? what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? some short, boring programs to illustrate the

### what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

Inside the CPU how does the CPU work? what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? some short, boring programs to illustrate the

### Computer Architecture

PhD Qualifiers Examination Computer Architecture Spring 2009 NOTE: 1. This is a CLOSED book, CLOSED notes exam. 2. Please show all your work clearly in legible handwriting. 3. State all your assumptions.

### AS COMPUTER SCIENCE (7516/2)

SPECIMEN MATERIAL AS COMPUTER SCIENCE (7516/2) Paper 2 Date Morning Time allowed: 1 hour 30 minutes Materials There are no additional materials required for this paper. Instructions Use black ink or black

### LSN 2 Computer Processors

LSN 2 Computer Processors Department of Engineering Technology LSN 2 Computer Processors Microprocessors Design Instruction set Processor organization Processor performance Bandwidth Clock speed LSN 2

### ARM Cortex-M3 Assembly Language

ARM Cortex-M3 Assembly Language When a high level language compiler processes source code, it generates the assembly language translation of all of the high level code into a processor s specific set of

### Chapter 04: Instruction Sets and the Processor organizations. Lesson 02 Register transfers

Chapter 04: Instruction Sets and the Processor organizations Lesson 02 Register transfers Learn register transfer Objective 2 Register transfer 3 Register transfer or register move or load Register transfer

### Instruction Set Architecture. or How to talk to computers if you aren t in Star Trek

Instruction Set Architecture or How to talk to computers if you aren t in Star Trek The Instruction Set Architecture Application Compiler Instr. Set Proc. Operating System I/O system Instruction Set Architecture

### The CPU, Instruction Fetch & Execute

Lecture 2 The CPU, Instruction Fetch & Execute In Lecture 1 we learnt that the separation of data from control helped simplify the definition and design of sequential circuits, particularly when there

### ARM. Architecture, Programming and Development Tools

ARM Architecture, Programming and Development Tools Lesson 1 ARM CPUs 2 Outline ARM Processors Features of a RISC architecture ARM Family and ARM many variant architectures 3 Examples of Systems needing

### BLOCK DIAGRAM OF A COMPUTER SYSTEM

BLOCK DIAGRAM OF A COMPUTER SYSTEM Analysis of CPU In order to work, a computer needs some sort of "brain" or "calculator". At the core of every computer is a device roughly the size of a large postage

### Programmer s Model. ARM7TDMI-S Data Sheet. Final - Open Access

3 Programmer s Model This chapter describes the two operating states of the ARM7TDMI-S. 3.1 Processor Operating States 3-2 3.2 Switching State 3-3 3.3 Memory Formats 3-4 3.4 Instruction Length 3-5 3.5

### Last Class: Introduction to Operating Systems. Today: OS and Computer Architecture

Last Class: Introduction to Operating Systems User apps OS Virtual machine interface hardware physical machine interface An operating system is the interface between the user and the architecture. History

### M A S S A C H U S E T T S I N S T I T U T E O F T E C H N O L O G Y DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE

M A S S A C H U S E T T S I N S T I T U T E O F T E C H N O L O G Y DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE 1. Introduction 6.004 Computation Structures β Documentation This handout is

### Purpose and function of the CPU

Purpose and function of the CPU Teacher s Notes Lesson Plan Length 60 mins Specification Link 212/a_b Learning objective Candidates should be able to: (a) state the purpose of the CPU (b) describe the

### EE282 Computer Architecture and Organization Midterm Exam February 13, 2001. (Total Time = 120 minutes, Total Points = 100)

EE282 Computer Architecture and Organization Midterm Exam February 13, 2001 (Total Time = 120 minutes, Total Points = 100) Name: (please print) Wolfe - Solution In recognition of and in the spirit of the

### Lecture 2: MC68000 architecture

Lecture 2: MC68000 architecture g General information g Programmer s model g Memory organization g Instruction format g Our first assembly program g The sim68k simulator g Machine translation 1 MC68000

### 5 Computer Organization

5 Computer Organization 5.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, students should be able to: List the three subsystems of a computer. Describe

### Programming the Basic Computer. lecture 8

Programming the Basic Computer lecture 8 Programming the Basic Computer A computer system includes both hardware and software. Hardware consist of the physical components. Software refers to computer programs.

### PART OF THE PICTURE: Computer Architecture

PART OF THE PICTURE: Computer Architecture 1 PART OF THE PICTURE: Computer Architecture BY WILLIAM STALLINGS At a top level, a computer consists of processor, memory, and I/O components, with one or more

### CS101 Lecture 26: Low Level Programming. John Magee 30 July 2013 Some material copyright Jones and Bartlett. Overview/Questions

CS101 Lecture 26: Low Level Programming John Magee 30 July 2013 Some material copyright Jones and Bartlett 1 Overview/Questions What did we do last time? How can we control the computer s circuits? How

### 2 Programs: Instructions in the Computer

2 2 Programs: Instructions in the Computer Figure 2. illustrates the first few processing steps taken as a simple CPU executes a program. The CPU for this example is assumed to have a program counter (PC),

### The8086 Processor Architecture

Chapter 2 : The 8086 Processor Architecture By Electrical Engineering Department College of Engineering King Saud University 1431-1432 2.1. Introduction to Microprocessor Architecture 2.2. Elements of

### EC 362 Problem Set #2

EC 362 Problem Set #2 1) Using Single Precision IEEE 754, what is FF28 0000? 2) Suppose the fraction enhanced of a processor is 40% and the speedup of the enhancement was tenfold. What is the overall speedup?

### #5. Show and the AND function can be constructed from two NAND gates.

Study Questions for Digital Logic, Processors and Caches G22.0201 Fall 2009 ANSWERS Digital Logic Read: Sections 3.1 3.3 in the textbook. Handwritten digital lecture notes on the course web page. Study

### 5 Computer Organization

5 Computer Organization 5.1 Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: List the three subsystems of a computer. Describe the

### Introduction to Computer Science

Introduction to Computer Science 11/17/2008 1. (5%) How many bytes of memory are needed to store a full screen of data if the screen is made of 48 lines with 80 characteristics in each line? The system

### CHAPTER 7: The CPU and Memory

CHAPTER 7: The CPU and Memory The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint slides

### High level code and machine code

High level code and machine code Teacher s Notes Lesson Plan x Length 60 mins Specification Link 2.1.7/cde Programming languages Learning objective Students should be able to (a) explain the difference

### Summary of the MARIE Assembly Language

Supplement for Assignment # (sections.8 -. of the textbook) Summary of the MARIE Assembly Language Type of Instructions Arithmetic Data Transfer I/O Branch Subroutine call and return Mnemonic ADD X SUBT

### Basic Computer Organization

SE 292 (3:0) High Performance Computing L2: Basic Computer Organization R. Govindarajan govind@serc Basic Computer Organization Main parts of a computer system: Processor: Executes programs Main memory:

### SESSION 8 MARIE. ISE218 Fundamentals of Information Technology. Robert F. Kelly,

SESSION 8 MARIE Reading: Sections 4.8-4.11 ISE218 Fundamentals of Information Technology 2 Objectives Better understand the operations of a computer by examining a very simple processor that includes many

### CS 16: Assembly Language Programming for the IBM PC and Compatibles

CS 16: Assembly Language Programming for the IBM PC and Compatibles First, a little about you Your name Have you ever worked with/used/played with assembly language? If so, talk about it Why are you taking

### a. Chapter 1: Exercises: =>

Selected Solutions to Problem-Set #1 COE608: Computer Organization and Architecture Introduction, Instruction Set Architecture and Computer Arithmetic Chapters 1, 2 and 3 a. Chapter 1: Exercises: 1.1.1

### CHAPTER 4 MARIE: An Introduction to a Simple Computer

CHAPTER 4 MARIE: An Introduction to a Simple Computer 4.1 Introduction 145 4.1.1 CPU Basics and Organization 145 4.1.2 The Bus 147 4.1.3 Clocks 151 4.1.4 The Input/Output Subsystem 153 4.1.5 Memory Organization

### Processing Unit. Backing Store

SYSTEM UNIT Basic Computer Structure Input Unit Central Processing Unit Main Memory Output Unit Backing Store The Central Processing Unit (CPU) is the unit in the computer which operates the whole computer

### von Neumann von Neumann vs. Harvard Harvard Architecture von Neumann vs. Harvard Computer Architecture in a nutshell Microprocessor Architecture

Microprocessor Architecture Alternative approaches Two opposite examples SHARC ARM7 Computer Architecture in a nutshell Separation of CPU and memory distinguishes programmable computer. CPU fetches instructions

### Spring 2010 Prof. Hyesoon Kim

Spring 2010 Prof. Hyesoon Kim ARM is short for Advanced Risc Machines Ltd. Founded 1990, owned by Acorn, Apple and VLSI Known before becoming ARM as computer manufacturer ARM is one of the most licensed

### DATA MANIPULATION. COMS W1001 Introduction to Information Science. Boyi Xie

1 DATA MANIPULATION COMS W1001 Introduction to Information Science Boyi Xie 2 Today s Topics Computer Architecture Machine Language Program Execution Arithmetic/Logic Instructions Communication with Other

### Let s put together a Manual Processor

Lecture 14 Let s put together a Manual Processor Hardware Lecture 14 Slide 1 The processor Inside every computer there is at least one processor which can take an instruction, some operands and produce

### Embedded Computer Organization

Overview Embedded Computer Organization Siamak Mohammadi University of Tehran Processor and Computer System Architecture Micro-controllers RISC/CISC Architectures ARM Embedded CPU cores and Programming

### Programmable Logic Controllers

Programmable Logic Controllers Data Handling and Program Control Flow Instructions Dr. D. J. Jackson Lecture 8-1 Move (MOV) This output instruction moves the source value to the destination location. As

CSC 3210 Computer Organization and Programming Introduction and Overview Dr. Anu Bourgeois (modified by Yuan Long) Administrative Issues Required Prerequisites CSc 2010 Intro to CSc CSc 2310 Java Programming

### Directions to Candidates

i MATRICULATION AND SECONDARY EDUCATION CERTIFICATE EXAMINATIONS BOARD UNIVERSITY OF MALTA, MSIDA SECONDARY EDUCATION CERTIFICATE LEVEL MAY 2010 SESSION SUBJECT: Computer Studies PAPER NUMBER: IIA DATE:

### Recap & Perspective. Sequential Logic Circuits & Architecture Alternatives. Register Operation. Building a Register. Timing Diagrams.

Sequential Logic Circuits & Architecture Alternatives Recap & Perspective COMP 251 Computer Organization and Architecture Fall 2009 So Far: ALU Implementation Next: Register Implementation Register Operation

### Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2

Lecture Handout Computer Architecture Lecture No. 2 Reading Material Vincent P. Heuring&Harry F. Jordan Chapter 2,Chapter3 Computer Systems Design and Architecture 2.1, 2.2, 3.2 Summary 1) A taxonomy of

### Advanced Assembly, Branching, and Monitor Utilities

2 Advanced Assembly, Branching, and Monitor Utilities 2.1 Objectives: There are several different ways for an instruction to form effective addresses to acquire data, called addressing modes. One of these

### CS107 Handout 12 Spring 2008 April 18, 2008 Computer Architecture: Take I

CS107 Handout 12 Spring 2008 April 18, 2008 Computer Architecture: Take I Computer architecture Handout written by Julie Zelenski and Nick Parlante A simplified picture with the major features of a computer

### The Assembly Language Level

The Assembly Language Level Translators can be divided into two groups. When the source language is essentially a symbolic representation for a numerical machine language, the translator is called an assembler,

### Week Assembly Language Programming Chapter 2

Week 2 8051 Assembly Language Programming Chapter 2 1 Outline 2.1 Inside the 8051 2.2 Introduction to 8051 Assembly programming 2.3 Assembling and running an 8051 program 2.4 The program counter and ROM

### Chapter 6 Programming the LC-3

Chapter 6 Programming the LC-3 ased on slides McGraw-Hill Additional material 24/25/26 Lewis/Martin Aside: ooting the Computer How does it all begin? We have LC-3 hardware and a program, but what next?

### ARM Architecture. ARM history. Why ARM? ARM Ltd. 1983 developed by Acorn computers. Computer Organization and Assembly Languages Yung-Yu Chuang

ARM history ARM Architecture Computer Organization and Assembly Languages g Yung-Yu Chuang 1983 developed by Acorn computers To replace 6502 in BBC computers 4-man VLSI design team Its simplicity it comes

### Assembly Language: Overview! Jennifer Rexford!

Assembly Language: Overview! Jennifer Rexford! 1 Goals of this Lecture! Help you learn:! The basics of computer architecture! The relationship between C and assembly language! IA-32 assembly language,

### CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.

CS 265 Computer Architecture Wei Lu, Ph.D., P.Eng. Part 5: Processors Our goal: understand basics of processors and CPU understand the architecture of MARIE, a model computer a close look at the instruction

### Computer Organization

5 Computer Organization 5.1 Foundations of Computer Science & Cengage Learning Objectives After studying this chapter, the student should be able to: List the three subsystems of a computer. Describe the

### B. GENERATIONS OF PROGRAMMING LANGUAGES

LANGUAGE TRANSLATORS A. HIGH AND LOW LEVEL LANGUAGES Programming languages Low Level Languages Example: Assembly Language High-Level Languages Example: Pascal, Basic, Java Characteristics of LOW Level

### An Introduction to the ARM 7 Architecture

An Introduction to the ARM 7 Architecture Trevor Martin CEng, MIEE Technical Director This article gives an overview of the ARM 7 architecture and a description of its major features for a developer new

### (Refer Slide Time: 00:01:16 min)

Digital Computer Organization Prof. P. K. Biswas Department of Electronic & Electrical Communication Engineering Indian Institute of Technology, Kharagpur Lecture No. # 04 CPU Design: Tirning & Control

### Ľudmila Jánošíková. Department of Transportation Networks Faculty of Management Science and Informatics University of Žilina

Assembly Language Ľudmila Jánošíková Department of Transportation Networks Faculty of Management Science and Informatics University of Žilina Ludmila.Janosikova@fri.uniza.sk 041/5134 220 Recommended texts

### 150127-Microprocessor & Assembly Language

Chapter 3 Z80 Microprocessor Architecture The Z 80 is one of the most talented 8 bit microprocessors, and many microprocessor-based systems are designed around the Z80. The Z80 microprocessor needs an

### Introduction Difference between microcontroller and microprocessor Criteria for choosing a microcontroller Overview of 8051 microcontroller Inside

Introduction Difference between microcontroller and microprocessor Criteria for choosing a microcontroller Overview of 8051 microcontroller Inside the 8051 Inside the computer Microprocessor CPU for

### Chapter 5 Instructor's Manual

The Essentials of Computer Organization and Architecture Linda Null and Julia Lobur Jones and Bartlett Publishers, 2003 Chapter 5 Instructor's Manual Chapter Objectives Chapter 5, A Closer Look at Instruction

### ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM 1 The ARM architecture processors popular in Mobile phone systems 2 ARM Features ARM has 32-bit architecture but supports 16 bit

### appendix a The LC-3 ISA

A.1 Overview The Instruction Set Architecture (ISA) of the LC-3 is defined as follows: Memory address space 16 bits, corresponding to 2 16 locations, each containing one word (16 bits). Addresses are numbered

### A Choices Hypervisor on the ARM architecture

A Choices Hypervisor on the ARM architecture Rishi Bhardwaj, Phillip Reames, Russell Greenspan Vijay Srinivas Nori, Ercan Ucan ABSTRACT Choices is an object oriented operating system that runs on the x86

### ORG ; ZERO. Introduction To Computing

Dec 0 Hex 0 Bin 00000000 ORG ; ZERO Introduction To Computing OBJECTIVES this chapter enables the student to: Convert any number from base 2, base 10, or base 16 to any of the other two bases. Add and