BENC 4453: Computer Architecture: Computing Overview
BENC 4453: Computer Architecture: Computing Overview
COMPUTER
ARCHITECTURE
Computing Overview
“ Programs are what a
computer does and data
are
what a computer knows.
2
Doing and knowing
● The part that “does” is called the central processing unit
(CPU). The part that “knows” is called memory.
3
Doing and knowing
● It wasn’t until 1937 that Claude Shannon
systematized the use of binary numbers into the
math's and logic that computers use to this day.
5
Early Computers
● A central control console monitored several different
subsystems, each of which was generally in its own cabinet or
cabinets.
8
Modern Computer
● Instructions could be entered through a single panel
of switches and stored in data memory, one-by-one.
● Later they could be written out from memory onto
lengths of tape punched with patterns of holes, so
that they wouldn’t have to be entered by hand every
time they were run.
● Von Neumann’s insight simplified computing greatly,
and led straight to the explosion of computer power
that occurred during the 1950s.
9
10
Memory
● In the simplest possible terms, system memory
is a long row of storage compartments for data.
● Each location in the row has a unique numeric
address.
● All locations are the same size; in modern
computers this is generally the 8-bit byte.
11
Memory
● However, computers read data from system memory in
multi-byte chunks.
• CPU locates its data for reading and writing by using memory
addresses.
13
Registers
● All CPUs contain a certain limited number of
storage locations called registers.
14
Registers
● Writing to registers and reading from
them is fast—faster than accessing any
other type of memory, especially
system memory that lies outside the
silicon on some other
part of the computer’s main circuit
board.
16
Registers
■ Status: A status register (sometimes
called a flags register) holds a value
divided into single bits or groups of bits.
Each bit or group is updated with the
status of something the CPu has just
done. This allows an instruction that
follows the comparison to know which
way the comparison went.
17
Registers
■ Stack pointer: A stack pointer holds
an address in memory where a data
structure called a last-in-first-out stack is
stored. Stacks are fundamental to CPU
operation.
19
The System Bus
● The system bus carries three things:
○ Memory addresses
○ Data values
20
Instruction Sets
● An instruction set is specific to a specific family
of CPUs.
● Intel’s CPUs represent one such family; ARM is
another.
● Most individual CPUs understand only a single
instruction set.
● The original Raspberry Pi’s ARM11 processor
actually has two instruction sets, though only
one of them is actually used by the Raspberry
Pi software.
21
Instruction Sets
● The machine instructions in an instruction set are
grouped by their general function:
24
Different Voltage Levels
25
Operating Systems
● The Boss of the Box
● Operating systems are programs, and like all
programs they’re ultimately sequences of
machine instructions.
● Unlike word processors and video games,
operating systems have special powers that
enable them to manage a computer system.
26
Operating Systems
● Many of these powers depend on special
machine instructions that are designed to be
used only by operating systems.
27
Operating Systems
● Operating systems are loaded and run first, through a
boot-up process controlled by a computer’s
bootloader, which is a special program tasked with
getting the operating system from storage into
memory and then running it.
● Once an OS has loaded and configured itself, the
computer is “open for business” and the OS can begin
management of the machine.
28
What an OS
does?
● Process management: The OS launches individual
threads of execution for its own needs and the needs
of users. It allocates execution time on the CPU
among executing threads. If the CPU has multiple
cores, it distributes processes among the cores.
does?
file systems, which allocate file storage space on
disks and other mass-storage devices and manage
the reading of data from files and the writing to and
deletion of files.
30
What an OS
does?
● Peripheral management: The OS manages access
to system peripherals like keyboards, mice, printers,
scanners, graphics coprocessors and (in cooperation
with file systems) mass storage devices. This is
generally done through specialised software
interfaces called device drivers, which are written for
specific peripherals and may be installed separately,
much like user applications.
31
What an OS
does?
● Network management: The OS manages the
computer’s access to external networks (like local
area networks and the Internet) through a collection
of standard methods called networking protocols. The
protocols are implemented in one or more pieces of
software that, taken together, are called the network
stack.
32
What an OS
does?
● User account management: All modern operating
systems allow different users to have their own
accounts on the computer. An account includes a
unique login, a set of security rules called privileges
and a private file space protected from manipulation
by other users.
33
What an OS
does?
● Security: Scattered throughout an OS are
mechanisms to keep running processes from
interfering with one another and with the OS itself.
Much of OS security is done by defining rules that
specify what processes and users can and cannot do.
Certain users called administrators or super users
have powers that ordinary users do not
have, in order to control the way the OS does its
work.
34
What an OS
does?
● User interface management: The OS manages
user interaction with the computer through software
mechanisms called shells. A shell may be as simple
as a text command line in a terminal window, or it
can be a full-blown windowed graphical environment
like those used in Windows, Mac OS X and desktop
implementations of Linux, including Raspbian on the
Raspberry Pi.
35
Saluting the Kernel
● In Linux (including the Raspbian oS) the user
interface is an installable module, not much different
in nature from a pure application like a word
processor.
● There are textual shells like bash and ksh, and many
different graphical shells, including GNoME, KDE,
Xfce, Cinnamon and others.
● These shells can be installed and uninstalled by
users with administrator privileges.
36
Thanks!
Any questions?
37