© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. Instruction sets Computer architecture taxonomy. Assembly language. 1.

Slides:



Advertisements
Similar presentations
Chapter 2: Data Manipulation
Advertisements

The CPU The Central Presentation Unit What is the CPU?
Instruction Set Design
CPU Review and Programming Models CT101 – Computing Systems.
Chapter 2 Instruction Sets 金仲達教授 清華大學資訊工程學系 (Slides are taken from the textbook slides)
INTRODUCTION TO THE ARM PROCESSOR – Microprocessor Asst. Prof. Dr. Choopan Rattanapoka and Asst. Prof. Dr. Suphot Chunwiphat.
Computer Organization and Architecture
Microprocessors. Von Neumann architecture Data and instructions in single read/write memory Contents of memory addressable by location, independent of.
ΜP rocessor Architectures To : Eng. Ahmad Hassan By: Group 18.
SISD—Single Instruction Single Data Xin Meng Tufts University School of Engineering.
Embedded Systems Programming
Processor Technology and Architecture
COMP3221: Microprocessors and Embedded Systems Lecture 2: Instruction Set Architecture (ISA) Lecturer: Hui Wu Session.
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
11/11/05ELEC CISC (Complex Instruction Set Computer) Veeraraghavan Ramamurthy ELEC 6200 Computer Architecture and Design Fall 2005.
Computer Organization and Assembly language
(6.1) Central Processing Unit Architecture  Architecture overview  Machine organization – von Neumann  Speeding up CPU operations – multiple registers.
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
Processor Organization and Architecture
AVR Microcontroller and Embedded System Using Assembly and C Mazidi, Naimi, and Naimi © 2011 Pearson Higher Education, Upper Saddle River, NJ All.
Instruction Sets and Pipelining Cover basics of instruction set types and fundamental ideas of pipelining Later in the course we will go into more depth.
© 2000 Morgan Kaufman Overheads for Computers as Components Instruction sets zComputer architecture taxonomy. zAssembly language. ARM processor  PDA’s,
Levels of Architecture & Language CHAPTER 1 © copyright Bobby Hoggard / material may not be redistributed without permission.
Computer Science 210 Computer Organization The von Neumann Architecture.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
Chapter 2-2 Assembly Instructions Number Systems Number Systems Assembly Instructions Assembly Instructions Branch Branch Next Lecture Next Lecture  Addressing.
Computer Architecture And Organization UNIT-II General System Architecture.
What is µP? “An integrated circuit containing … a central processing unit (CPU) and a means to access external memory” -- (Ball 2000)
Chapter 2 Data Manipulation. © 2005 Pearson Addison-Wesley. All rights reserved 2-2 Chapter 2: Data Manipulation 2.1 Computer Architecture 2.2 Machine.
Computer Architecture 2 nd year (computer and Information Sc.)
© 2000 Morgan Kaufman Overheads for Computers as Components Architectures and instruction sets zComputer architecture taxonomy. zAssembly language.
Stored Programs In today’s lesson, we will look at: what we mean by a stored program computer how computers store and run programs what we mean by the.
1.4 Representation of data in computer systems Instructions.
Assessment Covering… Von Neuman architecture Registers – purpose and use, the fetch execute cycle.
Unit-2 Instruction Sets, CPUs
Microarchitecture. Outline Architecture vs. Microarchitecture Components MIPS Datapath 1.
Von Neumann Model Computer Organization I 1 September 2009 © McQuain, Feng & Ribbens The Stored Program Computer 1945: John von Neumann –
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
CMSC 104, Lecture 061 Stored Programs A look at how programs are executed.
RISC / CISC Architecture by Derek Ng. Overview CISC Architecture RISC Architecture  Pipelining RISC vs CISC.
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
The Processor & its components. The CPU The brain. Performs all major calculations. Controls and manages the operations of other components of the computer.
Gujarat technological university active learning assignment ON ARCHITECTURE OF AVR MICROCONTROLLER at c. K. pithawala college of engineering and technology.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
SHRI S’AD VIDYA MANDAL INSTITUTE OF TECHNOLOGY
Computer Organization
Immediate Addressing Mode
Basic Processor Structure/design
Central Processing Unit Architecture
William Stallings Computer Organization and Architecture 8th Edition
Edexcel GCSE Computer Science Topic 15 - The Processor (CPU)
Computer Science 210 Computer Organization
Modified Harvard Architectures
Chapter 4 The Von Neumann Model
Overview Introduction General Register Organization Stack Organization
Microprocessor and Assembly Language
Chapter 4 The Von Neumann Model
Teaching Computing to GCSE
CISC AND RISC SYSTEM Based on instruction set, we broadly classify Computer/microprocessor/microcontroller into CISC and RISC. CISC SYSTEM: COMPLEX INSTRUCTION.
Computer Architecture
Overheads for Computers as Components 2nd ed.
Classification of instructions
Overheads for Computers as Components 2nd ed.
Introduction to Microprocessor Programming
Computer Architecture
CPU Structure CPU must:
Introduction to Assembly Chapter 2
Chapter 4 The Von Neumann Model
Presentation transcript:

© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. Instruction sets Computer architecture taxonomy. Assembly language. 1

© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. von Neumann architecture Memory holds data, instructions. Central processing unit (CPU) fetches instructions from memory. Separate CPU and memory distinguishes programmable computer. CPU registers help out: program counter (PC), instruction register (IR), general- purpose registers, etc. 2

© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. CPU + memory memory CPU PC address data IRADD r5,r1,r3 200 ADD r5,r1,r3 3

© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed.Slide 4 The von Neumann model InputOutpu t So where is the Input/Output? here CPU Buses

© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed.Slide 5 The Harvard Architecture (1) Harvard architecture is a computer architecture with physically separate storage and signal pathways for instructions and data. The term originated from the Harvard Mark I relay- based computer, which stored instructions on punched tape (24 bits wide) and data in electro- mechanical counters (23 digits wide). These early machines had limited data storage, entirely contained within the data processing unit, and provided no access to the instruction storage as data, making loading and modifying programs an entirely offline process.

© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed.Slide 6 The Harvard Architecture (2) In a computer with a von Neumann architecture (and no cache), the CPU can be either reading an instruction or reading/writing data from/to the memory. Both cannot occur at the same time since the instructions and data use the same bus system. In a computer using the Harvard architecture, the CPU can read both an instruction and perform a data memory access at the same time, even without a cache. A Harvard architecture computer can thus be faster for a given circuit complexity because instruction fetches and data access do not contend for a single memory pathway.

© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed.Slide 7 The Harvard Architecture (3) In a Harvard architecture, there is no need to make the two memories share characteristics. In particular, the word width, timing, implementation technology, and memory address structure can differ. In some systems, instructions can be stored in read-only memory while data memory generally requires read-write memory. Instruction memory is often wider than data memory.

© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. Harvard architecture CPU PC data memory program memory address data address data 8

© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed.Slide 9 Harvard Architecture Example Block Diagram of the PIC16C8X

© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed.Slide 10 Modified Harvard Architecture The Modified Harvard architecture is very like the Harvard architecture but provides a pathway between the instruction memory and the CPU that allows words from the instruction memory to be treated as read-only data. This allows constant data, particularly text strings, to be accessed without first having to be copied into data memory, thus preserving more data memory for read/write variables. Special machine language instructions are provided to read data from the instruction memory. Standards-based high-level languages, such as the C language, do not support the Modified Harvard Architecture, so that in- line assembly or non-standard extensions are needed to take advantage of it. Most modern computers that are documented as Harvard Architecture are, in fact, Modified Harvard Architecture.

© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. von Neumann vs. Harvard Harvard can’t use self-modifying code. Harvard allows two simultaneous memory fetches. Most DSPs use Harvard architecture for streaming data: greater memory bandwidth; more predictable bandwidth. 11

© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. RISC vs. CISC Complex instruction set computer (CISC): many addressing modes; many operations. Reduced instruction set computer (RISC): load/store; pipelinable instructions. 12

© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. Instruction set characteristics Fixed vs. variable length. Addressing modes. Number of operands. Types of operands. 13

© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. Programming model Programming model: registers visible to the programmer. Some registers are not visible (IR). 14

© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. Multiple implementations Successful architectures have several implementations: varying clock speeds; different bus widths; different cache sizes; etc. 15

© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. Assembly language One-to-one with instructions (more or less). Basic features: One instruction per line. Labels provide names for addresses (usually in first column). Instructions often start in later columns. Columns run to end of line. 16

© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. ARM assembly language example label1ADR r4,c LDR r0,[r4] ; a comment ADR r4,d LDR r1,[r4] SUB r0,r0,r1 ; comment 17

© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. Pseudo-ops Some assembler directives don’t correspond directly to instructions: Define current address. Reserve storage. Constants. 18