Fluency with Information Technology Katherine Deibel, Fluency in Information Technology 1 INFO100 and CSE100 Katherine Deibel
Abacus: Fingers, strings, and stones Antikythera mechanism: Greek mechanical astronomical tool Babbage Difference Engine: Geared mechanical calculator Vacuum tube computers: Colossus, Eniac, Univac Transistor Computers: Manually-wired transistors Integrated Circuits: Modern age computers Katherine Deibel, Fluency in Information Technology2
Integrated circuits (ICs) powered the information revolution When computers were made of discrete parts, millions of hand connections 3 wires per transistor 2 per capacitor 2 per resistor Labor intensive, expensive, error prone, unreliable, cumbersome, … even with robot manufacturing! Katherine Deibel, Fluency in Information Technology3
Integrated circuits (ICs) solved that by two ideas Integration: Circuits built as a unit from alike parts Photolithography: Printing process to make chips Katherine Deibel, Fluency in Information Technology4
Inventor of the integrated circuit and the handheld calculator 2000 Nobel Prize for Physics First integrated circuit: Katherine Deibel, Fluency in Information Technology5
758 million transistors (2008) Katherine Deibel, Fluency in Information Technology6
Katherine Deibel, Fluency in Information Technology7 substrate oxide 1. Prepare wafer substrate oxide 2. Add photoresist photoresist
Katherine Deibel, Fluency in Information Technology8 substrate oxide 3. Align photomask 4. Expose to UV light photoresist glass chrome substrate oxide PR glass chrome
Katherine Deibel, Fluency in Information Technology9 substrate oxide 5.Develop and remove photoresist exposed to UV light 6.Etch exposed oxide substrate PR oxide
We now have our circuit board Katherine Deibel, Fluency in Information Technology10 substrate 7.Remove remaining photoresist oxide
Think bookmaking Used to be monks copying each page by hand Printing press requires initial typesetting and then multiple copies are easy Same idea with integrated circuits Used to require wiring of individual transistors Create the photomask and the circuit can be created again and again Katherine Deibel, Fluency in Information Technology11
Semiconductor: Sometimes it conducts Sometimes it doesn’t One can control when semiconductors do and don’t conduct That is the basis for PandA with silicon Katherine Deibel, Fluency in Information Technology12
Example: an AND gate True only if both inputs are true Send “yes” signal on wire Make semiconductor conduct if input 1 is true Detect presence / absence of “yes” Make semiconductor conduct if input 2 is true Katherine Deibel, Fluency in Information Technology13
A charged field can control whether a semiconductor conducts or not A transistor has three wires Source (input) Drain (output) Gate (control) The charge of the control wire (gate) is key Neutral gate, channel doesn’t conduct Charged gate, channel conducts In Out Gate Katherine Deibel, Fluency in Information Technology14
Deterministically execute instructions to process information Chooses the next instruction as it is programmed Executes specific instructions based only on the program and input it is given Katherine Deibel, Fluency in Information Technology15
A computer is an instruction execution engine The fetch/execute cycle is the process that executes instructions Instruction Fetch (IF) Instruction Decode (ID) Data Fetch (DF) Instruction Execution (EX) Result Return (RR) Katherine Deibel, Fluency in Information Technology16
Fetch/Execute cycle 2/videos/fetch-execute.swf Katherine Deibel, Fluency in Information Technology17
Memory ALUControlInput Floppy Disk Hard Disk Scanner Keyboard Mouse Output Speakers Printer Monitor Katherine Deibel, Fluency in Information Technology18
Programs and their data must be in the memory while they are running 0 G 1 o 2 D 3 a 4 w 5 g 6 s 7 ! 8 ! byte = 8 bits memory addresses memory contents Katherine Deibel, Fluency in Information Technology19
The Fetch/Execute cycle is hardwired into the computer’s control, i.e. it is the actual “engine” Instruction: ADDB 20, 10, 16 Put in memory location 20 the contents of memory location 10 + contents of memory location Zz Katherine Deibel, Fluency in Information Technology20
Memory not usually broken up byte by byte Many data types are longer than one byte Integers are usually four bytes Doubles (real numbers) are eight bytes A word is a chunk of several bytes 32-bit machine → 4 bytes per word Integers are one word Doubles are two words Katherine Deibel, Fluency in Information Technology21
Instructions tell where the data is, not what the data is An instruction might produce different values even if the command is the same Instruction: ADDB 20, 10, Katherine Deibel, Fluency in Information Technology22
The Arithmetic/Logic Unit does the actual computation Most computers have only about a instructions hard wired Each type of data has its own separate instructions ADDB : add bytes ADDH: add half words ADD: add words ADDS: add short decimal numbers ADDD: add long decimal numbers ADDBU: add bytes unsigned … Katherine Deibel, Fluency in Information Technology23
Input units bring data to memory from outside world; Output units send data to outside world from memory Most peripheral devices are “dumb” in that the processor assists their operation Disks are both memory devices and input/output devices Katherine Deibel, Fluency in Information Technology24
The program counter (PC) tells where the next instruction comes from Instructions are a word long, so add 4 to the PC to find the next instruction (on a 32-bit machine) ADD 210,216,220AND 414,418,720 Program Counter: 112 OR688, Katherine Deibel, Fluency in Information Technology25
The rate a computer performs the Fetch / Execute cycle is controlled by its clock Current clocks run 2-3 GHz (2-3 trillion cycles a second!) In principle, one instruction per cycle Not always achieved as instructions may take multiple cycles Clever use of multiple ALUs allows for more than one instruction to be completed per cycle Katherine Deibel, Fluency in Information Technology26
Clock speed is not a good indicator of speed Only good to compare CPUs in same brand Other factors such as RAM and clock speed Clock speed of the front-side bus ▪ Nervous system of computer ▪ Electrical pathway that connects CPU, RAM, hard drive Memory ▪ Working memory of the computer ▪ Fast memory built into the CPU chip ▪ Having to save to disk is slooooooow Katherine Deibel, Fluency in Information Technology27
From the transistors to the CPU to the instructions, computers are well-structured Explicit transistor layouts printed out en masse Binary instructions connecting memory, input, output, and the logic units Logic follows logic Despite our experience, computers are not vindictive or cruel Unless someone programs them that way Katherine Deibel, Fluency in Information Technology28