ECE 445 - Fall 2020 - Lecture 1 - Course Introduction
ECE 445 - Fall 2020 - Lecture 1 - Course Introduction
ECE 445 - Fall 2020 - Lecture 1 - Course Introduction
WELCOME TO
COMPUTER ORGANIZATION
ECE 445 – Computer Organization
Dr. Craig Lorie
Electrical and Computer Engineering
Lecture #1
Fall 2020 ECE 445 - Computer Organization 2
Topics Covered
• Course Introduction
• Instructor information
• Homework, exams, grading
• Class meetings, class preparation, and class exercises.
• Labs (Machine Projects)
• History
• Key developments in electronics and computing.
• Moore’s Law
• Introduction to Computer Organization
• A basic computer system, and a simple CPU.
• Memory and I/O.
Fall 2020 ECE 445 - Computer Organization 3
Reading Assignment
• Hennessey/Patterson: Appendix B
• Hennessey/Patterson: 1.1 – 1.5, 1.12
Fall 2020 ECE 445 - Computer Organization 4
COURSE OVERVIEW
Fall 2020 ECE 445 - Computer Organization 5
Course Overview
• General overview of the operation of a digital computer.
• Design of the datapath and control unit of a simple processor.
• Including the ALU, Register file, memories, and other components.
• Hardwired and microprogrammed implementations of the control unit.
• Memory technologies and the hierarchical memory system.
• Read-only, Read-write, volatile, non-volatile, etc.
• Cache, main memory, and secondary memory.
• Programming in (MIPS) assembly language.
• Implementing high-level language constructs in assembly language.
• Converting between assembly language and machine language.
• Behavioral modeling of the computer organization using VHDL.
Fall 2020 ECE 445 - Computer Organization 6
Course Information
• Course: ECE 445 (Computer Organization)
• Course website:
• Blackboard (http://mymason.gmu.edu)
• Lectures, Homework assignments, Labs (ECE 332), Resources, etc.
• Prerequisites
• ECE 331 – Digital System Design
• ECE 332 – Digital System Design Lab
• CS 222 – Computer Programming for Engineers (C programming)
Fall 2020 ECE 445 - Computer Organization 9
Instructor Information
• Instructor: Dr. Craig Lorie
• GMU Webpage
• https://ece.gmu.edu/~clorie/
• Office
• 3221 Nguyen Engineering Building
• Phone
• (703) 993 - 9616
• Email
• clorie@gmu.edu
• Office Hours
• Posted on Blackboard and on office door.
Fall 2020 ECE 445 - Computer Organization 10
Required Textbook
• Computer Organization and Design
• The hardware / software interface
• by David Patterson and John Hennessey
• 5th Edition
• ISBN-13: 978-0-12-407726-3
Fall 2020 ECE 445 - Computer Organization 11
Class Meetings
• This course has been designed to improve learning and
retention through active participation.
Class Exercises
• Class exercises will
• Focus on material covered in the lecture (and associated reading).
• Facilitate active engagement in the class
• Aids in the learning process
• Leads to improved retention
• Answers submitted via Blackboard.
• You can use your smartphone, tablet, or laptop.
• You will receive one point for each correct answer.
• You will have two attempts to submit your answers.
• You will receive the higher of the two scores.
• You must be in class to get credit for the class exercises.
• If you fail to attend class, you will receive a zero for the exercises.
Fall 2020 ECE 445 - Computer Organization 14
Homework
• Homework is assigned on a weekly basis.
• Covers the material discussed in class and in the reading.
• Submitted via Blackboard by 11:59 PM on due date.
• Must be scanned and submitted in PDF format. No pictures!
• Late submissions will NOT be accepted.
• Each homework assignment will include:
• Five required problems. You must complete these problems.
• Additional practice problems. You are encouraged to complete these.
• Required problems will be graded (1 point each).
• Lowest homework grade will be dropped.
• You are encouraged to work together on the assignments.
• However, you must submit your own solutions.
Fall 2020 ECE 445 - Computer Organization 15
Exams
• Two midterm exams and a Final exam.
• All exams are cumulative.
• All exams are closed book.
• The MIPS Reference Card (i.e. Green card) may be used on all exams.
• See class schedule for exam dates.
• No makeup exams.
• Contact me in advance, if there is a conflict or a problem.
• In the event of an emergency, contact me as soon as possible.
• You must provide the proper documentation if an exam is missed.
• You will be required to use the Respondus Lockdown browser
and a Webcam when taking each exam.
• If your OS does not support the lockdown browser or you do not have a
webcam, you must speak with me to make alternate arrangements.
Fall 2020 ECE 445 - Computer Organization 16
Lab Experiments
• Six VHDL-based lab experiments.
• Lab experiments will focus on the design, implementation,
synthesis, and programming of the single-cycle MIPS processor.
• Design and simulation using VHDL and the Xilinx Vivado design suite
• Synthesis using the Digilent Basys3 board.
• Programming done in MIPS assembly language.
• Students will work in groups (of two).
• You will select or be assigned a partner (prior to the due date of Lab 1).
• If you wish to work individually, you must get permission from instructor.
Lab Meetings
• The TA will provide an introduction to each lab experiment.
• See lab schedule for appropriate dates.
• Each lab group will
• Submit one solution via Blackboard by the specified due date.
• Demonstrate the solution during the assigned lab meeting.
• The TA will assess the solution during the lab meeting.
• Each student will be asked questions about the solution.
• TA will evaluate each student’s understanding of the solution.
• Each student will be graded accordingly.
Discussion Board
• Four discussion forums created on Blackboard:
• General questions
• Lecture materials, class exercises, and assignments.
• Exams
• Labs
• All questions should be posted on the appropriate forum.
• Questions will not be addressed via email.
• Please subscribe to each of the forums.
Fall 2020 ECE 445 - Computer Organization 19
Grading
• Final numeric grade calculated as follows:
• Homework Assignments 5%
• Program Assignments 5%
• Class Exercises 5%
• Lab Experiments 25%
• Midterm #1 17.5%
• Midterm #2 17.5%
• Final 25%
• A final letter grade will be assigned after first scaling the class
average to 78 (C+).
Fall 2020 ECE 445 - Computer Organization 20
VHDL
• Very High Speed Integrated Circuit (VHSIC)
• Hardware
• Description
• Language
• A formal language for specifying the behavior and structure
of a digital circuit.
• Write and simulate VHDL code using the Vivado Design Suite.
• Program the Xilinx FPGA using the Vivado Design Suite.
• Test synthesized digital circuit using the Digilent Basys3 board.
Fall 2020 ECE 445 - Computer Organization 23
MIPS Simulators
• MARS (MIPS Assembler and Runtime Simulator)
• A lightweight IDE for programming in MIPS assembly language.
• Includes an editor, debugger, and simulator.
• Shows the values contained in the registers and memory locations.
• A tutorial will be provided for MARS.
Cheating
• An Honor Code Violation.
• Typical academic sanctions for honor code violations:
• Zero on the exam/assignment.
• F in the course.
• More severe sanctions for second violation.
• See the following website for more information about
academic and additional sanctions:
• http://oai.gmu.edu/understanding-the-consequences/
• See the following website for the Mason Honor Code:
• http://oai.gmu.edu/the-mason-honor-code/
HISTORY
Fall 2020 ECE 445 - Computer Organization 27
History
History
1939 • First binary digital computers developed.
1943
1946 • George Stibitz (Bell Labs)
1949 • Complex Number Calculator
1951 • Performs binary mathematical operations in
1960 binary using on-off relays.
1975
1977 • Konrad Zuse (Germany)
1981 • First programmable calculator (Z2)
• Uses binary numbers and Boolean algebra.
1984
• Programmed with punched tape.
2010
History
• First vacuum-tube programmable logic
1939 calculator.
1943
1946 • Britain
1949 • Colossus
1951 • Built for the purpose of breaking Nazi codes.
1960
Colossus Mark 2 Computer
1975 From: https://en.wikipedia.org/wiki/
Colossus_computer
1977
1981
1984
2010
History
1939 • First electronic computer put into
1943 operation.
1946
1949 • John Mauchly and John Presper Eckert
1951 • (University of Pennsylvania)
1960 • Electronic Numerical Integrator and
1975 Computer (ENIAC)
1977 • Used for ballistics computations (in late WWII).
• Weighs 30 tons and includes 18000 vacuum
1981
tubes, 6000 switches, and 1500 relays.
1984
2010
History
1939 ENIAC
1943
1946
1949
1951
1960
1975
1977
1981
1984
2010
History
1939 • First stored-program computer is built.
1943
1946 • Maurice Wilkes (Britain)
1949 • Electronic Delay Storage Automatic
1951 Calculator (EDSAC)
1960
1975
1977
1981
1984
2010
History
1939 • First computer designed for US business.
1943
1946 • Eckert and Mauchly
1949 • Universal Automatic Computer (UNIVAC)
1951 • Key feature: uses magnetic tape storage rather
1960 than punched tape.
1975
1977 • J. Lyons & Company (Britain)
1981 • Lyons Electronic Office (LEO)
• Unveiled for business use months before UNIVAC.
1984
2010
History
1939 UNIVAC
1943
1946
1949
1951
1960
1975
1977
1981
1984
2010
History
1939 • DEC introduces the “compact” PDP-1.
1943
1946 • Digital Equipment Corporation (DEC)
1949 • PDP-1 introduced for the science and
1951 engineering market.
1960 • The system costs $125000, fits in a corner of a
1975
room, and doesn’t require air conditioning.
1977
1981 • PDP-8 is released five years later.
• First computer to fully use integrated circuits.
1984
2010
History
1939 PDP-1
1943
1946
1949
1951
1960
1975
1977
1981
1984
2010
History
1939 • First home computer is marketed to
1943 hobbyists.
1946
1949 • Micro Instrumentation Telemetry Systems
1951 • Altair 8800
1960 • Build-it yourself kit
History
1939 • Apple II released.
1943
1946 • Steve Jobs and Steve Wozniak
1949 • (Apple Computer)
1951 • Apple II
1960 • Desktop personal computer for the mass market.
1975 • Features a keyboard, monitor, mouse, and
1977
random-access memory (RAM).
1981
1984
2010
History
1939 Apple IIe Plus
1943
1946
1949
1951
1960
1975
1977
1981
1984
2010
History
1939 • IBM Personal Computer released.
1943
1946 • International Business Machines (IBM)
1949 • IBM Personal Computer (PC)
1951 • Includes an Intel 8088 microprocessor, 64
1960 kilobytes of memory, and a floppy disk drive.
• Runs an operating system (MS-DOS) designed
1975
by Microsoft.
1977 • Costs under $3000.
1981
1984
2010
History
1939 • Macintosh introduced.
1943
1946 • Apple Computer
1949 • Macintosh
1951 • A low-cost, plug-and-play personal computer.
1960 • Central processor fits on a single circuit board.
History
1939 • iPAD introduced.
1943
1946 • Apple Computer
1949 • iPAD
1951 • Revolutionary device for browsing the web,
1960 reading/writing email, viewing photos and
videos, listening to music, playing games, etc.
1975
• Includes a responsive high-resolution touch
1977 display that allows users to physically interact
1981 with applications and content.
• Just 0.5 inches thick and weighs just 1.5 pounds.
1984
• Includes 12 innovative apps developed
2010
especially for the iPAD.
From ‘Apple Press Info’: https://www.apple.com/pr/library/2010/01/27Apple-Launches-iPad.html/
Fall 2020 ECE 445 - Computer Organization 43
Moore’s Law
Gordon Moore
Technology Trends
• Electronics technology continues to evolve.
• Increased capacity
and performance.
• Reduced cost.
DRAM Capacity
Fall 2020 ECE 445 - Computer Organization 45
INTRODUCTION TO
COMPUTER ARCHITECTURE
Fall 2020 ECE 445 - Computer Organization 46
Microcomputer System
• In general, a computer system
Architecture of a computer system:
is composed of
• Central Processing Unit (CPU)
• Datapath
• Control unit
• Memory
• Program
• Data
• Input/Output
• System Buses
• To connect the CPU to memory
and I/O
• Include the address, data, and
control buses
“Introduction to Embedded Systems using Microcontrollers and the MSP430”; Jimenez, Palomera, Couvertier; p. 82
Fall 2020 ECE 445 - Computer Organization 47
“Introduction to Embedded Systems using Microcontrollers and the MSP430”; Jimenez, Palomera, Couvertier; p. 87
Fall 2020 ECE 445 - Computer Organization 48
“Introduction to Embedded Systems using Microcontrollers and the MSP430”; Jimenez, Palomera, Couvertier; p. 87
Fall 2020 ECE 445 - Computer Organization 49
• Register File
• General-purpose registers.
• Special-purpose registers.
• Programmer accessible.
• Stores assembly language
instruction operands.
“Introduction to Embedded Systems using Microcontrollers and the MSP430”; Jimenez, Palomera, Couvertier; p. 87
Fall 2020 ECE 445 - Computer Organization 50
Instruction Cycle
• Instructions are executed by the processor.
• Each is processed according to the steps in the instruction cycle.
• Aka. fetch-execute cycle and CPU cycle.
Memory Structure
• The memory is organized as an array of cells or locations.
• Each memory location is identified by an address.
• Memory cells may store instructions or data.
• Each cell contains a memory “word”.
“Introduction to Embedded Systems using Microcontrollers and the MSP430”; Jimenez, Palomera, Couvertier; p. 98
Fall 2020 ECE 445 - Computer Organization 52
Memory Technologies
“Introduction to Embedded Systems using Microcontrollers and the MSP430”; Jimenez, Palomera, Couvertier; p. 100
Fall 2020 ECE 445 - Computer Organization 53
Memory Hierarchy
• The memory system is organized hierarchically:
Fall 2020 ECE 445 - Computer Organization 54
“Introduction to Embedded Systems using Microcontrollers and the MSP430”; Jimenez, Palomera, Couvertier; p. 111
Fall 2020 ECE 445 - Computer Organization 55
Questions?
Fall 2020 ECE 445 - Computer Organization 56
ADDITIONAL SLIDES
Fall 2020 ECE 445 - Computer Organization 57
The Memory
• Memory
• Technologies include:
• SRAM and DRAM
• Magnetic media (hard disk)
• Optical media (CD/DVD)
• Solid state (flash)
• Composed of a set of locations
• Each has a unique address
• Each can store unique data
• Organized hierarchically
• Cache
• Main memory
• Secondary memory
Fall 2020 ECE 445 - Computer Organization 59