EE361: Digital Computer Organization Course Syllabus



Similar documents
EE360: Digital Design I Course Syllabus

EE411: Introduction to VLSI Design Course Syllabus

Performance evaluation

Chapter 2 Logic Gates and Introduction to Computer Architecture

Chapter 5 Instructor's Manual

CSC 2405: Computer Systems II

Quiz for Chapter 1 Computer Abstractions and Technology 3.10

A Lab Course on Computer Architecture

COMPUTER ORGANIZATION ARCHITECTURES FOR EMBEDDED COMPUTING

San José State University Computer Science Department CS 147, Section 03 Introduction to Computer Architecture Fall, 2015

Price/performance Modern Memory Hierarchy

Introducción. Diseño de sistemas digitales.1

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Q. Consider a dynamic instruction execution (an execution trace, in other words) that consists of repeats of code in this pattern:

Pentium vs. Power PC Computer Architecture and PCI Bus Interface

Assessment for Master s Degree Program Fall Spring 2011 Computer Science Dept. Texas A&M University - Commerce

CPU Organization and Assembly Language

COMPUTER HARDWARE. Input- Output and Communication Memory Systems

Computer Architecture Lecture 2: Instruction Set Principles (Appendix A) Chih Wei Liu 劉 志 尉 National Chiao Tung University

LSN 2 Computer Processors

University of St. Thomas ENGR Digital Design 4 Credit Course Monday, Wednesday, Friday from 1:35 p.m. to 2:40 p.m. Lecture: Room OWS LL54

MICROPROCESSOR. Exclusive for IACE Students iacehyd.blogspot.in Ph: /422 Page 1

Faculty of Engineering Student Number:

Computer Organization and Components

CHAPTER 4 MARIE: An Introduction to a Simple Computer

on an system with an infinite number of processors. Calculate the speedup of

Computer Architecture Syllabus of Qualifying Examination

Exceptions in MIPS. know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine

SIM-PL: Software for teaching computer hardware at secondary schools in the Netherlands

Computer Organization

A SystemC Transaction Level Model for the MIPS R3000 Processor

Administrative Issues

CHAPTER 7: The CPU and Memory

Computer Systems Design and Architecture by V. Heuring and H. Jordan

Digital Systems. Syllabus 8/18/2010 1

How To Understand The Design Of A Microprocessor

Computer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to:

Processor Architectures

CS 261 C and Assembly Language Programming. Course Syllabus

Unit 4: Performance & Benchmarking. Performance Metrics. This Unit. CIS 501: Computer Architecture. Performance: Latency vs.

CS 300 Data Structures Syllabus - Fall 2014

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level

A single register, called the accumulator, stores the. operand before the operation, and stores the result. Add y # add y from memory to the acc

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

VHDL Test Bench Tutorial

CSE 141 Introduction to Computer Architecture Summer Session I, Lecture 1 Introduction. Pramod V. Argade June 27, 2005

Design of Digital Circuits (SS16)

CS 394 Introduction to Computer Architecture Spring 2012

a storage location directly on the CPU, used for temporary storage of small amounts of data during processing.

Pipelining Review and Its Limitations

Slide Set 8. for ENCM 369 Winter 2015 Lecture Section 01. Steve Norman, PhD, PEng

OpenSPARC T1 Processor

An Introduction to the ARM 7 Architecture

Digital Systems Design! Lecture 1 - Introduction!!

Assessment Plan for CS and CIS Degree Programs Computer Science Dept. Texas A&M University - Commerce

CSE 141L Computer Architecture Lab Fall Lecture 2

(Refer Slide Time: 02:39)

Computer Architecture TDTS10

Instruction Set Architecture (ISA)

MipsIt A Simulation and Development Environment Using Animation for Computer Architecture Education

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

Computer Architecture Lecture 3: ISA Tradeoffs. Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 1/18/2013

The WIMP51: A Simple Processor and Visualization Tool to Introduce Undergraduates to Computer Organization

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit.

Pipeline Hazards. Structure hazard Data hazard. ComputerArchitecture_PipelineHazard1

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B Lab 7: MISP Processor Design Spring 1995

İSTANBUL AYDIN UNIVERSITY

CS:APP Chapter 4 Computer Architecture. Wrap-Up. William J. Taffe Plymouth State University. using the slides of

Performance Metrics and Scalability Analysis. Performance Metrics and Scalability Analysis

Module 2. Embedded Processors and Memory. Version 2 EE IIT, Kharagpur 1

Using Graphics and Animation to Visualize Instruction Pipelining and its Hazards

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

CS 51 Intro to CS. Art Lee. September 2, 2014

DNA Data and Program Representation. Alexandre David

Chapter Introduction. Storage and Other I/O Topics. p. 570( 頁 585) Fig I/O devices can be characterized by. I/O bus connections

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

How To Write Portable Programs In C

We r e going to play Final (exam) Jeopardy! "Answers:" "Questions:" - 1 -

VLIW Processors. VLIW Processors

Central Processing Unit (CPU)

AC : A PROCESSOR DESIGN PROJECT FOR A FIRST COURSE IN COMPUTER ORGANIZATION

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

Floating Point Fused Add-Subtract and Fused Dot-Product Units

Machine Architecture and Number Systems. Major Computer Components. Schematic Diagram of a Computer. The CPU. The Bus. Main Memory.

Computer Systems Structure Main Memory Organization

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

COMP 303 MIPS Processor Design Project 4: MIPS Processor Due Date: 11 December :59

Chapter 4 Lecture 5 The Microarchitecture Level Integer JAVA Virtual Machine

OC By Arsene Fansi T. POLIMI

In-Memory Databases Algorithms and Data Structures on Modern Hardware. Martin Faust David Schwalb Jens Krüger Jürgen Müller


ECE 3803: Microprocessor System Design D Term 2011 Course Syllabus Department of Electrical and Computer Engineering Worcester Polytechnic Institute

Overview. CISC Developments. RISC Designs. CISC Designs. VAX: Addressing Modes. Digital VAX

Introduction to MIPS Assembly Programming

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM

PCSpim Tutorial. Nathan Goulding-Hotta v0.1

CIS570 Modern Programming Language Implementation. Office hours: TDB 605 Levine

Transcription:

EE361: Digital Computer Organization Course Syllabus Dr. Mohammad H. Awedh Spring 2014 Course Objectives Simply, a computer is a set of components (Processor, Memory and Storage, Input/Output Devices) interconnected (by Bus) in such a way as to enable the execution of a program (set of instructions) stored in memory. This course introduces students to the basic concepts of computers, their design and how they work. It encompasses the denition of the machine's instruction set architecture, its use in creating a program, and its implementation in hardware. The course addresses the bridge between gate logic and executable software, and includes programming both in assembly language (representing software) and HDL (representing hardware). We will study modern computer principles using a typical processor and emphasize system-level issues, understanding process performance, and the use of abstraction as a tool to manage complexity. We then learn how ecient memory systems are designed to work closely with the processor. Next, we study input/output (I/O) systems which bring the processor and memory together with a wide range of devices. Finally, we introduce systems with many processors. Catalog Description Introduction to computer organization, machine instructions, addressing modes, assembly language programming, integer and oating-point arithmetic, CPU performance and metrics, non-pipelined and pipelined processor design, datapath and control unit, pipeline hazards, memory system and cache memory. Prerequisite: EE 305, EE 360, IE 331 ECE 361 1 M. Awedh

Textbook Computer Organization & Design: The Hardware/Software Interface, Fourth Edition, Patterson and Hennessy, Morgan Kaufmann Publishers, 2012. Course Learning Outcomes Upon completion of the course, students should posses the following knowledge and skills: ˆ An understanding of a machine's instruction set architecture (ISA) including basic instruction fetch and execute cycles, instruction formats, control ow, and operand addressing modes. ˆ The ability to create, assemble, execute, and debug assembly language programs along with a basic understanding of the assembly, linker, and loader processes. ˆ An understanding of a hardware description language, HDL (e.g., either VHDL or verilog) including their uses, structural, and behavioral descriptions. ˆ The ability to create, simulate, and debug a VHDL or verilog program. ˆ An understanding of the design and functioning of a machines central processing unit (CPU) including the datapath components (ALU, register le) and the control unit. ˆ An understanding of basic input/output functioning including program controlled I/O and interrupt I/O. ˆ An understanding of organization of memory hierarchies including the basics of cache design and DRAM architectures. ˆ Analyze the performance of processors and caches ECE 361 2 M. Awedh

Course Information Grading Instructor Dr. Mohammad H. Awedh King Abdulaziz University Oce Location Building 42B, Room 412 Oce Phone 68093 Oce Hours E-mail Sunday 12:30 to 1:30 or by Appointment mhawedh@kau.edu.sa mhawedh@gmail.com Meeting Sunday, Tuesday 11:00 12:20 Building 79, Room 201A Tutorial Thursday 11:00 12:50 Building 79, Room 201A The course has two major exams and a nal exam, weekly homework assignments, labs and a project. Exams will be cumulative, but will focus on the most recent material. Your homework should reect your individual work. Grading will follow approximately the divisions shown below. Participation 5œ Assignments 10œ Lab work 15œ Project 15œ Major Exam I 15œ Major Exam II 15œ Final Exam 25œ ˆ Late assignments are accepted up to 2 days late, but will be penalized 5œfor each late day. ˆ No makeup will be made for missing labs or exams. ECE 361 3 M. Awedh

Class Web Page We shall use Moodle for this class. Moodle is a Course Management System (CMS) which helps to communicate outside of the classroom. Students in this class should visit the site http://ece.goto-school.com and create an account. This site contains information about the class - syllabus, homework list, due dates for assignments, links to other web sites, etc. In addition, we shall also use it for discussion and questions about the material covered in the course. For each course, students should register for that course on the moodle site. Registration is enabled by a key that will be given to students in class during the rst lecture. You have to notice that registration for the course does not automatically entail registration on the moodle site and vice versa. ECE 361 4 M. Awedh

Lecture Breakdown Week Topics 1 Introduction to computer organization, high-level, assembly, and machine languages, components of a computer system, processor datapath, control, memory hierarchy, disk storage, technology improvements, chip manufacturing process 2 Review of signed/unsigned integers, binary addition and subtraction, carry and overow. Instruction set architecture, registers, instruction formats, arithmetic instructions, immediate operands, bit manipulation. 3 Load and store instructions, ow control instructions, pseudoinstructions, and addressing modes. Translating expressions, if-else statements, loops, array indexing and traversal 4 MIPS assembly language programming, tools, program template, directives, text, data, and stack segments, dening data, arrays, and strings, symbol table, memory alignment, byte ordering, and console input and output. 5 Dening procedures, procedure calls and return address, nested procedure calls, passing arguments in registers, runtime stack, stack frames, local variables, value and reference parameters, saving and restoring registers. 6 Integer multiplication, unsigned and signed multiplication, sequential multiplier hardware, faster (tree) hardware multiplier, integer division, sequential divide hardware, integer multiplication and division in MIPS. 7 Floating point representation, IEEE 754 standard, normalized and denormalized numbers, zero, innity, NaN, FP comparison, FP addition, FP multiplication, rounding and accurate arithmetic. Floating-point instructions. ECE 361 5 M. Awedh

Week Topics 8 CPU performance and metrics, CPI, performance equation, MIPS as a metric, Amdahl?s law, benchmarks and performance of recent processors. 9 Designing a processor, register transfer level, datapath components, clocking methodology, single-cycle datapath, implementing a register le and multifunction ALU. 10 Control signals and control unit, ALU control, single-cycle delay analysis and clock cycle, multi-cycle instruction execution, CPI of a multi-cycle processor, Performance comparison of a single-cycle versus a multi-cycle processor. 11 Pipelining versus serial execution, MIPS 5-stage pipeline, pipelined datapath, pipelined control, pipeline performance. 12 Pipeline hazards: structural, data, and control hazards, load delay, hazard detection, stall and forwarding unit, and delayed branching. 13 Main memory organization and performance, SRAM, DRAM, latency and bandwidth, memory hierarchy, cache memory, locality of reference. 14 Cache memory organization: direct-mapped, fully-associative, and setassociative caches, handling cache miss, write policy, and replacement policy. 15 Cache performance, memory stall cycles, and average memory access time. Tips for Success in this Class ˆ Don't miss class. New material is covered each lecture. If you miss class, you are responsible for covering the missed material on your own. Repeat lectures will not be given during oce hours. ˆ Read in advance. The reading assignments are listed in the class website. Your textbook author has written many digital design and computer engineering texts, and your text in particular is considered one of the most "readable" in print. The ECE 361 6 M. Awedh

argument "but the book is dicult to read" receives very little respect in any forum. ˆ Start homework early. Give yourself some time to consider the problems and determine whether or not you need instructor assistance. Last-minute questions are a bad idea. ˆ Don't ignore the homework. They comprise 10% of your grade! ˆ Ask questions. This includes during class, during discussions, and during oce hours. I don't like a silent class feel free to ask questions or make reasonable comments at will (but no distracting side conversations). ˆ Don't arrive late for class. If you know you'll be delayed (or absent) for some reason, just let me know ahead of time in person or via e-mail. It's the courteous and adult thing to do. Policies ˆ All assignments will be due at the beginning of the class on the due date. No late submissions will be accepted unless a valid excuse is given to the instructor by the day prior to the due date. ˆ You are expected to attend all classes. If you miss a class, you are responsible for nding out the material covered in that class. If you miss an exam, a grade of zero will be assigned, unless a valid excuse is given. ˆ All assignments are expected to be done by each student individually. Verbal and informal exchange of ideas is permitted, indeed encouraged. However, written solution should NOT be shown to another student or copied from another student. Any act of academic dishonesty will result in an F grade. The material covered in this course is not hard, but it does require signicant amounts of eort. Be prepared to work hard and come out of this course with a good knowledge of the fundamentals of digital systems. Just like with anything worthwhile in life, if you aren't willing to put in the time and eort, you won't ever become good at it. Be prepared to devote considerable time and eort to this class. ECE 361 7 M. Awedh