CS 250 Final Material
Amdahl's Law
1 / (1 - Fe) + (Fe/Se)
Processor cost Programmer convenience Engineering consideration Market consideration
4 tradeoffs for ISA designers?
Load
ALU output is a pointer for a Data_Memory read operation with result delivered to dst_reg
Store
ALU output is a pointer for a Data_Memory write operation of bit string in reg_B
Add
ALU output is result, deliver to dst_reg
Relative branch instruction
Address relative location Ex: jump subroutine
Absolute branch instruction
Address specific location Ex: jump
Comment
After a delimiter e.g ";" often a _____________.
take the value of msb and extend to the end
Casting 2s complement?
move msb to the end and add leading 0s in between
Casting Signed magnitude?
add leading 0s
Casting unsigned integer?
High Level Language
Each line corresponds to several in low level Do operations without knowing implementation Complex data types Powerful abstractions
Assembly language
Each statement single instruction Can't be used with other processor Operating system to control hardware Little abstraction
127 for 32 bit and 1023 for 64 bit
Exponent bias in Floating point numbers?
Execution trace
Fetch must follow the correct execution path through the program instructions listing
Fixed, and variable
How are machine instructions represented
4 bytes per character
How big is unicode?
Feed back loop using S'R' latch
How can a circuit remember?
NOT AND (AB)' or (A' + B')
How does NAND gate work?
Latch per bit
How does the register work?
MSB on right, LSB on left
How is little endian read and stored?
instruction rate
How many times you execute those instructions within that clock time?
To Negate: Flip bits, add 1
How to Negate 2s complement?
add normally
How to add 2s complement?
Sequential fetch pointer arithmetic
How to build instruction fetch?
Use ranges
How to decide wire is high or low?
The operator The operand/input The return point/result
Machine instruction (3x components)?
1 more then positive range
Negative range of two's complement is always?
Execute
Perform the step of the program
Engine
Some engineers use the term computational engine to refer to a subpiece of a large complex processor that acts independently and performs a computation
What is dynamic?
Things known after execution
What is statically?
Things known at compile time
identifiable, a lot of them
What are the Memory requirements?
big, expensive, limit by the speed of sound, accuracy decays with ware of the parts
What are the cons of Mechanical computers
Bus
What connects memory and the memory using machine?
stores each label name and its relative memory address in a symbol table
What does first pass do?
stores data
What does register do?
construct machine code
What does second pass do?
1 bit sign, 8 bit exp, 23 bit mantissa bias 127
What is FP representation for 32 bit?
1 bit sign, 11 bit exp, 52 bit mantissa bias 1023
What is FP representation for 64 bit?
2^30 or 10^9
What is Gibi?
Successive codes differ in only one bit position (recall: adding 0001 to 0111 would result in 1000, flipping 4 total bits)
What is Gray code?
2 separate memory spaces (One for instructions and one for data memory)
What is Harvard architecture?
2^10 or 10^3
What is Kibi?
2^20 or 10^6
What is Mebi?
A decoder and it connects to that specific address in memory
What is Pointer mapping circuit?
Completes all Preprocessor directives and all comments are included (Outputs Pure C Code)
What is Preprocessor?
2^40 or 10^12
What is Tebi?
can write data from bus
What is a Demultiplexer?
a collection of k wires carrying the k bits of a k-bit bit string; k ≥ 1
What is a bus?
turns C code into assembly file specific to the architecture (Output assembly code)
What is a compiler?
Turns n input into 2^n output
What is a decoder?
reads from bus
What is a multiplexer?
representation of bytes (MSB on left, LSB on right)
What is big endian?
how many times quartz oscillates
What is clock rate?
trying to find a new set of instructions and do something on those instructions
What is fetch execute cycle?
accurate rounding
What is low noise computation?
small set of instruction that puts computer into deterministic state
What is power-on-reset?
use left most bit to represent positive or negative
What is sign magnitude?
First mechanical computer, 8000k parts, hand powered, fixed software
What is the babbage Engine?
computer used to decode enigma
What is the colossus?
.c -> .i( preprocessed source code) -> .s(assembly code) -> .o(relocatable object code) -> .o (with linked object code)
What is the compiling process?
No shared memory
What is the con of Harvard architecture?
Less secure, slightly slower
What is the con of Von-neuman Architecture?
used vacuum tubes which burned out
What is the cons of colossus?
Source Code (c , comments, preprocessor directives i.e includes stuff)
What is the input?
More secure, Faster
What is the pro of Harvard architecture?
Flexibility in way memory is distributed, More economical
What is the pro of Von-neuman Architecture?
MSB 1 negative 0 positive
What is the sign in Floating point numbers?
larger representation of ASCII
What is unicode?
when there are enough or not enough bits to represent a value
When does overflow and underflow occur?
MSB
Where is the dummy bit in ASCII
compiler
Who is in charge of telling it how to cast?
in order to know when to throw an exception
Why do processor have overflow/underflow carry flag?
makes sure we never read in between voltage jumps and falls
Why do we need a clock?
it changes our relationship, efficiency, and nature of computing machines
Why does technology matter?
hardware uses pointers
Why is pointing everything to hardware?
control of hardware not possible with the HLL and improve performance
Why mix HLL and assembly in programs?
reduces wire necessary to control (factor (sqrt(2^k)/2))
Why optimize pointer mapping in 2-D?
General-purpose Processor
You know what this is. Ex: CPU in PC
OperandX
a pointer or an immediate value
Fetch
access the next step of the program from the loca- tion given by the program counter
Immediate operand (Imm)
an operand bit string contained in a machine instruction field Limitations Must cast to sizeof(register): Imm field is fewer bits than a machine instruction Imm value Must be known at compile time
Register operands
an operand bit string stored in the Register Unit, or Reg File Limitations Max reg pointer are 3
Main memory operands
an operand stored in computer main memory (working memory) Memory today has >= 2^33 locations Pointer is >= 33 bits Limitation 300x slower than register Cannot use 32-bit instr Slow
Branch instruction
if a condition is true, set Actual_next_instr_addr. = Branch_target_address PC + Offset = branch target address
Op
mnemonic for the operation to perform
Coprocessors
operates in conjunction with and under the control of another processor, usually used to perform a single task at high speed. Ex: floating point accelerator
Microcontroller
programmable device dedicated to the control of a physical system. Ex: run physical systems such as the engine in a modern automobile, the landing gera on an airplane and the automatic door in a grocery store.
Register unit/file
register organizer
Embedded System Processors
runs sophisticated electronic devices such as a wireless router or smart phone. Usually more powerful than microcontrollers but may not contain all functionality found on general-purpose CPU.
Label
symbolic for the memory address pointing to the location storing this instr
do not assign meaning to every bit string
why bit strings of a proper length may not correspond to a machine instruction?
Product of sums (POS)
z = (x+y)(x'+y')
Sum of products (SOP)
z = xy+xy'