Architecture Textbook Flashcards
Personal Computer (PC)
Comp designed for use by individual, usually incorporating graphics display, keyboard + mouse.
Server
Comp used for running larger programs for multiple users, often simultaneously + typically accessed via network.
Supercomputer
Class of comps with highest performance + cost, configured as servers + cost tens to hundreds of millions of dollars.
Embedded Computer
Comp inside another device used for running 1 predetermined app or collection of software. Often have lower tolerance for failure.
Personal Mobile Devices (PMDs)
Small wireless devices to connect to Internet. Rely on batteries for power + software installed by downloading apps. e.g. phones + tablets
Cloud Computing
Large collections of servers that provide services over Internet. Some providers rent dynamically varying nums of servers as utility.
Software as a Service (SaaS)
Delivers software + data as service over Internet, usually via thin program such as browser that runs on local client devices, instead of binary code that must be installed + runs wholly on that device. E.g. web search + social networking.
Moore’s Law
States that integrated circuit resources double every 18 - 24 months.
Abstraction
Useful for productive, simplified design. Allows us to characterise the design at diff levels of representation. Lower level details hidden to offer simpler model at higher levels.
Systems software
Software that provides commonly useful services e.g. operating systems, compilers, loaders + assemblers.
Operating System
Supervising program that manages resources of comp for benefit of programs that run on it. Handles basic input/output operations, allocates storage + memory + provides for protected comp sharing among multiple apps.
Compiler
Program that translates high level language statements into assembly language statements.
Binary Digit/Bit
One of 2 numbers in base 2 (0 or 1) that are components of information.
Instruction
Command that comp hardware understands + obeys.
Assembler
Program that translates symbolic version of instructions into binary version.
Assembly Language
Symbolic representation of machine instructions.
Machine Language
Binary representation of machine instructions.
High-level Programming Language
Portable language composed of words + algebraic notation that can be translated by compiler into assembly language. Allow languages to be designed according to intended use. Improves programmer productivity as concise. Programs also indep of comp they’re developed on. e.g. C++, Java, Visual Basic
Input Device
Mechanism through which comp is fed info e.g. keyboard
Output Device
Mechanism that conveys result of computation to user e.g. display or to another comp.
5 classic components of computer
Input, output, memory, datapath + control. Datapath + control may be combined + called processor.
Liquid Crystal Display (LCD)
Display tech using thin layer of liquid polymers to transmit/block light according to where charge applied.
Active Matrix Display
LCD using transistor to control light transmission at each pixel.
Pixel
Smallest individual picture element. Screens composed of thousands to millions of them organised in a matrix.
Bit Map
Matrix of bits of pixels. e.g. 1024 x 768. Frame buffer will store this and bit pattern per pixel read out to graphics display at refresh rate.
Integrated Circuit/Chip
Device combining dozens to millions of transistors.
Central Processor Unit (CPU)/Processor
Active part of comp, contains datapath + control. Adds nums, tests nums, signals I/O devices to activate etc.
Datapath
Component of processor that performs arithmetic operations.
Control
Component of processor that commands datapath, memory + I/O devices according to program instructions.
Memory
Storage area in which programs are kept when running + contains data needed by running programs.
Dynamic Random Access Memory (DRAM)
Memory built as integrated circuit, provides random access to any location. Access times are 50 nanoseconds + cost per GB in 2012 was 5 to 10 dollars.
Cache Memory
Small, fast memory that acts as buffer for slower, larger memory. (DRAM) Built using SRAM.
Static Random Access Memory (SRAM)
Memory built as integrated circuit, faster + less dense than DRAM.
Instruction Set Architecture/Architecture
Abstract interface between hardware + lowest level software that encompasses all info necessary to write machine language program that will run correctly, including instructions, registers, memory access, I/O etc. Allows designers to talk about functions independently from hardware that performs them.
Application Binary Interface (ABI)
User portion of instruction set plus OS interfaces used by application programmers. Defines standard for binary portability across comps.
Implementation
Hardware that obeys architecture abstraction.
Volatile Memory
Storage, such as DRAM that retains data only if it receives power.
Nonvolatile Memory
Form of memory that retains data even in absence of power source + used to store programs between runs. e.g. DVD.
Main Memory/Primary Memory
Memory used to hold programs while running, typically DRAM.
Secondary Memory
Nonvolatile memory used to store programs + data between runs, typically flash in PMDs + magnetic disks in servers.
Magnetic Disk/Hard Disk
Form of nonvolatile secondary memory composed of rotating platters coated with magnetic recording material. As rotating mechanical devices, access times 5 to 20 milliseconds + cost 5 - 10 cents per GB in 2012.
Flash Memory
Nonvolatile semi conductor memory. Cheaper + slower than DRAM, more expensive per bit + faster than magnetic disks. Access times 5 to 20 microseconds + cost 75 cents - 1 dollar per GB in 2012. Slower than DRAM but cheaper + nonvolatile Smaller, more rugged + more power efficient than magnetic disks. Wear out after 100k - 1 million writes though.
Benefits of Networks
Communication (info exchanged at high speeds), resource sharing (can share I/O devices) + nonlocal access (don’t need to be near comp they’re using). Most pop type is ethernet, up to 1km long + 40GB/s, usually LAN.
Local Area Network (LAN)
Network designed to carry data within geographically confined area, typically within single building. Interconnected with switches that provide routing services + security.
Wide Area Network (WAN)
Network extended over hundreds of kilometers, can span a continent. Typically fibre optic + leased from telecommunications companies.
Transistor
On/off switch controlled by electric signal. Add materials to silicon so areas can conduct/insulate under specific conditions (switch)
Very large-scale integrated circuit (VLSI)
Device containing hundreds of thousands to millions of transistors.
Silicon
Natural semiconductor element. Found in sand. Start of a chip. Can be chemically treated to add materials so it either is a good electricity conductor (copper), good electricity insulator (glass) or conduct/insulate under certain conditions (switch).
Semiconductor
Substance that doesn’t conduct electricity well.
Silicon Crystal Ingot
Rod composed of silicon crystal that is 8 - 12 inches diameter, 12 - 24 inches long.
Wafer
Slice from silicon ingot no more than 0.1 inches thick, used to create chips.
Defect
Microscopic flaw in wafer/patterning steps that can result in failure of die containing that defect. Best way to cope with this is place many indep. components on single wafer + dice into dies so can discard only flawed dies, rather than whole wafer. Increases yield.
Die/Chip
Individual rectangular sections cut from wafer.
Yield
Percentage of good dies from total num of dies on wafer.
Bonding
Once you’ve found the good dies, they’re connected to I/O pins of a package using this process. They’re tested against before being sent to customers.
Response Time/Execution Time
Total time required for comp to complete task, including disk accesses, memory accesses, I/O activities, OS overhead + CPU execution time etc. Equals num of instructions executed multiplied by average time per instruction.
Throughput/Bandwidth
Measure of performance, num of tasks completed per unit time. Datacentre manager is interested in increasing this.
Performance
Performance = 1/Execution time. To find how much faster A is than B: Performance A/Performance B = ExecutionTime B/ExecutionTime A = n.
Wall clock time/response time/elapsed time
Total time to complete a task, including disk accesses, memory access, operating system overhead etc.
CPU Execution time/CPU time
Time CPU spends computing for a specific task. CPU Execution Time for a Program = CPU clock cycle for a program x clock cycle time. CPU time = instruction time x CPI x clock cycle time.
User CPU time
CPU time spent in program itself.
System CPU time
CPU time spent in OS performing tasks on behalf of program.
Clock Period
Length of each clock cycle e.g. 250 picoseconds, the clock rate (inverse of clock period) e.g. 4GHz.
Clock Cycle/tick/clock tick/clock period/clock/cycle
Time for 1 clock period, usually of processor clock, which runs at constant rate. Clock rate + clock cycle time are inverses. CPU clock cycles = instructions for program x average clock cycles per instruction.
Clock cycles per instruction (CPI)
Average num of clock cycles per instructions for program/program fragment.
Instruction Count
Num of instructions executed by program.
Instruction Mix
Measure of dynamic frequency of instructions across 1 or many programs. CPI varies by this.
CMOS
Complementary Metal Oxide Semiconductor. Dominant tech for integrated circuits. Primary source of energy consumption is dynamic energy, consumed when transistors switch from 0 to 1 + vice versa. Dynamic energy depends on capacitive loading of each transistor + voltage applied. energy ∝ capacitive load x voltage^2. Single transistion is energy ∝ 1/2 x capacitive load x voltage^2. Power required per transistor is power ∝ 1/2 x capacitive load x voltage^2 x frequency switched.
Frequency Switched
Function of clock rate.
Capacitive load per transistor
Function of num of transistors connected to output (fanout) + tech which determines capacitance of wires + transistors.
Lowering of voltage issues
Transistors too leaky. Improve power problem by attaching cooling devices, turning off parts of chip unused in given clock cycle.
Core
A processor. Such microprocessors are called multicore microprocessors. So a quadcore microprocessor is a chip containing 4 processors/cores.
Workload
Set of programs run on comp that is either actual collection of apps run by user or constructed from real programs to approximate such a mix. Typical workload specifies both programs + relative frequencies.
Benchmark
Program selected for use in comparing comp performance.
SPEC
System Performance Evaluation Cooperative. Creates standard set of benchmarks for modern comp systems. Also has a benchmark for measuring power, reporting server power consumption at diff workload levels.
Amdahl’s Law
Rule stating that performance enhancement possible with given improvement is limited by amount that improved feature is used. Quantitative version of law of diminishing returns. Execution time after improvement = execution time affected by improvement/amount of improvement + execution time unaffected.
MIPS
Million instructions per second. Measurement of program execution speed based on num of millions of instructions. Computed as instruction count/product of execution time x 10^6.n Specifies performance inversely to execution time, faster comps have higher MIPS rating. Doesn’t account for instruction capabilities, varies for programs on same comp + if new program executes more instructions but each instruction is faster, MIPS can vary from performance.
Instruction Set
Vocab of commands understood by given architecture.
Stored-Program Concept
Idea that instructions + data of many types can be stored in memory as numbers + so easy to change, leading to stored-program comp.
Doubleword
Natural unit of access in comp, usually group of 64 bits. Corresponds to size of register in LEGv8 architecture.
Word
Natural unit of access in comp, usually group of 32 bits.
Data Transfer Instruction
A command that moves data between memory and registers.
Address
A value used to delineate the location of a specific data element within a memory array.
Load
The data transfer instruction that copies data from memory to a register. Format: Name of operation followed by register to be loaded, then register + constant used to access memory.
Memory Address
The sum of the constant portion of the instruction and the contents of the second register. The real LEGv8 name for this instruction is LDUR, standing for load register. The U stands for unscaled.
Base Register
Register added to form address.
Offset
Constant in data transfer instruction.
Store
Instruction complementary to load. Copies data from register to memory. Similar format to load. Name of operation, register to be stored, base register, offset to select array element. AKA store register in LEGv8.
Alignment Restriction
Requirement that data be aligned in memory on natural boundaries. e.g. word must start at addresses that are multiples of 4.
Spilling Registers
Process of putting less frequently used variables into memory. The more commonly used ones are put into registers.
Least significant bit
Rightmost bit in LEGv8 doubleword.
Most significant bit
Leftmost bit in LEGv8 doubleword.
Signed Load
Function is to copy sign repeatedly to fill rest of register (sign extension) but purpose is to place correct representation of num within register.
One’s Complement
Notation reps most neg value by 10…000 two + most pos value by 01…11 two leaving equal num negs + pos, ending with 2 zeros, 1 pos + 1 neg. Inversion of every bit in pattern.
Biased Notation
Notation reps most neg value by 00…000 + most pos value by 11…11 with 0 having value 10…00, thereby biasing num such that num plus bias has non neg rep.
Instruction Format
Form of rep of instruction composed of fields of binary nums.
Machine Language
Binary rep used for communication within comp system. Numeric version of instructions.
Machine Code
Sequence of instructions used for comms within comp system.
Opcode
Field that denotes operation + format of instruction. Basic op of instruction. Rm = 2nd reg source operand, shamt = shift amount, Rn = 1st reg source operand + Rd = reg dest operand, gets result of op.
AND/OR/NOT/EOR
Logical bit by bit operations. And, Or + Eor have 2 operands, not has 1. And calcs 1 only if 1 in both operands, or calcs 1 if there’s 1 in either operand. Not inverts bits + replaces 1s with 0s and 0s with 1s. Eor calcs exclusive OR of 2 operands. Calcs 1 only if values diff in 2 operands.