Syllabus Instructor: Dr. Wesam Ashour

Slides:



Advertisements
Similar presentations
Goal: Write Programs in Assembly
Advertisements

Lecture 5: MIPS Instruction Set
1 ECE462/562 ISA and Datapath Review Ali Akoglu. 2 Instruction Set Architecture A very important abstraction –interface between hardware and low-level.
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /15/2013 Lecture 11: MIPS-Conditional Instructions Instructor: Ashraf Yaseen DEPARTMENT OF MATH & COMPUTER.
Systems Architecture Lecture 5: MIPS Instruction Set
Chapter 2 Instructions: Language of the Computer
CS 311: Computer Organization
Spring 2008, Jan. 14 ELEC / Lecture 2 1 ELEC / Computer Architecture and Design Spring 2007 Introduction Vishwani D. Agrawal.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 23 - Course.
1 Syllabus Instructor: Dr. Wesam Ashour Office: B231 Office Hours: Saturday 10:00  11:00, 13:00  14:00 Sunday.
Computing Components 01/26/11. Announcements & Reminders Programs 1 due Friday, 9/2/11 What is my late policy? Proxy Codes for Labs  You should be able.
1 Lecture 2: MIPS Instruction Set Today’s topic:  MIPS instructions Reminder: sign up for the mailing list cs3810 Reminder: set up your CADE accounts.
Shift Instructions (1/4)
Computer Organization and Assembly language
Processor I CPSC 321 Andreas Klappenecker. Midterm 1 Thursday, October 7, during the regular class time Covers all material up to that point History MIPS.
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 1 Introduction.
COM181 Computer Hardware Ian McCrumRoom 5B18,
CENG311 Computer Architecture Kayhan Erciyes. CS231 Assembly language and Digital Circuits Instructor:Kayhan Erciyes Office:
Chapter 1 Introduction. Computer Architecture selecting and interconnecting hardware components to create computers that meet functional, performance.
Computer Architecture Lecture 01 Fasih ur Rehman.
Dept. of Computer Science Engineering Islamic Azad University of Mashhad 1 Computer System Architecture Dept. of Computer Science Engineering Islamic Azad.
COE Computer Organization & Assembly Language Talal Alkharobi.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
CS-2710 Computer Organization Dr. Mark L. Hornick web: faculty-web.msoe.edu/hornick – CS-2710 info syllabus, homework, labs… –
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
CS 311: Computer Organization
Fall 2015, Aug 17 ELEC / Lecture 1 1 ELEC / Computer Architecture and Design Fall 2015 Introduction Vishwani D. Agrawal.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
2015/10/22\course\cpeg323-08F\Final-Review F.ppt1 Midterm Review Introduction to Computer Systems Engineering (CPEG 323)
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 12 Overview and Concluding Remarks.
Computer Organization and Design Computer Abstractions and Technology
Cps-104 Intro.1 ©GK Spring 1999 CPS104 Computer Organization Lecture 1 January 14, 1999 Gershon Kedem Slides available on:
Lecture 4: MIPS Instruction Set Reminders: –Homework #1 posted: due next Wed. –Midterm #1 scheduled Friday September 26 th, 2014 Location: TODD 430 –Midterm.
Computer Architecture And Organization UNIT-II General System Architecture.
Computer System Design Lecture 1 Wannarat Suntiamorntut.
by Computer System Design Lecture 1 Wannarat Suntiamorntut
Indira Gandhi National Open University presents. A Video Lecture Course: Computer Platforms.
Computing Systems: Organization and Design EE460/CS360/T425.
Computer Architecture Souad MEDDEB
CHAPTER 6 Instruction Set Architecture 12/7/
1 chapter 1 Computer Architecture and Design ECE4480/5480 Computer Architecture and Design Department of Electrical and Computer Engineering University.
EET 4250 Instruction Representation & Formats Acknowledgements: Some slides and lecture notes for this course adapted from Prof. Mary Jane Penn.
CSE 3322 Computer Architecture Dr. John Patterson 614 NH Office Hours: M, W 11 –12 noon Grading Policy: Project 25%
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.
Computer Programming for Engineers CMPSC 201C Fall 2000.
Introduction Computer Organization Spring 1436/37H (2015/16G) Dr. Mohammed Sinky Computer Architecture
Gary MarsdenSlide 1University of Cape Town Computer Architecture – Introduction Andrew Hutchinson & Gary Marsden (me) ( ) September 2003.
Computer Architecture Opening Yu-Lun Kuo 郭育倫 Department of Computer Science and Information Engineering Tunghai University Taichung, 40704, Taiwan R.O.C.
CHAPTER 2 Instruction Set Architecture 3/21/
1 ECEN209-Computer Architecture (Course Overview & Introduction)
CSE 3322 Computer Architecture
Instruction Set Architecture
Computer Architecture Syllabus
Morgan Kaufmann Publishers
The University of Adelaide, School of Computer Science
Lecture 4: MIPS Instruction Set
COSC121: Computer Systems
T Computer Architecture, Autumn 2005
COMPUTER ARCHITECTURE
Morgan Kaufmann Publishers The Processor
The Processor Lecture 3.1: Introduction & Logic Design Conventions
COMP541 Datapaths I Montek Singh Mar 18, 2010.
Course Outline for Computer Architecture
Introduction to Computer Systems Engineering
Instruction Set Architecture
Lecture 1 Class Overview
ELEC / Computer Architecture and Design Fall 2014 Introduction
ICS103 Programming in C 1: Overview of Computers And Programming
Dr. Clincy Professor of CS
Presentation transcript:

Syllabus Instructor: Dr. Wesam Ashour Teaching Assistants: Eng. Eng. Ahmed Eldaly. Eng. Amal El-khalily.    Office: B223 Email: Washour@iugaza.edu Office Hours: Saturday, Monday 10:00  12:00. Sunday, Tuesday 11:00  12:00.

Syllabus Course: ECOM 3310 – Computer Architecture Contents: 1- Ch.1: Introduction. 2- Ch.2: Instructions: Language of the Computer. 3- Ch.3: Arithmetic for Computers. 4- Ch.4: Assessing and Understanding Performance. 5- Ch.5: The Processor: Datapath and Control. 6- Ch.6: Enhancing Performance with Pipelining. 7- Ch.7: Large and Fast: Exploiting Memory Hierarchy 8- Ch.8: Input/Output Systems We will cover as much as we can!

Syllabus Description: Goals of the Course: This course explores the design of computer systems and their architectures. Topics include central processing unit architecture, pipelining, system interconnections, memory systems, input/output systems, interrupt handling.   Goals of the Course: Basic understanding of computer organization: roles of processors, main memory, and input/output devices. Understanding the concept of programs as sequences of machine instructions. Understanding the relationship between assembly language and machine language; development of skill in assembly language programming; understanding the relationship between high-level compiled languages and assembly language. Understanding arithmetic and logical operations with integer operands. Understanding floating-point number systems and operations. Understanding simple data path and control designs for processors. Understanding memory organization, including cache structures and virtual memory schemes. The course include basic machine architecture and design, digital logic circuits, digital components, central processing unit, machine representation of instructions and data, addressing techniques, memory organization, and execution of instructions at machine level.

Syllabus Course Outcomes: By the end of this course, students should be able to: Write a simple program in assembler language to implement a high level program segment Design simple assembly language programs that make appropriate use of a registers and memory. Understand how the architecture affects program performance Understand the basics of computer hardware and how software interacts with computer hardware. Understanding how to implement the instruction set architecture ISA Understanding the levels and organizations of Hierarchies in Memories and cashes. Assemble a simple computer with hardware design including data format, instruction format, instruction set, addressing modes, bus structure, input/output, memory, Arithmetic/Logic unit, control unit, and data, instruction and address flow.

Syllabus Course web site: http://site.iugaza.edu.ps/washour/courses/computer-architecture/ Course Grading: 20% Quizzes + HWs + Teaching Assistant control. 10% Project. 20% Midterm Exam. 50% Final Exam. Midterm Exam: Tuesday, 25th November 2014, 11:00am-12:30pm Final Exam: Monday, 19th January 2015, 11:30am-14:30pm Important Notice: Sometimes (& Suddenly) I will test you by giving Quizzes at the beginning of the lecture! - To solve it easily and to get the highest mark, you should always read the last two lectures before attending the class – Good Luck. Important Advice: From first day in the semester you should work very hard and you must activate your mind to think!

Chapter 2

lw $t0, 1200($t1) add $t0, $s2, $t0 sw $t0, 1200($t1) What is the MIPS machine language code for these three instructions? 1200 (in base 10) = 0000 0100 1011 0000 (binary) $t0 register is number 8 $t1 register is number 9 $s2 register is number 18 Opcode -> lw is 35 (100011), sw is 43 (101011), R-type (000000) add func is 32 (100000)

lw $t0, 1200($t1) add $t0, $s2, $t0 sw $t0, 1200($t1) What is the MIPS machine language code for these three instructions? 1200 (in base 10) = 0000 0100 1011 0000 (binary) $t0 register is number 8 $t1 register is number 9 $s2 register is number 18 Opcode -> lw is 35 (100011), sw is 43 (101011), R-type (000000) add func is 32 (100000) 100011 01001 01000 0000010010110000 000000 10010 01000 01000 00000 100000 101011 01001 01000 0000010010110000

or $t0, $t1, $t2 ori $t0, $t1, 255 sll $t0, $t1, 4 and $t0, $t1, $t2

if (save[i] >= k) Code; Assume save[i] is stored in $t1 and k is stored in $t2

if (save[i] >= k) Code; Assume save[i] is stored in $t1 and k is stored in $t2 slt $t0, $t1, $t2 bne $t0, $zero, Exit Code Exit:

if (save[i] < k) Code; Assume save[i] is stored in $t1 and k is stored in $t2

if (save[i] < k) Code; Assume save[i] is stored in $t1 and k is stored in $t2 slt $t0, $t1, $t2 beq $t0, $zero, Exit Code Exit:

if (save[i] > k) Code; Assume save[i] is stored in $t1 and k is stored in $t2

if (save[i] > k) Code; Assume save[i] is stored in $t1 and k is stored in $t2 slt $t0, $t1, $t2 bne $t0, $zero, Exit beq $t1, $t2, Exit Code Exit:

Try it by yourself if (save[i] <= k) Code; Assume save[i] is stored in $t1 and k is stored in $t2 Try it by yourself