CS-2710 Computer Organization Dr. Mark L. Hornick web: faculty-web.msoe.edu/hornick – CS-2710 info syllabus, homework, labs… –

Slides:



Advertisements
Similar presentations
Syllabus Instructor: Dr. Wesam Ashour
Advertisements

CS.210 Computer Systems and Architecture and CS.305 Computer Architecture Recap and Re-introduction.
COSC 120 Computer Programming
CS 351 Computer Architecture Instructor: Bala Ravikumar (Ravi) 116 I Darwin Hall Office hours: TBA.
Computer Architecture Instructor: Wen-Hung Liao Office: 大仁樓三樓 Office hours: TBA Course web page:
1  1998 Morgan Kaufmann Publishers Lectures for 2nd Edition Note: these lectures are often supplemented with other materials and also problems from the.
Processor Design 5Z032 Henk Corporaal Eindhoven University of Technology 2011.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
EET 4250: Chapter 1 Performance Measurement, Instruction Count & CPI Acknowledgements: Some slides and lecture notes for this course adapted from Prof.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
CS3350B Computer Architecture Winter 2015 Introduction Marc Moreno Maza
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
CIS 260 Computer Programming I in C Prof. Timothy Arndt.
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 1 Introduction.
Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.
1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH
COM181 Computer Hardware Ian McCrumRoom 5B18,
Orange Coast College Business Division Computer Science Department CS 116- Computer Architecture Course Orientation.
Chapter 1 CSF 2009 Computer Abstractions and Technology.
COE Computer Organization & Assembly Language Talal Alkharobi.
Computer Architecture ECE 4801 Berk Sunar Erkay Savas.
Winter 2015 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University Introduction and Overview.
Introduction to CS-215 Computer Organization & Assembly Language: Module 0.
C OMPUTER O RGANIZATION AND D ESIGN The Hardware/Software Interface 5 th Edition Chapter 1 Computer Abstractions and Technology.
1 A Simple but Realistic Assembly Language for a Course in Computer Organization Eric Larson Moon Ok Kim Seattle University October 25, 2008.
EET 4250: Chapter 1 Computer Abstractions and Technology Acknowledgements: Some slides and lecture notes for this course adapted from Prof. Mary Jane Irwin.
Computer Systems Organization CS 1428 Foundations of Computer Science.
Chapter 1 - The Computer Revolution Chapter 1 — Computer Abstractions and Technology — 1  Progress in computer technology  Underpinned by Moore’s Law.
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
CS/ECE 3330 Computer Architecture Kim Hazelwood Fall 2009.
Introduction and Overview Summer 2014 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University.
(1) ECE 3056: Architecture, Concurrency and Energy in Computation Lecture Notes by MKP and Sudhakar Yalamanchili Sudhakar Yalamanchili (Some small modifications.
2015/10/22\course\cpeg323-08F\Final-Review F.ppt1 Midterm Review Introduction to Computer Systems Engineering (CPEG 323)
COMPUTER ORGANIZATIONS CSNB123. COMPUTER ORGANIZATIONS CSNB123 Why do you need to study computer organization and architecture? Computer science and IT.
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 12 Overview and Concluding Remarks.
Computer Organization and Design Computer Abstractions and Technology
Chapter 1 — Computer Abstractions and Technology — 1 The Computer Revolution Progress in computer technology – Underpinned by Moore’s Law Makes novel applications.
Computer System Design Lecture 1 Wannarat Suntiamorntut.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
1 chapter 1 Computer Architecture and Design ECE4480/5480 Computer Architecture and Design Department of Electrical and Computer Engineering University.
Chapter 1 — Computer Abstractions and Technology — 1 Below Your Program Application software – Written in high-level language System software – Compiler:
1  1998 Morgan Kaufmann Publishers Where we are headed Performance issues (Chapter 2) vocabulary and motivation A specific instruction set architecture.
CSE 3322 Computer Architecture Dr. John Patterson 614 NH Office Hours: M, W 11 –12 noon Grading Policy: Project 25%
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Yaohang Li.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Yaohang Li.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
CS-321 Dr. Mark L. Hornick 1 CS-321 – Computer Graphics Dr. Mark L. Hornick web: webCT: webct.msoe.edu.
Computer Architecture Organization and Architecture
Introduction CSE 410, Spring 2005 Computer Systems
C OMPUTER O RGANIZATION AND D ESIGN The Hardware/Software Interface 5 th Edition Chapter 1 Computer Abstractions and Technology.
Computer Architecture & Operations I
CSCI206 - Computer Organization & Programming
Computer Architecture & Operations I
Morgan Kaufmann Publishers
Computer Architecture & Operations I
课程名 编译原理 Compiling Techniques
COSC 3406: Computer Organization
Computer Systems Summary
T Computer Architecture, Autumn 2005
Morgan Kaufmann Publishers Computer Performance
Introduction to Microprocessor Programming
Introduction to Computer Systems
Course Outline for Computer Architecture
Computer Architecture
Introduction to Computer Systems Engineering
Lecture 1 Class Overview
Dr. Clincy Professor of CS
Presentation transcript:

CS-2710 Computer Organization Dr. Mark L. Hornick web: faculty-web.msoe.edu/hornick – CS-2710 info syllabus, homework, labs… – My schedule/office hours Office: L-341 Phone: SE-2800 Dr. Mark L. Hornick 1

Logistics Class roster, attendance policy Book, schedule, policies, grading Course web site

Course Description This course provides students with an introduction to the structure of computer hardware, including the components of a modern computer system as well as the tradeoffs necessary to construct such a system. Specific course topics include numeric systems, the role of performance in designing computer systems, Amdahl's Law, instruction formats, addressing modes, computer arithmetic with both fixed and floating point numbers, single cycle and multi-cycle data-path design, pipelining, the memory hierarchy, caching, and parallel processing using SIMD and MIMD formats. Students will develop small, assembly language programs on a simulator as a means of exploring instruction formats and data-path operation. (prereq: CE-1900) CS2710 Computer Organization3

Course Outcomes 1.(Comprehension) Understand the relationship between input, output, memory, the processor, the data path, and the control path within a computer. 2.(Comprehension) Explain how signed and unsigned numbers and floating point numbers are represented internally within a computer and perform these operations. 3.(Comprehension) Explain the memory hierarchy within a computer and quantify its impact on computer performance. 4.(Application) Explain how variables are allocated in memory and the relationship between variables and pointers. 5.(Application) Compute performance related metrics for a computer based system or implemented program. 6.(Analysis) Critique the design and implementation of a processor based upon design parameters. 7.(Synthesis) Write simple assembly language routines using MIPS assembly language. CS2710 Computer Organization4

Lecture Objectives Draw the relationship between hardware, systems software, and applications software as a hierarchy Explain the concept of a compiler Draw a flowchart showing the basic steps of compilation for code. Explain the relationship between high level languages, assembly language, and machine language CS2710 Computer Organization5

Computer Classification How would you classify computing applications? CS2710 Computer Organization6

Classes of Computers Desktop computers – General purpose, variety of software – Subject to cost/performance tradeoff Server computers – Network based – High capacity, performance, reliability – Range from small servers to building sized Embedded computers – Hidden as components of systems – Stringent power/performance/cost constraints CS2710 Computer Organization7

Classes of Computers Desktop computers – General purpose, variety of software – Subject to cost/performance tradeoff Server computers – Network based – High capacity, performance, reliability – Range from small servers to building sized Embedded computers – Hidden as components of systems – Stringent power/performance/cost constraints

CS2710 Computer Organization9

Consumer Usage by device ( CS2710 Computer Organization10

Performance Say you want to drive between Milwaukee and Chicago. – What parameters affect your goal? CS2710 Computer Organization11

What impacts software performance? Algorithm – Determines number of operations executed Programming language, compiler, architecture – Determine number of machine instructions executed per operation Processor and memory system – Determine how fast instructions are executed I/O system (including OS) – Determines how fast I/O operations are executed CS2710 Computer Organization12

Your program CS2710 Computer Organization13

Levels of Program Code High-level language – Level of abstraction closer to problem domain – Provides for productivity and portability Assembly language – Textual representation of instructions Hardware representation – Binary digits (bits) – Encoded instructions and data CS2710 Computer Organization14

Discussion How does source code go from source code to an executable program? Use javac to compile a.java program to.class Use javap –c to “disassemble” a.class file into byte code mnemonics Operating Systems, Copyright

Preprocessors, Compilers, Assemblers, and Linkers C/C++ CS2710 Computer Organization16 Preprocessor Compiler Assembler Linker Skeletal Source Program Source Program Target Assembly Program Relocatable Object Code Libraries and Relocatable Object Files Try for example: gcc -v myprog.c