Uploaded by Temuulen Ankhbayar

ENCM369 Lecture 1 Slides

advertisement
IqIq
Introduction to
Computer
Organization
Introduction to Computer Organization
Geoffrey Messier
Professor of Electrical & Computer Engineering
Schulich School of Engineering
Slide 1/20
©Geoffrey Messier
2021
IqIq
A User’s Perspective
Introduction to
Computer
Organization
Slide 2/20
©Geoffrey Messier
2021
• User’s Perspective: Making use of a computer in our
daily lives.
• This can take many forms.
IqIq
A User’s Perspective
Introduction to
Computer
Organization
Slide 3/20
©Geoffrey Messier
2021
• The personal computer/laptop.
IqIq
A User’s Perspective
Introduction to
Computer
Organization
Slide 4/20
©Geoffrey Messier
2021
• The smartphone.
IqIq
A User’s Perspective
Introduction to
Computer
Organization
Slide 5/20
©Geoffrey Messier
2021
• A car.
IqIq
A User’s Perspective
Introduction to
Computer
Organization
• Input/Output (I/O) Interface: Used by the computer to
receive information (input) and to provide information
(output).
• Hardware: The physical construction of a computer.
• Software: The programs/apps that we run on the
computer that define its behaviour.
Slide 6/20
©Geoffrey Messier
2021
IqIq
A Programmer’s Perspective
Introduction to
Computer
Organization
Slide 7/20
©Geoffrey Messier
2021
• Programmer’s Perspective: Using a computer to
develop software. Usually in a high level language like
C, Python, etc.
• Software development is done in some kind of
programming environment that translates code to a
working program.
• For many forms of software development, a
programmer’s understanding doesn’t need to be much
deeper than a regular user.
IqIq
The Silicon Perspective
Introduction to
Computer
Organization
• Computer hardware consists of transistors implemented
on silicon.
• Example:
Figure: A silicon wafer.1
• The Apple A13 processor consists of 8.5 billion
transistors.
• Each transistor is 7 nm (the width of 14 atoms).
Slide 8/20
©Geoffrey Messier
2021
1
https://www.techpowerup.com
IqIq
Bridging the Gap
Introduction to
Computer
Organization
• Goal: Finish bridging the gap between the
user/programmer perspective and silicon.
• In your digital design classes, you’ve learned how to:
• Use transistors to create basic logic gates (NOT, AND,
OR, etc.).
• Create circuits with memory using these basic logic
functions.
• Design circuits that change state and generate outputs
that are a function of state an user input.
Slide 9/20
©Geoffrey Messier
2021
IqIq
The Microarchitecture Perspective
Introduction to
Computer
Organization
Slide 10/20
©Geoffrey Messier
2021
• Micro-architecture: Digital blocks implemented on
silicon that make up a computer.
• A micro-architecture executes a series of low level
machine language instructions.
• The machine language instructions are generated from
a program written in a high level language (HLL).
• Instruction Set Architecture: The set of all the different
machine language commands that will run on a
micro-architecture.
IqIq
The Microarchitecture Perspective
Introduction to
Computer
Organization
• The term architecture is used to refer to the many
different types of processors available:
• x86: Originally developed by Intel, this is the family
that makes up most PC/laptop processors. Includes the
i5/i7 processors.
• Advanced RISC Machine (ARM): The most widely
used architecture2 , ARM sells licenses to their designs
to multiple companies who then build the chips.
• AVR (Alf and Vergard’s Reduced Instruction Set
Computer): The micro-processor family used by
Arduino.
Slide 11/20
©Geoffrey Messier
2021
1
https://en.wikipedia.org/wiki/ARM architecture
IqIq
Diving into a Micro-architecture
Introduction to
Computer
Organization
Slide 12/20
©Geoffrey Messier
2021
IqIq
Diving into a Micro-architecture
Introduction to
Computer
Organization
Slide 13/20
©Geoffrey Messier
2021
• Processor: Active block of the computer that’s
responsible for following the instructions making up a
program.
• Memory: The area where programs and the data used
by programs are stored.
• I/O: Any interface or device used to send information
into the computer or to get information out of it.
• Bus: One or more wires that run in parallel and carry
digital information.
• Microprocessors (MPUs): Supported by several external
chips that implement memory, I/O, etc.
• Microcontrollers (MCUs): All functionality contained on
a single chip.
IqIq
Diving into a Micro-architecture
Introduction to
Computer
Organization
• Buses are digital connections between functional blocks.
They can be:
• Serial: One bit is transmitted at a time. Usually
consists of one wire for data and a few others for clock
and control signals.
• Parallel: Several bits are transmitted simultaneously.
Usually implemented using several parallel wires.
8
8 bit
Parallel Bus
Single Digital
Line
Slide 14/20
©Geoffrey Messier
2021
IqIq
The Harvard Micro-Architecture
Introduction to
Computer
Organization
Instruction
Memory
Processor
I/O
Slide 15/20
©Geoffrey Messier
2021
Data
Memory
IqIq
The AVR128DB28 Microprocessor
Introduction to
Computer
Organization
Slide 16/20
©Geoffrey Messier
2021
1
Microchip, AVR128DB28/32/48/64 Datasheet, DS40002247A, 2020.
IqIq
Specialized vs. Generalized Computing
Introduction to
Computer
Organization
• A micro-architecture is the ultimate in generalized
computing.
• Actions taken by the processor depend on the
instructions stored in memory (the stored program
concept).
• We can change what the processor does by changing
the instructions, not the actual hardware.
• Some digital circuits are designed to do only one job.
• Implemented on a field programmable gate arrays
(FPGAs) and migrated to an application specific
integrated circuit (ASIC).
• Very fast, low cost and power efficient.
• Not very versatile.
Slide 17/20
©Geoffrey Messier
2021
IqIq
Specialized vs. Generalized Computing
Introduction to
Computer
Organization
• Some stored program devices also have specialized
hardware to accelerate certain operations:
• Digital signal processors (DSPs).
• Graphics processing units (GPUs).
Slide 18/20
©Geoffrey Messier
2021
IqIq
Embedded Design & “Firmware”
Introduction to
Computer
Organization
Slide 19/20
©Geoffrey Messier
2021
• An embedded system is a computer that is embedded in
a larger system that does a very specific job.
• Example: Automobile engine control, home security
system controller.
• Embedded systems still use a stored program
micro-architecture.
• Firmware is software that provides very low level control
of hardware.
IqIq
Our Goal
Introduction to
Computer
Organization
• To learn how a computer “works”:
• How a high level programming language is translated
into low level binary instructions a micro-architecture
can understand.
• The design of the digital logic structures necessary to
store and execute these instructions.
• How micro-architecture design can be enhanced to
improve performance.
• By the end of this course, we will have bridged the gaps
between the program and the a digital design made up
of simple logic gates.
Slide 20/20
©Geoffrey Messier
2021
Download