620 likes | 864 Vues
Computers: How They Work. What is a Computer Components of Computer World’s First Computers 4004 – First single chip Microprocessor Transistors in integrated circuits (ICs) Review of MOSFET transistors (how they work and how they are made) Basic building blocks from transistors
E N D
Computers: How They Work What is a Computer Components of Computer World’s First Computers 4004 – First single chip Microprocessor Transistors in integrated circuits (ICs) Review of MOSFET transistors (how they work and how they are made) Basic building blocks from transistors NANDS, NORS, Latches, Adders Simple components using basic building blocks Integrating the components to create a 4-bit Microprocessor Scaling up and Moore’s Law Machine Code and the processor’s Instruction Set – Software Memory types (ROM, DRAM, SRAM, FLASH) Mother Board Hard Drive Keyboard Monitor The Mouse I/O DSL and connection to Internet File Compression
Demonstrations PC Mother Boards Plain and Etched Wafers Silicon Ingot ICs with lids removed Masks Memory Hard Drive Magnetic Tape Punch Cards CDs Cathode Ray Tube Monitor LCDs Keyboard CCD chips
What is a Computer? A machine that stores instructions and operates on information/data. A calculator that executes a stored program (sequence of instructions) http://www.sscnet.ucla.edu
Jacquards Loom Circa 1804
Charles Babbage’s first attempt at a Computer The Analytical Engine, c. 1822 Designed to use Jacquard punch cards to store and run a program Mathematician, Augusta Ada Lovelace, created programs Steam Powered 25,000 parts 15 tons and 8 feet high Never completed http://concise.britannica.com
Difference Engine II • Designed to calculate polynomials and compute trig and log functions • C. 1847 • Crank operated Now on Display at the Computer History Museum! http://www.computerhistory.org/babbage/
Herman Hollerith’s Census Tabulator c. 1890 • Census recording performed in six weeks in 1890 • Census recording took 7 years in 1880 Also on Display at the Computer History Museum!
Holerith’s Tabulator • Data entered on punch cards • Card reader used mercury to close a circuit which would advance a dial by one ‘tick’ http://www.columbia.edu/acis/history/census-tabulator.html
ENIAC in 1946 First electronic computer Designed for the Army $500,000 >17,000 Vacuum Tubes 150 KW of power Filled multiple rooms (700 sq. ft) Soldered and constructed by hand by the University of Penn.
IBM’s Accounting Machine Introduced in 1949 Punch cards used to store Fortran programs up until about 1980.
Individual Parts • Manual hand wiring IBM 402
The birth of the integrated circuit (IC) • 1947- using silicon as a transistor is discovered • 1960- TI put 10 transistors on one piece of silicon • Used in Apollo Space Program – lower power and weight
Intel 4004 The World’s first Microprocessor, made in 1971 Computer on a chip! It had 2300 transistors and ran at 740 KHz. It could execute 45 instructions. Could execute 96,000 instructions per second As powerful as the ENIAC
Microprocessor • A logic machine that can execute a computer program. • A Central Processing Unit (CPU) integrated into a single chip (i.e. constructed as an integrated circuit or IC on a single piece of Silicon) http://en.wikipedia.org/wiki/Central_processing_unit
Moore’s Law In 1965 Gordon Moore predicted that the number of transistors on a chip would double every two years.
Wikipedia micron = 10-6 meters The feature size of an integrated circuit is indicated by the width of a "wire," measured in microns (one micron is one millionth of a meter). Analysis and Design of Analog Integrated Circuits (4th Edition)
Components of a Computer Processor Memory Input/Output Processor Memory (ROM, RAM, Registers, Cache) Output (Monitor, speakers, USB Drive, Printer, DSL, Hard Drive) Input (Keyboard, Mouse USB Drive, DSL, Touchscreen, Microphone, Hard Drive) USB – Universal Serial Bus DSL – Digital Subscriber Line
4004 Processor http://en.wikipedia.org
What’s Inside a basic CPU?(Central Processing Unit) ALU (Arithmetic Logic Unit) Instruction Decoder Program Counter Instruction Register Data Registers Accumulator (place for storing a sum) Clock for sequencing operations
CPUs are made from Transistors Transistors are tiny switches that can open and close very quickly. A negative voltage will turn this transistor ‘on’. http://www.answers.com
nMOS Transistor (n-channel) A positive voltage will turn this transistor ‘on’. http://www.ugrad.cs.ubc.ca
Chips can have millions of transistors built on a small piece of silicon. CMOS stands for ‘Complimentary Metal Oxide Semiconductor’. This means CMOS chips contain both pMOS and nMOS transistors. http://www.britannica.com
Transistors are used to make logic gates http://www.iclayoutonline.com
Making the Exclusive OR gate (XOR) http://www.ibiblio.org/obp/electricCircuits
Now what can be made with NAND, NOR, & XOR gates? 1-bit adder (Full Adder)
Multiplexer A multiplexer selects one of many sources to send to the output. http://users.ece.gatech.edu
1-Bit ALU (Arithmetic Logic Unit) Coming from the Instructions http://www.cs.umd.edu/
4004 Processor http://en.wikipedia.org
Cascading 1-bit ALU to get a 3-bit ALU http://www.cs.umd.edu/class/spring2003/cmsc311
Memory – A Device that “remembers” a previous input. Registers are the high speed memory on the CPU chip. These registers are used for storing data that is frequently needed. Instructions are pre-fetched and stored in registers too so that they are ready when needed.
1-bit Latch (Flip Flop) Static Ram and registers are constructed with this logic. The state of Q is retained as long as power is on.
http://www.cise.ufl.edu Clocked Latch Also known as a D-Flip Flop
Now we know how to add binary numbers and store binary data Use Flip Flops to store instructions which are coded as binary (base-2) numbers Use an ALU to add numbers together Scale this concept up to accommodate larger numbers Add more functionality to the ALU
Microinstructions are coded and stored as binary data Microinstructions are the controls that make the hardware operate Microinstructions are coded in 1’s and 0’s Microinstructions are unique to the processor (each processor has it’s own instruction set) The clock sequences operations and keeps operations in lock step
00011011 Add C, #1 To Registers A, B, C, and D • To avoid large decoder circuits, the codes are broken up into fields. In this example there are three fields, each field has dedicated decoding circuitry: • The command • The data to be used http://webster.cs.ucr.edu
2 to 4 decoders http://users.ece.gatech.edu
Software commands Hardware while (amt2 <= amt1) { amt1 = amt1 + 100; amt2 = amt2 + 0.05*amt2; year++; } 14: while (amt2 <= amt1) 004015BB fld dword ptr [ebp-8] 004015BE fcomp dword ptr [ebp-4] 004015C1 fnstsw ax 004015C3 test ah,41h 004015C6 je main+70h (004015f0) 15: { 16: amt1 = amt1 + 100; 004015C8 fld dword ptr [ebp-4] 004015CB fadd dword ptr [__real@4@4005c800000000000000 (0046f0a4)] 004015D1 fstp dword ptr [ebp-4] 17: amt2 = amt2 + 0.05*amt2; 004015D4 fld dword ptr [ebp-8] 004015D7 fld dword ptr [ebp-8] 004015DA fmul qword ptr [__real@8@3ffaccccccccccccd000 (0046f098)] 004015E0 faddp st(1),st 004015E2 fstp dword ptr [ebp-8] 18: year++; 004015E5 mov eax,dword ptr [ebp-14h] 004015E8 add eax,1 004015EB mov dword ptr [ebp-14h],eax 19: } C++ high level codes gets compiled/translated into low level machine codes
Fetch-Decode-Execute Cycle • Fetch an Instruction: • Fetch instruction at address stored in address register • Increment Program Counter • Load the Instruction Register with this Instruction
Decode • Decode the Instruction • Fetch the operands • Execute • ALU or other logic performs the operation • The result is then written to memory or to a register.
Memory Hierarchy http://www.surriel.com/lectures/hierarchy.gif
Cache Memory http://content.answers.com
SRAM Static Random Access Memory Retains data in memory as long as power is on Uses flip flops (4-6 transistors each) Fast but more expensive due to more chip real-estate needed for each memory location compared to DRAM Used for cache memory Access time 10 nanoseconds
DRAM and SDRAM Dynamic RAM Dynamic refers to the need to refresh the data Synchronous DRAM (Timing of memory chip is synchronized with CPU clock) Data is stored as electrical charge in a capacitors Capacitors will discharge requiring that memory be refreshed every few milliseconds. This slows down the DRAM Dense therefore least expensive form of memory http://www.electronics.dit.ie/staff/tscarff/memory/ram.htm
10 byte DRAM The word “random” means bytes can be accessed randomly. Data access is not sequential like a magnetic tape. http://www.cse.scu.edu