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
A.Input control B.Printed circuit C.Integrated circuit D.Output enhancer Katherine Deibel, Fluency in Information Technology3
A.Input control B.Printed circuit C.Integrated circuit D.Output enhancer Katherine Deibel, Fluency in Information Technology4
A.Integration & miniaturization B.Integration & photolithography C.Miniaturization & low power D.Integration & low power Katherine Deibel, Fluency in Information Technology5
A.Integration & miniaturization B.Integration & photolithography C.Miniaturization & low power D.Integration & low power The two ideas are integration (IC) and photolithography, which is used to etch the circuits on the chip Katherine Deibel, Fluency in Information Technology6
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 Technology7
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 Technology8
Inventor of the integrated circuit and the handheld calculator 2000 Nobel Prize for Physics First integrated circuit: Katherine Deibel, Fluency in Information Technology9
758 million transistors (2008) Katherine Deibel, Fluency in Information Technology10
Katherine Deibel, Fluency in Information Technology11 substrate oxide 1. Prepare wafer substrate oxide 2. Add photoresist photoresist
Katherine Deibel, Fluency in Information Technology12 substrate oxide 3. Align photomask 4. Expose to UV light photoresist glass chrome substrate oxide PR glass chrome
Katherine Deibel, Fluency in Information Technology13 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 Technology14 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 Technology15
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 Technology16
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 Technology17
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 Technology18
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 Technology19
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 Technology20
Fetch/Execute cycle 2/videos/fetch-execute.swf Katherine Deibel, Fluency in Information Technology21
Memory ALUControlInput Floppy Disk Hard Disk Scanner Keyboard Mouse Output Speakers Printer Monitor Katherine Deibel, Fluency in Information Technology22
A.memory address B.IP address C.data location D.overflow buffer Katherine Deibel, Fluency in Information Technology23
A.Keyboard B.Mouse C.Printer D.Hard drive E.All of these Katherine Deibel, Fluency in Information Technology24
A.Keyboard B.Mouse C.Printer D.Hard drive E.All of these Katherine Deibel, Fluency in Information Technology25 Data is sent to the hard drive and retrieved from the hard drive. It's both input and output.
Katherine Deibel, Fluency in Information Technology26 A.True B.False C.Sometimes
A.True B.False C.Sometimes Katherine Deibel, Fluency in Information Technology27 When you open a program, the operating system sends part of the program to RAM. Program instructions are stored in RAM while they execute, or run.
A.True B.False C.Sometimes Katherine Deibel, Fluency in Information Technology28
A.True B.False C.Sometimes Katherine Deibel, Fluency in Information Technology29 RAM stores data using voltage levels (PandA). When the computer is turned off, the voltage is gone and RAM is empty.
A.Arithmetic/Location Unit B.Allocation/Limitation Unit C.Arithmetic/Logic Unit D.Actual Location User Katherine Deibel, Fluency in Information Technology30
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 Technology31
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 Technology32
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 Technology33
Katherine Deibel, Fluency in Information Technology34 A.4 bytes B.6 bytes C.8 bytes D.Don't know
A.4 bytes B.6 bytes C.8 bytes D.Don't know Katherine Deibel, Fluency in Information Technology35 The move from 32-bit to 64-bit machines was motivated primarily by the increases in available RAM. 32-bit instructions can only access up to 3GB of memory.
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 Technology36
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 Technology37
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 Technology38
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 Technology39
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 Technology40
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 Technology41
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 Technology42