Flashcards in Architecture Deck (107):
What is a program?
Set of instructions for
-And controlling data
What is an integrated circuit?
-built from many transistors
What is computer organisation?
-How does a computer work
-Encompasses all physical aspects of computer system
What are the levels of computer organisation?
-component level (cpu, buses etc)
-sub-component level (ALU, registers etc
-functional level (inside ALU)
What is computer architecture?
-How do I design a computer?
-focuses on structure and behaviour of a computer
-refers to the logical and abstract aspects of system
-combination of hardware and the instruction set arch (ISA)
What are some of the things included with computer architecture?
What is the principle of equivalence of hardware and software
-Any task done by software can be done by hardware and vise-versa
At its most basic level what is a computer made up of? What is this known as?
-a processor to interpret and execute programs
-a memory to store both data and programs
-mechanism for transferring data to and from the outside world
-Alonzo churches Thesis, about potential. Can it be a computer?
What is the purpose of a computer clock?
-sends electrical pulses around computer ensuring data and instructions will be where they are meant to be when they are meant to be
-instructions per second is directly proportional to clock speed
What is the system bus?
-group of wires that moves data and instructions to various places in the computer
-responsible for all data movement internal to the computer
What is the local bus?
-high speed pathway which directly connects memory and processor
-bus speed is the bottleneck on many computer systems
What is SDRAM?
-Synchronised dynamic RAM
-much faster than normal memory as it can sync with processors bus
What is the south bridge?
-integrated circuit on the MB which connects slower I/O devices to the system bus
What do SATA, IDE and EIDE all have in common?
-All share main Systems bus with processor and the memory
-Bcoz SATA is a way to connect hard-drives to MB this means transfer speed from disk is also dependent on the speed of the system bus
What are ports?
-allow movement of data to and from devices external to a computer
What are serial and parallel ports? What has replaced them?
-Serial ports transfer data by sending a series of pulses across one or two data lines
-parallel uses at least 8 lines
-USB has replaced them on MB’s
What is PCI and PCIe
-Peripheral component interconnect
-allows connection of multiple peripheral devices
-like USB also supports plug and play
-replaced by PCIe
-PCIe also replaced AGP (advanced graphics port)
What is dot pitch?
-measure of resolution in CRT displays
-distance between pixel of one colour and the next closest pixel of the same colour
-smaller the dot pitch the longer the re-fresh rate and vise-versa
Difference between active and passive matrix technology?
-Active uses one transistor per pixel (better image)
-passive uses transistors that activate entire rows and columns (cheaper)
What is special about LCD’s?
-have native resolution meaning they were designed for a particular resolution
What’s the response time?
-LCD’s version of re-fresh rate
-measures time it takes pixel to switch colour
What is luminance?
-measure of the amount of light an LCD monitor emits
-average ranges from 200-300 cd/m2
What is the contrast ratio?
-measures difference in intensity between bright whites and dark blacks
-can be static and dynamic
-static = ratio to the brightest point on the monitor to the darkest point at a given instant in time
-dynamic = ratio to another image produced at a different time
-static is preferred
What is colour depth?
-number of colours that can be on the screen at any one time
What is the analytical engine?
-capable of add, jump branch
-read programs from cards
-had ALU, memory and I/O devices
-CPU had a fetch-execute-decode cycle
-Ada, contess of Lovelace suggested Babbage write a plan for how it calculated numbers = first computer program and Ada the first programmer
What were some other computers in the 1940’s?
-z3 in 1941 ran with electricity rather than mechanics, had ALU memory and CU
-colossus code breaker 1944 was technically a computer with enough re-jigging
-ENIAC used switches and was the first all-purpose electronic computer
-Manchester Mark I baby similar to ENIAC but ran in RAM rather than ROM. Used green CRT memory matrix
What was computing like in the 1950’s?
-first commercial computers
-UNIVAC capable of handling simple arithmetic on large data
What was computing like in the 1960’s?
-transistor computers (smaller and more reliable than vacuum)
-1969 Apollo landing defined software engineering
What is a microchip?
-allowed for dozens of transistors to exist on a single small silicon chip that was smaller than a single transistor
-computers became faster, smaller and cheaper
-allowed for time sharing and multiprogramming
What was computing like in the 1970’s?
-intel 404 was first microprocessor with 2,250 transistors in 1971
-intel 8086 was first member of x86 family = ancestor of modern intel architectures
What was special about Xerox parc?
Research and dev company which gave us;
-VSLI (very large scale integration where more than 10k components were on a single chip)
What happened to computers in the 1980’s?
-IBM’s PC’s were developed with open architecture (using off shelf software rather than proprietary)
-computer tech was cheaper and more available
-free software movement started
-PC’s were developed with cassettes and floppy drive
What happened to computers in the 1990’s?
-dominated by proprietary systems by a handful of American company’s
-everything was standardised which did allow for the custom PC market to start
-market shifted from programmers to IT/office applications and games
What happened to computers in the 2000’s and the 2010’s?
-2000’s we started to return to free software roots thanks to things such as Linux, Firefox and python
-2010’s parallel computation began
What are multi-core processors?
-processors with multiple CPU units
-can be done in two ways;
1=separate memory for each core
2=shared memory between cores
What are GPU’s?
What are distributed systems?
-parallel specialised processing units with dedicated onboard memory
-thousand, millions of PC’s together
What is Moore’s law?
-number of transistors per square inch double every 18 months
What is wrong with Moore’s law?
-since mid 2000’s transistors are increasing but clock rate is not increasing with it
-cost and laws of thermodynamics could be causing this change
What is Rocks law?
-states that the cost of capital equipment to build semi-conductors will double every 4 years
-cannot exist in unison with Moores law and therefore computers must shift to new tech
What may happen to computer tech in the future?
-Quantum computing and hyper computing could become mainstream
-better transistor tech could be developed with 3D arrangement or graphene
How is computer organisation thought as?
-series of hierarchical levels each with a specific function
What are the levels of computer organisation
6 = user level (programs)
5 = HLL’s
4 = Assembly lang
3 = System software (OS and library code)
2 = Machine (Instruction set arch and machine code)
1 = Control (CU makes sure instructions are decoded and executed properly and that data is moved where it should be when it should be. Interprets machine instructions passed from level 2)
0 = Digital logic (physical components, gates and wires)
What are the two types of CU?
-signals come from blocks of digital logic components
-signals direct all data and instruction traffic to appropriate part of system
-very fast but hard to modify
-program written in LLL and then implemented by hardware
-instructions from level 2 passed to it, interprets instructions by activating hardware suited to execute it
-one machine instructions = many microcode instructions
-slower but easier to modify
What are the 3 basic principles of Von-Neumann architecture?
1. 3 hardware systems which consist of CPU (ALU, PC, registers and CU), memory, I/O
2. Capacity to carry out sequential instruction processing
3. Single path between memory and CU of the CPU causing alternation of execution cycles (von Neumann bottleneck)
What are the four steps in the fetch-execute-decode cycle?
1. CU fetches instructions from memory by looking at address stored in PC
2. Instruction is decoded
3. Any data needed for instruction is fetched and placed into registers
4. ALU executes Instruction and places results in registers or memory
What are non-von architectures?
-those which do not stores programs and data in memory and which do not execute instructions linearly
What is parallel processing?
-refers to a collection of different architectures; from multiple separate computers working together, to multiple processors sharing memory, to multiple integrated cores
-parallel machines help solve bottleneck
What is multi-threading?
-programs are divided up into threads (mini-processes)
-eg; A web browser is a multithread; one thread can download the text, while each image is downloaded and controlled by a separate thread
-if an app is multithreaded separate threads can run in parallel on different units
What is Amdahls law?
-states that the performance enhancement possible with a given improvement is limited by the amount the improved feature is used
What is base and range?
-base is the number of different digits
-adding digits increases the range of represented values
-N digit number can represent b^n values in range [0,((b^n)-1)]
How do you convert from decimal to any base value?
1) Divide decimal to be converted by value of new base
2) Take value and divide this by base number again. Take remainder of first calculation (even 0) and set this aside
3) Repeat until result is 0
4) Binary value is remainder in reverse order from which they were found
How do you convert from base value - decimal?
1) Determine the column (positional) value of each digit (this depends on the position of the digit and the base of the number system)
2) Multiply the obtained column values (in step 1) by the digits in the corresponding columns
3) Sum the products calculated in step 2. The total is the equivalent value in decimal
What is a word?
-A word is a collection of bits usually matching CPU type but not always (eg; 16 bits used in 16 bit CPU’s)
-natural unit for CPU
3 ways to represent negative binary numbers?
-sign and mag
Difference between natural and integer numbers?
-Natural numbers are unsigned so 0,1,2,3
-integer numbers are signed so are the whole numbers plus their negative inverse’s
How do computers process real numbers?
-approximate them with floating point representations
What are Turing numbers?
-countable subset of classical real numbers
-whose nth digit can be obtained by a finite program
What is a BCD?
-binary coded decimal is very common in electronics
-encodes each digit of a decimal number into binary 4 bit form
-eg; 146 becomes 3 4 bit binary values
What is packed BCD?
-most computers store 8 bits not 4 therefore this is used
-stores 2 bits per Byte
-able to store signed values with sign at end
What is zoned decimal format?
-stores a decimal digit in the lower-order nibble of each byte
-same as BCD but has a pattern for padding the high order nibble
-can use EBCDIC format which requires zone to all be ones or ASCII format which requires zone to be 0011
-both allow for signed values and expect the sign to be stored in the high order nibble of the LSByte
Also remember ASCII, Unicode, bitmap images
1) How are images compressed?
2) How is audio compressed?
1) using wavelets
2) removing un-hearable frequencies
What are multimedia streams?
-A set of related data substreams, each carrying one particular continuous medium, forms a data stream.
Learn logic laws (distributive etc)
What is special about NAND and NOR gates?
-universal gates which can be used to build any logic function unlike AND and OR
-easier to build
What is a semi-conductor?
-element which nearly conducts
-conducts if small changes made
What is doping?
-mix in tiny nearby elements, when these two in-balanced lattices meet electrons will want to transfer between them
-this creates an electric charge where the lattices meet
What is a diode?
-electric version of a water valve
-electrons cannot go through negative part of lattice
-they can accelerate through positive parts though
What is a transistor made up of?
-two 2 does in a row and a switch
-uses diode chemical & electrical forces and injected current to upset the balance allowing flow of current
How are chips made?
-require 3D printing of wires and transistors
-masks needed too mould the chips
-300 steps involved with making a chip
Half and full adders
What do full adders do?
-allow us to add single column in binary addition
-multiple full adders together can calculate a whole sum
What is a decoder?
-Has n input lines that determine which one of the 2^n output lines is selected
-used to decode CPU instructions (assembly commands, pass signals to ALU/extension circuits)
-combined with adders to create more complex circuits (eg; ALU)
What is combinatorial digital logic?
-circuits combined to create bigger ones
-output depends on input
-good for signal routing
-good for maths
-cant store data and therefore cannot build church computer from them alone
What is feedback?
-Connect a gates output to its input
-used to retain signal value
-done wit use of time from the clock
What do sequential logic circuits require?
-state changes occur in sequence and are controlled by clocks
-almost all gates have additional clock input written as “clk” or “c” sometimes not written on diagram at alll
What are flip flop circuits?
What are the types?
What is a register?
-D-type, J-K, S-R
-array of flip-flops used to write values, stop clock and read
What makes up the RAM?
-decoder, registers and clock switch
What is sequential digital logic?
-previous values of the state influence the current value
-state values can be retained using feedback
-events (state changes) occur in sequence
-can implement memory
-foundation for modern computers
What was the 6502 chip?
-core of many 80’s systems such as NES and Apple II
-still manufactured today and used
What happens in the fetch stage?
-PC points towards address of current instruction
-IR then takes instruction itself
What happens in decode part of a cycle?
-covert opcode into switching on some circuit
What happens in the execute part of the cycle?
-connect all input registers to ALU
-and select ALU command switch
-and connect ALU to output register
-program counter is incremented by 1 unless execution of command requires another instruction
What is the CU?
-co-ordinates activities of CPU
-driven by clock
What is the ALU?
-input data and operation type
-output result and operation and status (carry, overflow etc)
What are registers?
-fast general purpose memory stores
-width of registers determines architecture
-pc, IR etc etc
-use clock to write values and stop clock to read them
What does an instruction need?
-clear indication of what the CPU must do (maths, movement of data etc) and where the data involved for the operations are located
-needs to enable fast implementations
-has an opcode (instruction itself) and operands (data associated with instruction)
What type of registers do some systems have?
-no need to specify all operands
-less complicated as you do not need additional instructions telling the computer which register the data is coming from or going to
-it is implied everything happens in acc
What is MARIE
-acc only architecture
-16 bit instructions with 4 for opcode and 12 for operand
-simplified decimal I/O registers (no ASCII, binary)
Assembly and assemblers
What is the difference between conditional and unconditional branching?
-unconditional = Jump to specified location eg; GOTO in c++
-conditional = jump to location if a specific condition has occurred
-implemented by control unit tests of things such as user register and accumulator values
-allows for implementation of IF and FOR
What is a subroutine?
-self contained piece of code which can be called from the main program many times
-procedure, function, method
What is the return address?
-similar to jumps but allows the cpu to know where to jump back to so it can carry on from where it was before the call
-address is current value of the PC
-may be stored at an agreed location between caller and callee (limits recursions) or on the stack (allows recursion, most common approach)
What type of operations would trigger an interrupt?
How are interrupts implemented?
-Exception handling and operating system functions (data delivery and time sharing)
-as physical wires into CPU (IRQ lines) and instructions which set addresses to JUMP to IRQ activation
What is an instruction set?
-complete collection of instructions understandable by CPU
-written in machine code, represented by assembly codes
-depend on data types, instruction types, addressing modes and instruction format
What are the types of instructions?
-processor - memory
-processor - I/O devices
-data processing (ALU operations on data)
-control (change flow of execution, stop the program etc)
What is a floating point instruction?
-part of the CPU
-implemented using digital logic
-similar ideas to adders for ALU but bigger
-dedicated FP registers and instructions
What are some of the problems with pipelining?
-read after write, write after write, write after read
-simultaneous access to memory or to CPU components
How do we solve pipelining problems?
-avoid touching the same things in nearby instructions with code
-bubbling; inserting operations, NOPs, to delay things and avoid hazards
-eager execution; execute both possible branches simultaneously and kill one when we know which is taken
What are branch predictors?
-assume branch is taken
-most branches are taken, because most branches arise from loops and loops tend to loop many times before ending
-Dynamic approaches keep a log of what was done here last time and use probabilities
What is operand forwarding?
-letting pipeline stages access intermediate results in-between other stages to see forwards in time
-requires lots of extra digital logic circuits
What is out of order execution?
-swapping of instructions to reduce hazards and stalls but not effect the change to the result
CISC vs RISC
-hardware emphasis, multi clock complex instructions, small code sizes
-software emphasis, single clock reduced instructions, large code sizes
What are CISC processors
-very expensive to fabricate chips, test and remove hardware bugs
-updatable micrograms which use very simple commands
-Goal is to complete task in as few lines as possible
-length of code is short with little RAM required, complier has to little work to translate HLL into assembly
What is RISC?
-use simple instructions that can be executed within one clock cycle
-smaller instruction set
-less silicon = lower power
-typically hardwired control
-more RAM needed and complier needs to perform more work