Chapter 1: Introduction. Oregon State University School of Electrical Engineering and Computer Science

Similar documents
PC I/O. May 7, Howard Huang 1

EECS2021. EECS2021 Computer Organization. EECS2021 Computer Organization. Morgan Kaufmann Publishers September 14, 2016


Computer Organization & Assembly Language Programming (CSE 2312)

ECE2049 E17 Lecture 4 MSP430 Architecture & Intro to Digital I/O

Computer Architecture. Fall Dongkun Shin, SKKU

Update on logistics ECS 15

Computers and Microprocessors. Lecture 34 PHYS3360/AEP3630

Overview of Computer Organization. Outline

ECE331: Hardware Organization and Design

High Performance Computing

Review: Performance Latency vs. Throughput. Time (seconds/program) is performance measure Instructions Clock cycles Seconds.

FUNCTIONS OF COMPONENTS OF A PERSONAL COMPUTER

Microprocessors, Lecture 1: Introduction to Microprocessors

ECE232: Hardware Organization and Design

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

Introduction to Computer Systems

Overview of Computer Organization. Chapter 1 S. Dandamudi

Chapter 9: A Closer Look at System Hardware

Chapter 9: A Closer Look at System Hardware 4

EE324: Microcontrollers and Interfacing. Office Hours: Mon, Wed, to 11.30am. Microcontrollers and Interfacing

CS61C Machine Structures. Lecture 1 Introduction. 8/27/2006 John Wawrzynek (Warzneck)

CREATED BY M BILAL & Arslan Ahmad Shaad Visit:

Basic Concepts COE 205. Computer Organization and Assembly Language Dr. Aiman El-Maleh

COMP3221: Microprocessors and. Embedded Systems

EE282H: Computer Architecture and Organization. EE282H: Computer Architecture and Organization -- Course Overview

EECS4201 Computer Architecture

Computer Architecture. Introduction. Lynn Choi Korea University

Computer Organization

CS 152 Computer Architecture and Engineering. Lecture 7 - Memory Hierarchy-II

CPS104 Computer Organization Lecture 1

CS 341l Fall 2008 Test #4 NAME: Key

CS 152 Computer Architecture and Engineering Lecture 1 Single Cycle Design

Cache Memory and Performance

CS 333 Introduction to Operating Systems. Class 1 - Introduction to OS-related Hardware and Software

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit

x86 Architectures; Assembly Language Basics of Assembly language for the x86 and x86_64 architectures

ECE 1160/2160 Embedded Systems Design. Midterm Review. Wei Gao. ECE 1160/2160 Embedded Systems Design

Chapter 1. Microprocessor architecture ECE Dr. Mohamed Mahmoud.

CS232: Computer Architecture II

COMPUTER ARCHITECTURE

ECE 588/688 Advanced Computer Architecture II

The University of Reduced Instruction Set Computer (MARC)

I/O Channels. RAM size. Chipsets. Cluster Computing Paul A. Farrell 9/8/2011. Memory (RAM) Dept of Computer Science Kent State University 1

Microcomputer Architecture and Programming

MECE336 Microprocessors I

Microprocessor Systems

Multiple Choice Type Questions

COURSE DESCRIPTION. CS 232 Course Title Computer Organization. Course Coordinators

Computer and Hardware Architecture I. Benny Thörnberg Associate Professor in Electronics

CMSC Computer Architecture Lecture 18: Exam 2 Review Session. Prof. Yanjing Li University of Chicago

CPE/EE 421 Microcomputers

Verizon Next Step Program Course Outline. Telecommunications Technology: Verizon

Contents Slide Set 9. Final Notes on Textbook Chapter 7. Outline of Slide Set 9. More about skipped sections in Chapter 7. Outline of Slide Set 9

Write only as much as necessary. Be brief!

Chapter 1 Computer and Programming. By Zerihun Alemayehu

CPS104 Computer Organization Lecture 1. CPS104: Computer Organization. Meat of the Course. Robert Wagner

Memory Hierarchy Technology. The Big Picture: Where are We Now? The Five Classic Components of a Computer

CS-3410 Systems Programming Spring 2013

Chapter 1 Introduction. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

CMPSCI 201: Architecture and Assembly Language

Hardware Design I Chap. 10 Design of microprocessor

Computer Architecture

EE108B Lecture 17 I/O Buses and Interfacing to CPU. Christos Kozyrakis Stanford University

CE 435 Embedded Systems Spring 2018

ECSE 426 Microprocessor Systems

Lecture 1: Course Introduction and Overview Prof. Randy H. Katz Computer Science 252 Spring 1996

Introduction to Computer Systems

ECS 15: Introduction to Computers Midterm November 2 nd, 2011

5 Computer Organization

MARIE: An Introduction to a Simple Computer

Lecture 1: CS/ECE 3810 Introduction

CS 333 Introduction to Operating Systems. Class 1 - Introduction to OS-related Hardware and Software

When and Where? Course Information. Expected Background ECE 486/586. Computer Architecture. Lecture # 1. Spring Portland State University

Computer Architecture

CSE 466 Software for Embedded Systems. CSE 466 Software for Embedded Systems

COMP2121: Microprocessors and Interfacing. Introduction to Microprocessors

MARIE: An Introduction to a Simple Computer

IT 252 Computer Organization and Architecture. Introduction. Chia-Chi Teng

Engineering 9859 CoE Fundamentals Computer Architecture

AVR Microcontrollers Architecture

378: Machine Organization and Assembly Language

CS3350B Computer Architecture. Introduction

CC312: Computer Organization

Here is a diagram of a simple computer system: (this diagram will be the one needed for exams) CPU. cache

ECE332, Week 2, Lecture 3. September 5, 2007

ECE332, Week 2, Lecture 3

Design of Digital Circuits

! Memory Overview. ! ROM Memories. ! RAM Memory " SRAM " DRAM. ! This is done because we can build. " large, slow memories OR

Computer Systems Architecture Spring 2016

ECE 111 ECE 111. Advanced Digital Design. Advanced Digital Design Winter, Sujit Dey. Sujit Dey. ECE Department UC San Diego

EE282 Computer Architecture. Lecture 1: What is Computer Architecture?

PDF created with pdffactory Pro trial version How Computer Memory Works by Jeff Tyson. Introduction to How Computer Memory Works

Chris Riesbeck, Fall Introduction to Computer Systems

ECE 588/688 Advanced Computer Architecture II

Fundamentals of Programming. Lecture 1: Introduction to C Programming

Chapter 4. MARIE: An Introduction to a Simple Computer. Chapter 4 Objectives. 4.1 Introduction. 4.2 CPU Basics

Cache Organizations for Multi-cores

NAME: Problem Points Score. 7 (bonus) 15. Total

Faculty of Science FINAL EXAMINATION

Transcription:

Chapter 1: Introduction Prof. Ben Lee Oregon State University School of Electrical Engineering and Computer Science Contents 1.1 The Role of Computers in Modern Society 1.2 Spectrum of Computers and Their Processors 1.3 Objectives of this Course 1.4 Course Logistics 2 1

1.1 The Role of Computers in Modern Society 3 Embedded System Importance of desktops, servers, and laptops is unmistakable. But, we often overlook another facet of computers embedded systems! Embedded systems are designed to perform one or a few dedicated functions, and more importantly, are embedded as a part of a complete device that often includes hardware and other mechanical parts. The meaning of embedded system has evolved - any system with a computer that is not a desktop or laptop! 4 2

Example Embedded Systems 5 Why Focus on Embedded System? More than 95% of devices with computers are embedded systems. They account for the most of the world s production of microprocessors! Therefore, understanding how they are programmed and how their internal structure is organized are essential for future engineers and computer scientists. 6 3

1.2 Spectrum of Computers and Their Processors 7 Desktop System CPU! L1-D! L1-I L2 Cache! System bus Video RAM GPU! AGP bus Memory Controller (North Bridge) Channel 1 Channel 2 DRAM DRAM DIMM DRAM DIMM DIMM DRAM DRAM DIMM DRAM DIMM DIMM USB bus Controller (South Bridge) PCI bus Other buses Disk Adapter! Ethernet Adapter! 8 4

Embedded System System on Chip (SOC) Instruction Memory CPU Data Memory Designed to control devices. Emphasis of this course Lower performance, complexity, power, and cost. Low-end embedded system: 8-bit or 16-bit processor @ few to tens of MHz. Memories of tens to hundreds of Kilobytes (KB). High-end embedded systems: 32-bit processors clocked at several hundred MHz. Memories in the order of Megabytes (MB) e.g., Portable Media players, GPS, car infotainment systems, feature phones, etc. 9 Embedded or General-Purpose? Recently, a new class of mobile devices have emerged that saddle between embedded systems and general-purpose computers: Smartphones and pad/tablet devices with large memories, OS, graphics processor, and multi-cores. Thus, the line between general-purpose and embedded systems has become blurred! 10 5

0010011100000000 0000110100110000 1001010100000011 0011000000001010 1111001111010100 c i+1 1.3 Objectives of this Course 11 Computing System Hierarchy Algorithm Return High-Level Language for (n=0; n<10; n++) sum+=n; Assembly Code FOR: clr r16 add r3, r16 inc r16 cpi r16, 10 brlt FOR NEXT:... Compiler Assembler Interface between software and hardware 0010011100000000 0000110100110000 Machine Code 1001010100000011 0011000000001010 1111001111010100 Instruction Set Architecture PC Loader Program Memory SP Data Memory Emphasis of this course Microarchitecture IR Inst. Decoder Control Signals General Purpose Registers X Y Z ALU x i s 2 x y i FA s i Logic s 1 y s 0 c i c i M 12 6

Objectives of the Course Understand the interrelationship between hardware and software: These two topics are not distinct. This is the course where ECE and CS disciplines merge. Understanding the essence of these concepts makes both software and hardware designers better at what they do: Programmers can write better programs by understanding how processor execute their programs. Hardware designers can design better processors by understanding the operational requirements of programs. 13 Course Logistics 14 7

Logistics Instructor: Prof. Ben Lee Office: 3013 Kelley Engineering Center Tel: 7-3148 E-mail: benl@eecs.orst.edu Web: http://www.eecs.orst.edu/~benl/courses/ece375_w18.html Textbook: - Computer Organization and Assembly Language: Embedded Systems Perspective, by Ben Lee (will be provided) - ATmega 128 Datasheet Office Hours: 2-3PM TR and by Appt. TAs: TBA Labs: Section 010: Tuesday 5:00PM - 6:50PM (Dearborn 208) Section 011: Tuesday 7:00PM - 8:50PM Section 012: Wednesday 5:00PM - 6:50PM Section 013: Thursday10:00AM - 11:50AM Section 014: Wednesday 10:00AM - 11:50AM 15 Grading Policy Midterm 25% Quizzes (2) 10% Laboratory (7) 30% Assignments (4) 10% Final Exam 25% 16 8

Course Outline (1) Chapter 1: Introduction Chapter 2: Assembly Language Fundamentals Introduction How Do We Speak the Language of the Machine Instruction Set Architecture Instruction Format A Pseudo-ISA Chapter 3: Computer Organization Fundamentals Introduction Memory Microoperations Organization of the Pseudo-CPU 17 Course Outline (2) Chapter 4: Atmel s AVR 8-bit Microcontroller, Part 1 - Assembly Programming Introduction General Characteristics Addressing Modes Instructions Assembly to Machine Instruction Mapping Assembler Directives Expressions Assembly Coding Techniques Mapping Between Assembly and High-Level Language Anatomy of an Assembly Program 18 9

Course Outline (3) Chapter 5: AVR 8-bit Microcontroller, Part 2 - Input/Output Ports Interrupts Timers/Counters USART Chapter 7: Digital Components Introduction Multiplexers Decoders Memory Elements Registers Memory Register File ALU 19 Course Outline (4) Chapter 8: AVR 8-bit Microcontroller, Part 3 Microarchitecture Microarchitecture Instruction Format Basic Datapath Components Multicycle Implementation Execution of More Complex Instructions Control Unit Design Pipeline Implementation 20 10

Questions? 21 11