Review of the numeration systems The hardware/software representation of the computer and the coverage of that representation by this course. What is the.

Slides:



Advertisements
Similar presentations
Slide 1Michael Flynn EE382 Winter/99 EE382 Processor Design Stanford University Winter Quarter Instructor: Michael Flynn Teaching Assistant:
Advertisements

1 Lecture 3: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation.
RISC / CISC Architecture By: Ramtin Raji Kermani Ramtin Raji Kermani Rayan Arasteh Rayan Arasteh An Introduction to Professor: Mr. Khayami Mr. Khayami.
 Suppose for a moment that you were asked to perform a task and were given the following list of instructions to perform:
10/11: Lecture Topics Slides on starting a program from last time Where we are, where we’re going RISC vs. CISC reprise Execution cycle Pipelining Hazards.
Tuan Tran. What is CISC? CISC stands for Complex Instruction Set Computer. CISC are chips that are easy to program and which make efficient use of memory.
Fall 2001CS 4471 CS 447: Fall 2001 Chapter 1: Computer Abstraction and Technology (Introduction to the course)
CS 61C L06 MIPS Intro (1) A Carle, Summer 2005 © UCB inst.eecs.berkeley.edu/~cs61c/su05 CS61C : Machine Structures Lecture #6: Intro to MIPS
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design First Edition by Tony Gaddis.
COMP3221: Microprocessors and Embedded Systems Lecture 2: Instruction Set Architecture (ISA) Lecturer: Hui Wu Session.
CS 300 – Lecture 2 Intro to Computer Architecture / Assembly Language History.
CIS 314 : Computer Organization Lecture 1 – Introduction.
CS 61C L08 Introduction to MIPS Assembly Language: Arithmetic (1) Garcia, Spring 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c.
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
Lecture 7: Instruction Set Architecture CSE 30: Computer Organization and Systems Programming Winter 2014 Diba Mirza Dept. of Computer Science and Engineering.
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#1) By Dr. Syed Noman.
The Pentium: A CISC Architecture Shalvin Maharaj CS Umesh Maharaj:
RISC and CISC. Dec. 2008/Dec. and RISC versus CISC The world of microprocessors and CPUs can be divided into two parts:
CSE378 Gen. Intro1 Machine Organization and Assembly Language Programming Machine Organization –Hardware-centric view (in this class) –Not at the transistor.
ITEC 352 Lecture 11 ISA - CPU. ISA (2) Review Questions? HW 2 due on Friday ISA –Machine language –Buses –Memory.
Physics 413 Chapter 1 Computer Architecture What is a Digital Computer ? A computer is essentially a fast electronic calculating machine. What is a program.
Levels of Architecture & Language CHAPTER 1 © copyright Bobby Hoggard / material may not be redistributed without permission.
Instruction Set Architecture
Previously Fetch execute cycle Pipelining and others forms of parallelism Basic architecture This week we going to consider further some of the principles.
Fall 2015, Aug 17 ELEC / Lecture 1 1 ELEC / Computer Architecture and Design Fall 2015 Introduction Vishwani D. Agrawal.
Software Overview. Why review software? Software is the set of instructions that tells hardware what to do The reason for hardware is to execute a program.
Computer Systems Organization CS 1428 Foundations of Computer Science.
University of Washington Roadmap 1 car *c = malloc(sizeof(car)); c->miles = 100; c->gals = 17; float mpg = get_mpg(c); free(c); Car c = new Car(); c.setMiles(100);
CSCE 212 Review for Exam 1 Instructor: Jason D. Bakos.
Ramesh.B ELEC 6200 Computer Architecture & Design Fall /29/20081Computer Architecture & Design.
Computer System Design Lecture 1 Wannarat Suntiamorntut.
Computer Engineering Rabie A. Ramadan Lecture 1. 2 Welcome Back.
Chapter 2 Instructions: Language of the Computer Part I.
by Computer System Design Lecture 1 Wannarat Suntiamorntut
Chapter 2 Data Manipulation. © 2005 Pearson Addison-Wesley. All rights reserved 2-2 Chapter 2: Data Manipulation 2.1 Computer Architecture 2.2 Machine.
Ted Pedersen – CS 3011 – Chapter 10 1 A brief history of computer architectures CISC – complex instruction set computing –Intel x86, VAX –Evolved from.
 Introduction to SUN SPARC  What is CISC?  History: CISC  Advantages of CISC  Disadvantages of CISC  RISC vs CISC  Features of SUN SPARC  Architecture.
 Lecture 2 Processor Organization  Control needs to have the  Ability to fetch instructions from memory  Logic and means to control instruction sequencing.
CISC and RISC 12/25/ What is CISC? acronym for Complex Instruction Set Computer Chips that are easy to program and which make efficient use of memory.
1 Lecture 2: Performance, MIPS ISA Today’s topics:  Performance equations  MIPS instructions Reminder: canvas and class webpage:
The Instruction Set Architecture. Hardware – Software boundary Java Program C Program Ada Program Compiler Instruction Set Architecture Microcode Hardware.
EECS 322 March 18, 2000 RISC - Reduced Instruction Set Computer Reduced Instruction Set Computer  By reducing the number of instructions that a processor.
Reduced Instruction Set Computing Ammi Blankrot April 26, 2011 (RISC)
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.
Spring 2016, Jan 13 ELEC / Lecture 1 1 ELEC / Computer Architecture and Design Spring 2016 Introduction Vishwani D. Agrawal.
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
CISC. What is it?  CISC - Complex Instruction Set Computer  CISC is a design philosophy that:  1) uses microcode instruction sets  2) uses larger.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
Representation of Data - Instructions Start of the lesson: Open this PowerPoint from the A451 page – Representation of Data/ Instructions How confident.
By Wannarat Computer System Design Lecture 1 Wannarat Suntiamorntut.
Assembly Language Basic job of a CPU: execute lots of instructions. Instructions are the primitive operations that the CPU may execute. Different CPUs.
CSC235 Computer Organization & Assembly Language
Assembler, Compiler, MIPS simulator
Computational Science - Computer Science
Why to use the assembly and why we need this course at all?
Roadmap C: Java: Assembly language: OS: Machine code: Computer system:
The Goal of this class Goal – Learn what are CISC and RISC.
CSE 410: Computer Systems Instructor: David Ely
Lecture 4: MIPS Instruction Set
CDA 3100 Spring 2009.
T Computer Architecture, Autumn 2005
CDA 3100 Summer 2013.
Introduction to Microprocessor Programming
COMS 361 Computer Organization
January 16 The books are here. Assignment 1 now due Thursday 18 Jan.
CS334: MIPS language _Mars simulator Lab 2_1
Lecture 4: Instruction Set Design/Pipelining
Dr. Clincy Professor of CS
Presentation transcript:

Review of the numeration systems The hardware/software representation of the computer and the coverage of that representation by this course. What is the instruction and ISA? CISC/RISC tradeoff. Learning outcome by the end of this class the students should know the main differences and distinguish RISC solutions from the CISC solutions The Goal of this class

Why to use the assembly and why we need this course at all? Operating systems behavior cannot be understood without knowledge of computer structure and the assembly language. PCB, context switch, threads, stack, heap, dynamic linking Assembly language advantages versus High level languages The primary reason to program in assembly language is that the speed or size of a program is critically important. A hybrid approach, in which most of a program is written in a high- level language and time-critical sections are written in assembly language, builds on the strengths of both languages Cases when no high-level language or compiler is available on a particular computer Ability to exploit specialized instructions, for example, string copy or pattern-matching instructions. How tens of programs work on one or couple of processors of your PC? It’s organized by the Operating System.

During the course we have to go through all the levels learn each of them separately learn the translation from one to another Finally we’ll put together the learned material and get the final picture of computer organization. The abstraction of the different parts of computer hardware / software allows us to create different Levels of Representation / Interpretation. This makes easier to understand each part separately and get the whole picture putting together all components. Human writes the code

Course Organization, Evaluation Student learning will be evaluated on the basis of the following weighted components:  Home assignments 20% of final grade  Grade of midterm examinations, Quizzes50%  Grade of final examination 30%  Bonus scores:  Class attendance/participation5-10%  Bonus Projects (deadline of taking February 28)5- 10% For the students who pass the waiver examination ( – 9:00 – 11:00) the waiver examination grade could be passed as a final grade and student is free to attend the classes. Waiver examination questions: 1. Write Assembly language program (cycles, i/o, arrays). 2. Representation of data in computers. (instructions, characters, numbers) 3. Create a simple combinational logic circuit. Office Hours - Thursday 19:00, Saturday 12:00 Aidela Karamyan

Course Organization, Evaluation Handouts’ topics fully cover all examination questions. (No questions will be out of handout topics). However handouts are not enough for full understanding the topics included there. The students need either to attend the class or work on textbooks for full understanding. Class attendance is graded with the bonus scores. Assignments are based only on the material of the current and previous classes’ handouts and exercises. They contain personal identifiers to make them different for different students. Assignments’ soft deadline is about a week. For example if the deadline is on Sunday then the assignment should be sent to lecturer before the Sunday evening 23:59. Delayed assignments’ grades are lowered. Assignments’ hard deadline is about 2 weeks. Assignments are not accepted after the hard deadline.

The course material is on the Academic server ac.aua.am

Instruction Set Architecture Basic job of a CPU: execute lots of instructions. Instructions are the primitive operations that the CPU may execute. Different CPUs implement different sets of instructions. The set of instructions a particular CPU implements defines the Instruction Set Architecture (ISA). Examples: Intel x86 (Pentium 4), Apple/IBM/Motorola PowerPC, MIPS, Sun Sparc,...

Computer architecture

As the Memory was expensive – the programs should have been short: Early trend was to add more and more instructions to new CPUs to do elaborate operations In order to have shorter programs to fit into the small memory VAX architecture had an instruction to multiply polynomials. intel x86 had string or array operation instructions. Memory becomes cheaper – the programs could be longer: RISC philosophy – Reduced Instruction Set Computing. Keep the instruction set small and simple, makes it easier to build fast hardware. Let software do complicated operations by composing simpler ones. CISC and RISC approaches

Complex Instruction Set Computer memc = mema + memb z = (a + b)(c + d) arr2[1..n] = arr1[1..n] bool1 = str1 cmp str2 short long instr longer instr instr... Processor (very complex) memc = mema + memb z = (a + b)(c + d) bool1 = str1 cmp str2 Small and expensive Memory Short programs with powerful instructions Many different types of instructions Complex and powerful instructions

Reduced Instruction Set Computer bool1 = str1 cmp str2 short long instr longer instr instr... Processor (very simple but fast with possibility to make parallelism) Large and cheap Memory Many and Long programs with simple instructions Complex and powerful instructions Few types of instructions y = c + d x = a + b c = a + b memc = mema + memb z = (a + b)(c + d) arr2[1..n] = arr1[1..n] c = a + b Simple, uniform size instructions c = a + b z = x * y inst... Many different types of instructions z = x * y a = mema b = memb memc = c a = mema memc = c

MIPS – semiconductor company that built one of the first commercial RISC architectures. We will study the MIPS architecture in detail in this course. Why MIPS instead of Intel 80x86? MIPS is simple. MIPS Architecture

RISC, CISC architectures tradeoff

High and Low level languages Intel x86 MIPSSun Sparc Assembly Program C Program C++ Program Java Program C#,.net Program

Numeration systems Review Doing binary correct operations in the computer we are sure that the translated result to decimal also is correct.

Numeration systems

Binary system in computers

Bit patterns

Bit grouping

Conversion Example From Decimal to Binary Convert the decimal to binary: