Electronic Computers Generations: First generation: Used vacuum tubes technology Second generation: Used Transistors technology Third generation: used Integrated circuitry technology Fourth generation: used Very Large-Scale Integrated Circuits technology Computer System Categories(1. Microcomputer 2. Midrange(minicomputer) 3. Mainframe): • Computer System Categories factors: • Size (Mainframe, Midrange(Minicomputer), Microcomputer) • Processing speed (Mainframe, Midrange(Minicomputer), Microcomputer) • Storage capacity (Mainframe, Midrange(Minicomputer), Microcomputer) • Cost (Mainframe, Midrange(Minicomputer), Microcomputer) • Number of users 1. Microcomputer Systems (PC, PDA, Workstation) • used by a single user. • Personal Computer (PC) : microcomputer for use by an individual i. Desktop – fit on an office desk ii. Laptop – small, portable PC • Personal digital assistant (PDA) or Information Appliances: Hand-held microcomputer devices i. E.g. Internet enabled cellular phones • Workstation: a powerful Microcomputer 2. Midrange(minicomputer) systems • used to share large amount of data among many users. • E.g. High-end network servers: 3. Mainframe Systems • It can support thousands of users simultaneously. • E.g. superservers , Supercomputer Systems Computer hardware components: (1. CPU 2. Input/output devices 3. storage devices) • Central Processing Unit (CPU) consists of: – Arithmetic-logic unit : performs the arithmetic and logic functions – Control unit: Controls the other components of the computer and Coordinating all computer operations • • • Input devices: Convert data into electronic form – E.g. Keyboards, Pointing Devices, optical scanners, Digital cameras Output devices: Convert electronic information into human-intelligible form – E.g. Video display units, printers, etc. Storage devices: – Primary Storage Unit or main memory • E.g. RAM, cache memory – Secondary Storage • E.g. Magnetic disks and Optical disks Computer Processing Speeds • Time as speed unit • Millisecond: thousandth of a second = 1sec/1000 • Microsecond: millionth of a second = 1sec/1000 000 • Nanosecond: billionth of a second= 1sec/ 1000 000 000 • Picosecond: trillionth of a second • Number of Instructions per second as speed unit • MIPS : million instructions per second • Gigaflops: Billions of operations per second • Teraflops: trillions of floating point operations per second (Supercomputer) • Clock speed of the computer (the speed of microprocessors’ timing circuits or internal clock): • Megahertz (MHz) : millions of cycles per second • Gigahertz (GHz) : billions of cycles per second Peripherals is a generic name for all input, output, and secondary storage devices that are part of the computer system but are not part of the CPU Input technologies (Keyboards, Pointing Devices, Optical Scanners, Digital cameras) Pointing Device: work with Graphical user interface (GUI) using point-and-click or point-and-drag methods. (e.g. Mouse, Trackball, Pointing Stick, Touchpad, Touch Screen) • GUI (Graphical User Interface): Icons, menus, windows, buttons and bars Storage Devices ( Primary Storage, Secondary Storage) • Primary Storage (Semiconductor Memory) • Secondary Storage (Magnetic Disk, Optical Disk, Magnetic Tape) Storage tradeoffs Factors • Access Speed (Semiconductor, Magnetic Disk, Optical Disk, Magnetic Tape) • Storage capacity (Magnetic Tape, Optical Disk, Magnetic Disk, Semiconductor) • Cost (Semiconductor, Magnetic Disk, Optical Disk, Magnetic Tape) Computer Storage Fundamentals • Binary representation: • Data are processed and stored in computer system through the presence or absence of signals or electronic charge. Either ON or OFF (ON = number 1, OFF = number 0) • Bit (short for binary digit): Smallest element of data, Either zero or one • Byte: Group of eight bits which operate as a single unit, Represents one character or number Measuring storage capacities • Kilobyte (KB): one thousand bytes; • Megabyte (MB): one million bytes • Gigabyte (GB): one billion bytes • Terabyte (TB): one trillion bytes • Petabyte (PB): one quadrillion bytes • Exabyte (EB) : one quintillion bytes = 1024 Bytes = 1024 KB = 1024 MB = 1024 GB = 1024 TB = 1024 PB Semiconductor memory (ROM, RAM) • Advantage: – Small size – Fast (high access speed) – Shock and temperature resistance • Disadvantage: – Volatility: must have uninterrupted electric power or lose memory RAM: Random Access Memory (the main memory, the cache memory, the registers) – Most widely used primary storage medium – Volatile memory (temporary) – Read/write memory • Storage tradeoffs Factors • Access Speed (the registers, cache memory, the main memory ) • Storage capacity (the main memory, the cache memory, the registers) • Cost (the registers, cache memory, the main memory ) The Main Memory: • Type of RAM which temporarily hold programs and data that loaded from the secondary storage devices and accessed by the CPU while the computer is on (volatile). The Cache Memory: • A very fast type of RAM that is used to store parts of programs that is most frequently or recently used by the CPU. • It help bridge the speed gap between CPU and main memory (CPU is much faster than the main memory) The Registers • Special high-speed memory locations located in the CPU. • used to store current running instruction and its related data values temporarily The Virtual Memory (not physical memory) • Space on hard disk used to simulate RAM if more needed. • Disadvantage: It is much slower than RAM. ROM: Read Only Memory – Permanent storage – Can be read but cannot be overwritten – Frequently used programs (control instructions in the control unit and parts of the operating system) permanently burnt in to the storage cells during manufacture. – E.g. BIOS BIOS: Store frequently used programs during the boot process which are responsible for: 1) find and test hardware devices (i.e. POST (Power-On Self-Test)) 2) initialize hardware devices 3) find and load boot sector into memory location 0x00007c00 4) starts executing code (boot loader) at that address to load OS’s kernel into memory CMOS (not ROM) • Like BIOS, Activated during the boot process. • Like BIOS, Contains information about where the essential software (drivers) is stored. • Unlike BIOS, It changes every time we add or remove hardware to the computer system. Secondary storage devices (Magnetic Disks, Optical disks, Magnetic Tape) • Used to store too large data permanently (nonvolatile). Disadvantage: it is relatively slow, because secondary storage requires mechanical movement to access the data. Magnetic Disks (hard disks): • the Most used secondary storage device Optical disks (CD) • Publishing medium for fast access to reference materials • Catalogs, directories, etc. • Interactive multimedia applications • Video games, educational videos, etc. Magnetic Tape • Too slow to be used for day-to-day tasks. • Used for Archival storage and backup storage for large quantities of data. Direct and Sequential Access • Direct Access or Random Access • Directly store and retrieve data • Each storage position has unique address and can be accessed in same length of time • E.g. Semiconductor memory chips, magnetic disks, optical disk • Sequential Access • Data is stored and retrieved in a sequential process • Each storage position Must be accessed in sequence by searching through prior data • E.g. Magnetic tape A computer program (software) is a set of instructions. Major Instruction Fields (opcode and operand): • Opcode field which stands for operation code and it specifies the particular operation that is to be performed. – Each operation has its unique opcode. • Operands fields which specify where to get the source and destination operands for the operation specified by the opcode – The source/destination of operands can be a constant, the memory or one of the general-purpose registers. An instruction processing 1. Fetch an instruction from the primary storage 2. Decode instruction into opcode and operands 3. Place the opcode into instruction register 4. Place operands into address register 5. Send data from the primary storage to storage register 6. ALU performs desired operation 7. temporary store the result in an accumulator (register) 8. finally places the result in the primary storage