Inside the Computer Microcomputer Minicomputer Mainframe
Total Page:16
File Type:pdf, Size:1020Kb
Inside the computer Microcomputer Classification of Systems: • Personal Computer / Workstation. – Microcomputer • Desktop machine, including portables. – Minicomputer • Used for small, individual tasks - such as – Mainframe simple desktop publishing, small business – Supercomputer accounting, etc.... • Typical cost : £500 to £5000. • Chapters 1-5 in Capron • Example : The PCs in the labs are microcomputers. Minicomputer Mainframe • Medium sized server • Large server / Large Business applications • Desk to fridge sized machine. • Large machines in purpose built rooms. • Used for distributed data processing and • Used as large servers and for intensive multi-user server support. business applications. • Typical cost : £5,000 to £500,000. • Typical cost : £500,000 to £10,000,000. • Example : Scarlet is a minicomputer. • Example : IBM ES/9000, IBM 370, IBM 390. Supercomputer • Scientific applications • Large machines. • Typically employ parallel architecture (multiple processors running together). • Used for VERY numerically intensive jobs. • Typical cost : £5,000,000 to £25,000,000. • Example : Cray supercomputer 1 What's in a Computer System? Software • The Onion Model - layers. • Divided into two main areas • Hardware • Operating system • BIOS • Used to control the hardware and to provide an interface between the user and the hardware. • Software • Manages resources in the machine, like • Where does the operating system come in? • Memory • Disk drives • Applications • includes games, word-processors, databases, etc.... Interfaces Hardware • The chunky stuff! •CUI • If you can touch it... it's probably hardware! • Command Line Interface • The mother board. •GUI • If we have motherboards... surely there must be • Graphical User Interface fatherboards? right? •WIMP • What about sonboards, or daughterboards?! • Windows, Icons, Mouse, Pulldown menus • Hard disk drives • Monitors • Keyboards BIOS Basics • Basic Input Output System • Directly controls hardware devices like UARTS (Universal Asynchronous Receiver-Transmitter) - Used in COM ports. Central Peripherals Processing Memory • Stored in the ROM of the machine. Unit (CPU) • What's ROM? - Read only memory • Preserved while the computer is turned off. • How? • WHY?! 2 Basics Memory Central Peripherals Processing Memory • Stores the program to be executed and the Unit (CPU) data that this manipulates as bits • Volatile - contents are lost when the computer is switched off • Memory consists of series of cells, each of which holds one word of information • Each cell has a unique memory address (a number) that can also be written as bits Memory Store and fetch Memory cells Memory addresses • Two key properties of a cell are its value 0101100111000010 00000001 1001100101111000 00000010 and address 0000110000111100 00000011 • Memory hardware performs to basic 1101110100110000 00000100 1111111110111110 00000101 operations Cell 1010101010101010 00000110 – store ( value address ) containing 0001100011101011 00000111 one word of 0001000100010001 00001000 – fetch (address value information 1101101110010110 00001001 1000100111011010 00001010 Types of memory ROM • Read Only Memory • Random Access Memory (RAM) • Contains crucial start-up information for • Read Only Memory (ROM) PCs. • Erasable Programmable Read Only • Typically only 48K. Memory (EPROM) • Non-volatile - information is preserved when the power is switched off. • Relatively slow - sometimes copied to RAM for faster execution. • Also located on memory chips. 3 RAM EPROM • Random access memory • Volatile - information is lost when the • Using a ROM Burner the instructions power is switched off. within the chips can be changed • Used for updates • Early computer had around 4K of RAM. • These-days 128Mb RAM is around £30 • Also seen in DVD players and videos to change/update functions • Read about SIMM, DIMM, SRAM, DRAM Measuring memory Memory • Memory not usually measured in words – Every 0 or 1 in binary is called a bit • Measured instead in: – (0 means off, 1 means on) • bytes – 8 bits = 1 byte = one character (A,B,C,$,£,1,2) • kilobytes • megabytes • kilobytes (Kb) = 210 = 1024 bytes •gigabytes • megabytes (Mb) = ~1,000,000 bytes • International word for a byte is an octet • gigabytes (Gb) = ~1 billion bytes Where are we ?? CPU A Arithmetic General and B purpose Logic Unit register C (ALU) D IR PC Special MBR MAR purpose register memory 0101100111000010 4 • ALU is the sub-component that performs basic arithmetic and logic operations Program execution • Registers provide very fast but expensive storage (hence there are only a few) • The fetch-decode-execute cycle – General purpose registers – Fetch instruction at memory address PC from – Special purpose registers memory and put it into IR • IR put instructions here to execute them – Decode and execute the instruction in IR • PC memory address of the next instruction – Increment PC to point at the next instruction • MAR where addresses are placed for fetch or store • Each single instruction may involve many • MBR where values are placed for fetch or store smaller micro-instructions. such as moving words of information between registers Chapter 3 (Capron) • For example, for the single instruction: “add the data at address X to the data at address Y The clock and store the result back at Y” : • The whole cycle is driven by the CPU’s – move contents of PC to MAR internal clock – fetch – move from MBR to IR • CPU speed is measured in Hertz (Hz) – Put address X into MAR (500MHz computer can handle 500 million machine cycles per second) – fetch – move MBR to general register A • Chunks of information have to be moved – put address Y into MAR – fetch between parts of the computer - carried – move MBR to general register B along an arrangement of parallel wires – add A to B, result in C – move C to MBR called a bus – store Peripherals Peripheral Devices • Various peripherals are responsible for input, output and permanent storage • Input – programs and data have to get into memory • Mouse – results have to be displayed to users • Scanner – permanent storage is required • Light-pen • • Access to peripherals is orders of magnitude Keyboard • Modem slower than the speed of the CPU of the • What does modem mean? speed of memory access • Interrupts are used to allow the CPU to get on with something else in the meantime 5 Peripheral Devices Peripheral devices • Output •Storage • Printer • Hard drive • Plotter • Floppy drive • Monitor • CD-ROM • Modem • Zip disk • Some peripherals use special dedicated I/O Summary of simple model processors to increase performance • Each peripheral is controlled by its own • Memory - words, cells, addresses, fetch and instructions store, sizes – disk: seek, read, write … • CPU - registers, ALU, fetch-decode- – tape: wind, rewind, read, write ... execute, micro-programs, clock – printer: form feed, reset, newline … • Peripherals - interrupts, specialised – monitor: clear, refresh ... instructions Central Peripherals Processing Memory Unit (CPU) Application development Source code software Source code: • The development of programming languages “The written commands in a programming language, together with the comments that • Language Translators describe what they do.” • Software Tools 6 The development of Algorithms programming languages • An algorithm is a logical plan for solving a task • Algorithms and programs revisited that can be understood by humans. • Machine-code • There are many notations for expressing algorithms. They need to include: • Assembly language – hierarchical decomposition of tasks • High-level languages – sequences of actions • Object oriented languages – choice – iteration – descriptions of objects and information 1st generation 2nd generation Machine code Assembly languages • Computers execute binary instructions called machine code • Limited improvements over machine code • Typically a few simple instructions consisting of op-codes and addresses – mnemonics for op-codes improve readability • Very difficult for humans to work with algorithms – more powerful addressing styles such as named in machine code locations, relative addressing and indirect – hard to read addressing – easy to make but hard to correct mistakes •ADD A – minimal program or data structures • LOAD A + 1 – not portable •STORE (A) 3rd generation High level languages Important features of HLLs • Developed in the 60s and 70s to be closer to • Readability algorithms in terms of notation, control – use of English words and phrases structures, data structures, and task – mathematical notation decomposition – block structure • Relatively portable – comments • Based around hierarchical task • Powerful instructions and control structures decomposition realised using – complex expressions and operators functions/procedures/sub-routines – choice and repetition – input and output 7 • Data structures – named variables and constants Object-orientated languages – typed variables – structured types (arrays and records) • Encapsulate data and operations into objects – dynamic linked types (trees, lists, queues and stacks) • Program and system structure • Classes provide templates for objects – functions – establish precise interfaces between system – libraries and modules components before implementation • Abstraction and encapsulation – encourage team-work, re-use and safety – functions support procedural abstraction – modules support data abstraction Internal data Public interface operations and functions object Language translators The role of language translators • The role