August 29 New address for Fang-Yi

Slides:



Advertisements
Similar presentations
Review of the MIPS Instruction Set Architecture. RISC Instruction Set Basics All operations on data apply to data in registers and typically change the.
Advertisements

Chapter 3 Instruction Set Architecture Advanced Computer Architecture COE 501.
Instructor: Tor Aamodt
1 ECE462/562 ISA and Datapath Review Ali Akoglu. 2 Instruction Set Architecture A very important abstraction –interface between hardware and low-level.
Princess Sumaya Univ. Computer Engineering Dept. Chapter 2: IT Students.
1 ECE369 ECE369 Chapter 2. 2 ECE369 Instruction Set Architecture A very important abstraction –interface between hardware and low-level software –standardizes.
10/9: Lecture Topics Starting a Program Exercise 3.2 from H+P Review of Assembly Language RISC vs. CISC.
CSE 340 Computer Architecture Spring 2014 MIPS ISA Review
INTRODUCTION TO THE ARM PROCESSOR – Microprocessor Asst. Prof. Dr. Choopan Rattanapoka and Asst. Prof. Dr. Suphot Chunwiphat.
TU/e Processor Design 5Z0321 Processor Design 5Z032 Computer Systems Overview Chapter 1 Henk Corporaal Eindhoven University of Technology 2011.
CS2422 Assembly Language & System Programming September 19, 2006.
CpE442 Intro. To Computer Architecture CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture.
CPE 731 Advanced Computer Architecture Instruction Set Principles Dr. Gheith Abandah Adapted from the slides of Prof. David Patterson, University of California,
Spring 2008, Jan. 14 ELEC / Lecture 2 1 ELEC / Computer Architecture and Design Spring 2007 Introduction Vishwani D. Agrawal.
COMP3221: Microprocessors and Embedded Systems Lecture 2: Instruction Set Architecture (ISA) Lecturer: Hui Wu Session.
Computer Architecture Instructor: Wen-Hung Liao Office: 大仁樓三樓 Office hours: TBA Course web page:
CPEN Digital System Design Chapter 10 – Instruction SET Architecture (ISA) © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall.
1 CSE SUNY New Paltz Chapter 1 Introduction CSE-45432Introduction to Computer Architecture Dr. Izadi.
August 26 TA: Angela Van Osdol Questions?. What is a computer? Tape drives? Big box with lots of lights? Display with huge letters? Little box with no.
CENG311 Computer Architecture Kayhan Erciyes. CS231 Assembly language and Digital Circuits Instructor:Kayhan Erciyes Office:
MIPS assembly. Computer What’s in a computer? Processor, memory, I/O devices (keyboard, mouse, LCD, video camera, speaker), disk, CD drive, …
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Computer Architecture ECE 4801 Berk Sunar Erkay Savas.
Natawut NupairojAssembly Language1 Introduction to Assembly Programming.
CDA 3101 Fall 2012 Introduction to Computer Organization Instruction Set Architecture MIPS Instruction Format 04 Sept 2013.
Fall 2015, Aug 17 ELEC / Lecture 1 1 ELEC / Computer Architecture and Design Fall 2015 Introduction Vishwani D. Agrawal.
1 (Based on text: David A. Patterson & John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3 rd Ed., Morgan Kaufmann,
1 International Technology University CEN 951 Computer Architecture Lecture 1 - Introduction.
순천향대학교 정보기술공학부 이 상 정 1 1. Computer Abstractions and Technology.
Introduction.  This course is all about how computers work  But what do we mean by a computer?  Different types: desktop, servers, embedded devices.
 1998 Morgan Kaufmann Publishers MIPS arithmetic All instructions have 3 operands Operand order is fixed (destination first) Example: C code: A = B +
August 27 Books? ? Accounts?. What does a computer look like? Tape drives? Big box with lots of lights? Display with huge letters? Little box with.
1  1998 Morgan Kaufmann Publishers Where we are headed Performance issues (Chapter 2) vocabulary and motivation A specific instruction set architecture.
The Instruction Set Architecture. Hardware – Software boundary Java Program C Program Ada Program Compiler Instruction Set Architecture Microcode Hardware.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
EEL5708/Bölöni Lec 3.1 Fall 2006 Sept 1, 2006 Lotzi Bölöni EEL 5708 High Performance Computer Architecture Lecture 3 Review: Instruction Sets.
Instruction Set Architecture Chapter 3 – P & H. Introduction Instruction set architecture interface between programmer and CPU Good ISA makes program.
1 CHAPTER 1 COMPUTER ABSTRACTIONS AND TECHNOLOGY Parts of these notes have been adapter from those of Prof. Professor Mike Schulte, Prof. D. Patterson,
CS4100: 計算機結構 Course Outline 國立清華大學資訊工程學系 九十九年度第二學期.
Addressing modes, memory architecture, interrupt and exception handling, and external I/O. An ISA includes a specification of the set of opcodes (machine.
Computer Architecture & Operations I
Computer Architecture & Operations I
Digital Logic Design Alex Bronstein
Lecture 7: MARS, Computer Arithmetic
Instruction Set Architecture
ISA's, Compilers, and Assembly
ELEN 468 Advanced Logic Design
CSE 410: Computer Systems Instructor: David Ely
MIPS Assembly.
Instructions - Type and Format
EEL 4713/EEL 5764 Computer Architecture
Lecture 4: MIPS Instruction Set
Systems Architecture Lecture 5: MIPS Instruction Set
MIPS assembly.
September 5 Fang-Yi’s Office Hours Friday 10am  12pm (and another TBD) Programming Language Issues (JAVA vs. C, Pointers vs. Arrays) Representations Instructions.
What is Computer Architecture?
Introduction to Microprocessor Programming
COMS 361 Computer Organization
What is Computer Architecture?
What is Computer Architecture?
CS4100: 計算機結構 Course Outline
Computer Architecture
Review In last lecture, done with unsigned and signed number representation. Introduced how to represent real numbers in float format.
January 16 The books are here. Assignment 1 now due Thursday 18 Jan.
Computer Architecture
9/27: Lecture Topics Memory Data transfer instructions
ELEC / Computer Architecture and Design Fall 2014 Introduction
CSE378 Introduction to Machine Organization
August 31 addresses Drop box Questions? 31 August 2004
Presentation transcript:

August 29 New email address for Fang-Yi fytsai@email.unc.edu Questions on what we’re doing? Questions on anything at end of class.

Abstractions What the user wanted. What the programmer designed. What the programmer thought about. What the language allowed. Assembly language. Binary. Function blocks. Gates Devices Physics

Abstraction: C to ASM Swap(int v[], int k) { int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; } Assembly Swap: muli $2, $5, 4 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31 C compiler

Abstraction: ASM to Binary Assembly Swap: muli $2, $5, 4 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31 Assembler 00000000101000010000000000011000 00000000100011100001100000100001 10001100011000100000000000000000 10001100111100100000000000000100 10101100111100100000000000000000 10101100011000100000000000000100 00000011111000000000000000001000 Binary

Instruction Set Architecture ... the attributes of a [computing] system as seen by the programmer, i.e. the conceptual structure and functional behavior, as distinct from the organization of the data flows and controls, the logic design, and the physical implementation. – Amdahl, Blaauw, and Brooks, 1964 An ABSTRACTION! interface between hardware and low-level software standardizes instructions, machine language bit patterns, etc. advantage: different implementations of the same architecture disadvantage: sometimes prevents using new innovations Modern instruction set architectures: 80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS, SPARC, HP

CISC vs. RISC ISA’s originally for humans to use Small memory size was critical thus complex instructions High-level-language architectures (B5000) RISC says do a few things well; only supply what the compiler will use; rely on compiler to get it right.

Why look at MIPS? Why not one that matters like Intel? Complexity… Ugliness… Horror… Reality…

The Really Big Ideas Just bits for data and program Program is a sequence of instruction words Data-type determined by instruction Large linear “array” of memory Small number of “variables” (registers)

Just Bits Program and data have the same representation Programs can manipulate programs Programs can manipulate themselves! Bits not the only way (Lisp)

Data Types char byte short int pointer quad float double Instruction determines type of operands Add (int), Add.s (float), Add.d (double) Free to reinterpret at will How big is a char? What’s a pointer?

Memory Large (usually) linear array Only read with load instructions lw $t5, 100($a3) ($t5 = mem[100+$a3]) Only modified with store instructions sw $s0, 24($t3) (mem[24+$t3] = $s0) CISC machines have lots of ways to read and write memory

Memory Address is always in bytes Words on 4 byte boundary (how many 0’s?) Short only on 2 byte boundary Doubles only on 8 byte boundary CISC allowed them anywhere Why? It’s an ABSTRACTION!

GP Registers Variables for our programs The ONLY operands for most instructions A very small number (32 in MIPS) Why? All 32 bits What about new 64 bit ISA’s?

Where we are headed Performance issues (Chapter 2) A specific instruction set architecture (3) Arithmetic and how to build an ALU (4) Pipelining to improve performance (6) briefly Memory: caches and virtual memory (7)