Lecture notes Computer fundamentals ppt

how to learn computer fundamentals and computer fundamentals architecture and organization. what is computer fundamentals and applications pdf free download
Dr.HenryEvans Profile Pic
Published Date:10-07-2017
Your Website URL(Optional)
Computer Fundamentals 6L for CST/NST 1A Michaelmas 2010 MWF 10, Arts School “A”Aims & Objectives • This course aims to: – give you a general understanding of how a computer works – introduce you to assembly-level programming – prepare you for future courses. . . • At the end of the course you’ll be able to: – describe the fetch-execute cycle of a computer – understand the different types of information which may be stored within a computer memory – write a simple assembly language program 2Recommended Reading • This course doesn’t follow any particular book exactly, but any of the following are useful: – Computer Organization & Design (4th Ed), Patterson and Hennessy, Morgan Kaufmann 2008 • also used in CST Part 1B “Computer Design” – Digital Design and Computer Architecture, Harris and Harris, Morgan Kaufmann 2007 • also used in CST Part 1A “Digital Electronics” – Structured Computer Organization (5th Ed), Tannenbaum, Prentice-Hall 2005 • good general overview book; somewhat broader in scope, and somewhat simpler to digest than above 3Course Outline • We’ll cover the following topics: – A Brief History of Computing – Operation of a Simple Computer – Input / Output – MIPS Assembly Language • This course is new this year, but derives from Part I of pre-2010 CST 1A “Operating Systems” – This will help in finding e.g. past exam questions • Feel free to ask questions during the lecture – or after it, or via email – see course web page 4A Chronology of Early Computing • (several BC): abacus used for counting • 1614: logarithms discovered (John Napier) • 1622: invention of the slide rule (Robert Bissaker) • 1642: First mechanical digital calculator (Pascal) • Charles Babbage (U. Cambridge) invents: – 1812: “Difference Engine” – 1833: “Analytical Engine” • 1890: First electro-mechanical punched card data- processing machine (Hollerith) • 1905: Vacuum tube/triode invented (De Forest) 5The War Years… • 1935: the relay-based IBM 601 reaches 1 MPS. • 1939: ABC - first electronic digital computer (Atanasoff & Berry) • 1941: Z3 - first programmable computer (Zuse) • Jan 1943: the Harvard Mark I (Aiken) • Dec 1943: Colossus built at ‘Station X’ – Bletchley Park • 1945: ENIAC (Eckert & Mauchley, U. Penn): – 30 tons, 1000 square feet, 140 kW, – 18K vacuum tubes, 20×10-digit accumulators, – 100KHz, circa 300 MPS. – Used to calculate artillery firing tables. – (1946) blinking lights for the media. . . • But “programming” is via plug-board: tedious and slow 6The Von Neumann Architecture • 1945: von Neumann drafts “EDVAC” report – design for a stored-program machine – Eckert & Mauchley mistakenly unattributed 7Further Progress… • 1947: “point contact” transistor invented (Shockley, Bardeen & Brattain) • 1949: EDSAC, the world’s first stored-program computer (Wilkes & Wheeler) – 3K vacuum tubes, 300 square feet, 12 kW, – 500KHz, circa 650 IPS, 225 MPS. – 1024 17-bit words of memory in mercury ultrasonic delay lines – early DRAM ;-) – 31 word “operating system” () • 1954: TRADIC, first electronic computer without vacuum tubes (Bell Labs) 8The Silicon Age • 1954: first silicon (junction) transistor (TI) • 1959: first integrated circuit (Kilby & Noyce, TI) • 1964: IBM System/360, based on ICs. • 1971: Intel 4004, first micro-processor (Ted Hoff): – 2300 transistors, 60 KIPS. • 1978: Intel 8086/8088 (used in IBM PC). • 1980: first VLSI chip ( 100,000 transistors) • Today: 800M transistors, 45nm, 3 GHz. 9Languages and Levels • Computers programmable with variety of different languages. – e.g. ML, java, C/C++, python, perl, FORTRAN, Pascal, . . . • Can describe the operation of a computer at a number of different levels; however all levels are functionally equivalent • Levels relate via either (a) translation, or (b) interpretation. 10Layered Virtual Machines High-Level Language, e.g. ML Virtual Machine M5 (Language L5) Compiled Language (e.g. C++) Virtual Machine M4 (Language L5) Assembly Language Programs Virtual Machine M3 (Language L3) Operating System Level Virtual Machine M2 (Language L2) Software Computer Organization Level Hardware Virtual Machine M1 (Language L1) Digital Logic Level “Actual” Machine M0 (Language L0) • Consider a set of machines M0, M1, . . . Mn: – Machine Mi understands only machine language Li – Levels 0, -1 covered in Digital Electronics, Physics, – Level 2 will be covered in CST 1A Operating Systems • This course focuses on levels 1 and 3 • NB: all levels useful; none “the truth”. 11Digital Electronics in a Slide • Take an electric circuit but treat “high” voltages as 1, and “low” voltages as 0 • Using transistors, can build logic gates – Deterministic functions of inputs (1s and 0s) • Circuit diagrams use symbols as short hand, e.g. Output is ‘1’ only if Output is ‘1’ if Output is ‘1’ only Output is ‘1’ only if both inputs are ‘1’ either input is ‘1’ if input is ‘0’ inputs are different • Using feedback (outputs become inputs) we can build other stuff (latches, flip-flops, ...) • Low-level circuit diagrams are not examinable 12A (Simple) Modern Computer 13A (Simple) Modern Computer Processor (CPU): Memory: stores executes programs programs & data Bus: connects everything together Devices: for input and output 14Registers and the Register File R00 0x5A R08 0xEA02D1F R01 0x102034 R09 0x1001D R02 0x2030ADCB R10 0xFFFFFFFF R03 0x0 R11 0x1020FC8 R04 0x0 R12 0xFF0000 R05 0x2405 R13 0x37B1CD R06 0x102038 R14 0x1 R07 0x20 R15 0x20000000 • Computers all about operating on information: – information arrives into memory from input devices – memory is a large “byte array” which can hold anything we want • Computer conceptually takes values from memory, performs whatever operations, and then stores results back • In practice, CPU operates on registers: – a register is an extremely fast piece of on-chip memory – modern CPUs have between 8 and 128 registers, each 32/64 bits – data values are loaded from memory into registers before operation – result goes into register; eventually stored back to memory again. 15Memory Hierarchy • Use cache between main memory & registers to hide “slow” DRAM • Cache made from faster SRAM: more expensive, and hence smaller. – holds copy of subset of main memory. • Split of instruction and data at cache level: – “Harvard” architecture. • Cache - CPU interface uses a custom bus. • Today have 8MB cache, 4GB RAM. 16Static RAM (SRAM) • Relatively fast (currently 5 − 20ns). • This is the Digital Logic view: • Some wires, some gates, and some “D-latches” 17/wr if we want to write (store) data Static RAM (SRAM) Data Inputs (when we want to store) Address Inputs: say which bits we want Each D-latch box can store 1 bit Data Outputs (when /oe if we want to we want to read) output (read) data • Relatively fast (currently 5 − 20ns). • This is the Digital Logic view: • Some wires, some gates, and some “D-latches” 18SRAM Reality • Data held in cross-coupled inverters. • One word line, two bit lines. • To read: – precharge both bit and bit, and then strobe word – bit discharged if there was a 1 in the cell; – bit discharged if there was a 0. • To write: – precharge either bit (for “1”) or bit (for “0”), – strobe word. 19Dynamic RAM (DRAM) • Use a single transistor to store a bit. • Write: put value on bit lines, strobe word line. • Read: pre-charge, strobe word line, amplify, latch. • “Dynamic”: refresh periodically to restore charge. • Slower than SRAM: typically 50ns − 100ns. 20

Advise: Why You Wasting Money in Costly SEO Tools, Use World's Best Free SEO Tool Ubersuggest.