1/80
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
personal computer
general purpose, variety of software, subject to cost/performance tradeoff
server computer
network based, high capacity, performace, reliability, rangle from small to building size
supercomputer
type of server, high-end calculations, highest capability
embedded computer
hidden as components of systems, power/performace/cost restraints
Personal Mobile Device (PMD)
battery operated, connects to internet, $100s
cloud computing
warehouse scale computers, software as a service, portion runs on PMD, portion on Cloud
Algorithm
determines number of operations executedprogr
programming language, compiler, architecture
determine number of machine instructions executed per operation
processor and memory system
determine how fast instructions are executes
I/O system
determines how fast I/O operations are executed
Seven Great Ideas
abstraction, common case fast, parallelism, pipelining, prediction, heirarchy, dependability
abstraction
breaking down complex systems into smaller, manageable components
common case fast
optimization of frequent operations
parallelism
performing multiple tasks simultaneously to increase speed
pipelining
overlapping execution of instructions to reduce time it takes to complete thempredi
prediction
making educated guesses about future events to avoid waiting
heirarchy of memories
organizing memory into different levels based on speed and cost
dependability
using multiple components to increase reliability
application software
written in high level language
system software
compiler and operating system
compiler
translates HLL code to machine code
operating system
service code - handles input/output, manages memory and storage, schedules tasks & sharing resources
hardware
processor, memory, I/O controllers
High-level language code
level of abstraction closer to problem domain, provides productivity and portability
assembly language code
textual representation of instructions
hardware representation of code
binary digits (bits), encoded instructions and data
components of a computer
desktop, server, embedded
Input/Output includes
user-interface devices, storage devices, network adapters
user interface devices
display, keyboard, mouse
storage devices
hard disk, CD/DVD, flash
network adapters
for communicating with other computers
Touchscreen
PostPC device, supersedes keyboard/mouse, resistive and capacitative types
LCD screen
picture elements (pixels), mirrors content of frame buffer memory
Inside the Processor (CPU)
Datapath, Control, Cache memory
datapath
performs operations on data
control
sequences datapath, memory
cache memory
small fast SRAM memory for immediate access to data
instruction set architecture (ISA)
hardware/software interface
application binary interface
the ISA plus system software interface
implementation
the details underlying and interface
volatile main memory
loses instructions and data when powered off
non-volatile secondary memory
magnetic disk, flash memory, optical disk (CDROM, DVD)
networks
communication, resource sharing, nonlocalaccess
local area network (LAN)
ethernet
wide area network (WAN)
internet
wireless network
wifi, bluetooth
electronics technology evolves
increased capacity and performance, reduced cost
can transform silicon to act as
codnuctor, insulator, switch
yield
proportion of working dies per wafer
die
single Integrated Circuit (IC)in
integrated circuit cost
nonlinear relation to area and defect rate
fewer dies per wafer
as die area increases, you get fewer chips from a singular wafer
lower yield
as the die area increases, the defect rate increases as the likelihood of there beign a defect on the die increases
response time
how long it takes to do a task
throughput
total work done per unit time
elapsed time
total response time, determines system performance
aspects of response time
processing, I/O, OD overhead, idle time
CPU Time
time spent processing a given job, comprises user and system CPU time
CPU clocking
operation of digital hardware governed by constant rate clock
cycle time
duration of a clock cycle
clock rate
clock frequency
CPU performance improved by
reducing number of clock cycles, increasing clock rate (clock cycles/clock rate)
instruction count
determined by program, ISA, and compiler
average cycles per instruction (CPI)
determined by CPU hardware, use average CPI affected by instructions
performance depends on
algorithm, programming language, compiler, instruction set architecture
power
capacitative load x voltage² x frequency
the power wall
cannot reduce voltage further, cannot remove more heat
uniprocessor performance
constrained by power, instruction-level parallelism, memory latency
multicore microprocessor
has more than oen processor per chip, requires parallel programming
thread-based parallelism
divide tasks into multiple threads that can run on separate cores
data parallelism
workloads are split across cores to process data in chunks - GPU computing
task parallelism
tasks are assigned to different cores - thread for UI, thread for computations
Spectre vulnerability
exploits speculative execution capabilities of modern CPUs, leak sensitive data
instruction level parallelism (ILP)
executing multiple instructions within a single processor core using pipelining, superscalar execution, out-of-order execution
SPEC Power Benchmark
industry-standard tool designed to evaluate the energy efficiency of server-class computers
SPECpower_ssj2008
most recognized version of SPEC Power Benchmark
Amdahl’s Law
improving an aspect of a computer and expecting a proportional improvement in overall performance
MIPS pitfall - Millions of Instructions Per Second
doesn’t account for differences in ISAs between computers, differnces in complexity between instructions
process
an independent program in execution with its own memory space
thread
a lightweight unit of execution within a process, sharing the process’ resources
multi-process architecture
create separate processes for different tasks