ECE 445 - Fall 2020 - Lecture 1 - Course Introduction

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 59

Fall 2020 ECE 445 - Computer Organization 1

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 Overview (continued)


• Course includes a demanding design component.
• Design, implement, and simulate a simple processor.
• MIPS processor.
• Using VHDL, schematic capture, and the Xilinx Vivado design suite.
• Processor will be realized using the Digilent Basys3 board.
• Processor will be programmed using assembly language.
Fall 2020 ECE 231 - Digital System Design 7

Topics Covered in this Course


• Topics covered in this course include:
1. .
2. .
3. .
4. .
5. .
6. .
7. .
8. .
9. .

• A more detailed list can be found in the course Syllabus.


Fall 2020 ECE 445 - Computer Organization 8

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

Another Useful Textbook


• Introduction to Embedded Systems
• Using Microcontrollers and the MSP430
• by Jimenez, Palomera, and Couvertier
• ISBN-13: 978-1-4614-3143-5

• Can be downloaded for free via the


Mason library.
• http://link.springer.com/book/10.1007%
2F978-1-4614-3143-5
Fall 2020 ECE 445 - Computer Organization 12

Class Meetings
• This course has been designed to improve learning and
retention through active participation.

• Each class meeting will consist of:


1. A presentation by the instructor
• To provide an overview of the material covered.
2. In-class exercises
• Provide practice necessary to learn (and retain) the material.

• You must be prepared for each class meeting.


• Review lecture materials prior to class.
• Complete reading assignment prior to class.
Fall 2020 ECE 445 - Computer Organization 13

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.

• Due date of each experiment is specified in the lab schedule.


• See lab syllabus for penalties associated with late submission.
Fall 2020 ECE 445 - Computer Organization 17

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.

• Attendance in lab is mandatory.


• Including those weeks during which no experiment is due.
• Failure to attend lab will result in a reduction in the experiment grade.
Fall 2020 ECE 445 - Computer Organization 18

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

Xilinx Software (Required)


• The Xilinx Vivado Design Suite is used for
• Design entry (VHDL and Schematic Capture)
• Circuit simulation
• Circuit synthesis

• Information about the Vivado Design Suite can be found online:


• http://www.xilinx.com/products/design-tools/vivado.html

• The TA will provide you with information about how to


download and install the Xilinx Vivado Design Suite.
Fall 2020 ECE 445 - Computer Organization 21

Development Board (Required)


• Digilent Basys3 Board.
• Contains the Xilinx Artix-7 FPGA.
• Technical information about the board can be found online:
• http://store.digilentinc.com/basys-3-artix-7-fpga-trainer-board-recommended-for-introductory-users/
• https://reference.digilentinc.com/_media/basys3:basys3_rm.pdf
Fall 2020 ECE 445 - Computer Organization 22

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.

• SPIM (“MIPS” spelled backwards)


• A MIPS processor simulator designed to run assembly language code for
this architecture.
• Programs must be written separately in a text editor.
• And then imported into SPIM (for simulation).
• Appendix A.9 of COD is devoted to the SPIM simulator.
• No support will be provided for this simulator.
Fall 2020 ECE 445 - Computer Organization 24

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/

• The best way to avoid problems is to simply NOT cheat!


Fall 2020 ECE 445 - Computer Organization 25

Syllabus and Schedule


• The syllabus and schedule are posted on Blackboard.

• The syllabus contains a detailed discussion of the guidelines


and expectations for this course.
• You are expected to read and be familiar with the course syllabus.

• The schedule includes


• the list of topics covered (and their associated dates)
• required reading assignment for each topic
• due dates for all homework assignments
• (due dates for all labs)
• dates of all exams
Fall 2020 ECE 445 - Computer Organization 26

HISTORY
Fall 2020 ECE 445 - Computer Organization 27

History

“Programmable electronic devices of all sorts have come


to pervade modern society to such a degree that future
generations may well designate the 20th century as the
Computer Age.”

From ‘Greatest Engineering Achievements of the 20th Century’: http://www.greatachievements.org/


Fall 2020 ECE 445 - Computer Organization 28

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

From ‘Greatest Engineering Achievements of the 20th Century’: http://www.greatachievements.org/


Fall 2020 ECE 445 - Computer Organization 29

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

From ‘Greatest Engineering Achievements of the 20th Century’: http://www.greatachievements.org/


Fall 2020 ECE 445 - Computer Organization 30

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

From ‘Greatest Engineering Achievements of the 20th Century’: http://www.greatachievements.org/


Fall 2020 ECE 445 - Computer Organization 31

History
1939 ENIAC
1943
1946
1949
1951
1960
1975
1977
1981
1984
2010

From Hennessey and Patterson. “Computer Organization and Design”, 5 th Edition.


Fall 2020 ECE 445 - Computer Organization 32

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

From ‘Greatest Engineering Achievements of the 20th Century’: http://www.greatachievements.org/


Fall 2020 ECE 445 - Computer Organization 33

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

From ‘Greatest Engineering Achievements of the 20th Century’: http://www.greatachievements.org/


Fall 2020 ECE 445 - Computer Organization 34

History
1939 UNIVAC
1943
1946
1949
1951
1960
1975
1977
1981
1984
2010

From Hennessey and Patterson. “Computer Organization and Design”, 5 th Edition.


Fall 2020 ECE 445 - Computer Organization 35

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

From ‘Greatest Engineering Achievements of the 20th Century’: http://www.greatachievements.org/


Fall 2020 ECE 445 - Computer Organization 36

History
1939 PDP-1
1943
1946
1949
1951
1960
1975
1977
1981
1984
2010

From: ‘The PDP-1’ by George Michael, http://www.computer-history.info/Page4.dir/pages/PDP.1.dir/#album


Fall 2020 ECE 445 - Computer Organization 37

History
1939 • First home computer is marketed to
1943 hobbyists.
1946
1949 • Micro Instrumentation Telemetry Systems
1951 • Altair 8800
1960 • Build-it yourself kit

1975 • Doesn’t include a keyboard, monitor, or its own


programming language.
1977
• Includes an Intel microprocessor.
1981 • Costs less than $400.
1984 • A version of BASIC is developed for it by Bill
2010 Gates and Paul Allen.

From ‘Greatest Engineering Achievements of the 20th Century’: http://www.greatachievements.org/


Fall 2020 ECE 445 - Computer Organization 38

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

From ‘Greatest Engineering Achievements of the 20th Century’: http://www.greatachievements.org/


Fall 2020 ECE 445 - Computer Organization 39

History
1939 Apple IIe Plus
1943
1946
1949
1951
1960
1975
1977
1981
1984
2010

From Hennessey and Patterson. “Computer Organization and Design”, 5 th Edition.


Fall 2020 ECE 445 - Computer Organization 40

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

From ‘Greatest Engineering Achievements of the 20th Century’: http://www.greatachievements.org/


Fall 2020 ECE 445 - Computer Organization 41

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.

1975 • Doesn’t offer enough power for business


applications.
1977
• Easy-to-use graphic interface finds fans in
1981 education and publishing.
1984
2010

From ‘Greatest Engineering Achievements of the 20th Century’: http://www.greatachievements.org/


Fall 2020 ECE 445 - Computer Organization 42

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

Moore’s Law stated that the number


of transistors on an affordable CPU
would double every two years.
From ‘Moore’s Law’: http://www.mooreslaw.org/

From ‘Wikipedia (Moore’s Law)’: http://en.wikipedia.org/wiki/Moore's_law


Fall 2020 ECE 445 - Computer Organization 44

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

Central Processing Unit (CPU)


Architecture of a simple CPU: • Datapath
• Consists of the functional units
needed to execute the assembly
language instructions in the CPU’s
instruction set.
• Functional Units include:
• Arithmetic and Logic Unit (ALU)
• Register File
• Other special-purpose registers
• Multiplexers
• Connects to memory and I/O via
the Bus interface logic and the
System buses.

“Introduction to Embedded Systems using Microcontrollers and the MSP430”; Jimenez, Palomera, Couvertier; p. 87
Fall 2020 ECE 445 - Computer Organization 48

Central Processing Unit (CPU)


Architecture of a simple CPU: • Control Unit
• Decodes the assembly language
instructions.
• Generates control signals.
• Asserts a specific set of control signals
based on the AL instruction decoded.
• Controls the actions of the datapath.
• The actions needed to execute the
decoded AL instruction.
• Controls communication between
the CPU and the memory and I/O.
• Via the bus interface logic.

“Introduction to Embedded Systems using Microcontrollers and the MSP430”; Jimenez, Palomera, Couvertier; p. 87
Fall 2020 ECE 445 - Computer Organization 49

Central Processing Unit (CPU)


Architecture of a simple CPU: • ALU
• Performs arithmetic and logic
operations.
• Two source operands.
• One destination operand.

• 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.

Fetch Instruction is fetched (or read) from program memory.

Instruction is decoded by the control unit;


Decode Appropriate control signals are generated.

Functional units in the datapath perform the actions


Execute
needed to implement the instruction.
Fall 2020 ECE 445 - Computer Organization 51

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

I/O Device Interface


• Serves as a bridge between an I/O device and the system buses.
• Has one or more registers each with its own address.
• Data, Control, and Status registers.
• Accessed like memory (read/write).

“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

Classical Components of a Computer


• Same components for all
types of computers, including
• Desktops and laptops
• Servers
• Embedded systems
• Input/Output includes
• User-interface devices
• Keyboard, mouse, monitor
• Storage devices
• Hard disk, CD/DVD, flash
• Network adapters
• For communicating with other
Five classic components computers.
Fall 2020 ECE 445 - Computer Organization 58

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

MIPS Datapath and Control Unit

You might also like