CPS 101 Introduction to Computational Science Wensheng Shen Department of Computational Science SUNY Brockport Chapter 2 Computer hardware and software http://en.wikipedia.org/wiki/Computer_hardware Computer hardware Computer hardware is the physical part of a computer, that includes motherboard, CPU, memory, keyboard, monitor, etc. PC (Personal Computer): A personal computer is a computer whose price, size, and capabilities make it useful for individuals. The parts inside a computer Motherboard CPU A central processing unit (CPU) Executing a program. CPU Chip Control unit registers ALU bus interface RAM (Random Access Memory) - - - More RAM will normally contribute to a faster PC. RAM is always removable as it sits in slots in the motherboard The RAM slots are normally located next to the CPU socket. Random-Access Memory (RAM) Static RAM (SRAM) Retains value indefinitely, as long as it is kept powered. Relatively insensitive to disturbances such as electrical noise. Faster and more expensive than DRAM. Dynamic RAM (DRAM) Value must be refreshed every 10-100 ms. Sensitive to disturbances. Slower and cheaper than SRAM. SRAM vs DRAM Summary Tran. per bit Access time Persist? Sensitive? Cost Applications SRAM 6 1X Yes No 100x cache memories DRAM 1 10X No Yes 1X Main memories, frame buffers BUS Transfers data between components inside a computer. PCI Peripheral Component Interconnect BIOS A coded program embedded on a chip. Recognizes and controls various devices that make up the PC. Hard Disk Drive (HDD) A hard disk drive or hard disk, is a nonvolatile storage device which stores digitally encoded data on rapidly rotating platters with magnetic surfaces Video (graphic) card A video card, or graphics card, is an expansion card that is plugged into a slot on the computer's motherboard, whose function is to generate and output images to a display. Sound Card Sound card Speaker For entertainment purpose Network card Allow computers to communicate over a computer network. It provides physical access to a networking through the use of MAC addresses. It allows users to connect to each other either by using cables or wirelessly. IP Address A name indicates what we seek. An address indicates where it is. A route indicates how to get there An IP address is an identification assigned to devices participating in a computer network utilizing the Internet Protocol. IP addresses are stored as binary numbers, but are usually displayed in human-readable notations, such as 208.77.188.166 (for IPv4), and 2001:0db8:0000:0000:0000:0000:1428:57ab (for IPv6). The original IP address is a 32-bit number system, now named Internet Protocol Version 4 (IPv4), which is still in use today. Due to the enormous growth of the Internet and the resulting depletion of the address space, a new addressing system (IPv6), using 128 bits for the address, was developed. The IP address is globally unique. The IP address is the logical address of a node in the network. MAC Address MAC address is a unique number to each IP network adapter which is 48 bits long. It is the physical address of each network adapter. The MAC address is commonly written as a sequence of 12 hexadecimal digits as follows 48-3F-0A-91-00-BC MAC addresses map to logical IP addresses through the Address Resolution Protocol (ARP) How to find IP Address Windows 95/98: Go to Start/Run and do the command winipcfg Windows 2000, XP, Vista: Go to a command prompt and do ipconfig On the Macintosh: Apple Menu --> Control Panels --> TCP/IP Control Panel On Mac OS X: (1) Open system preferences (2) Under internet and network, click 'network' ROM - - Data stored in ROM cannot be modified Every computer requires some form of non-volatile storage to store the initial program. Programmable read-only memory (PROM) Erasable programmable read-only memory (EPROM) Computer software Computer software, consisting of programs, enables a computer to perform specific tasks, as opposed to its hardware which can only do the tasks they are mechanically designed for. The term includes application software such as word processors which perform productive tasks for users, system software such as operating systems, which interface with hardware to run the necessary services for user-interfaces and applications, and middleware which controls distributed systems. Operating system An operating system (OS) is the software that manages the sharing of the resources of a computer. An operating system performs basic tasks such as controlling and allocating memory, prioritizing system requests, controlling input and output devices, facilitating networking and managing file systems. Modern operating systems Unix-like operating systems: Unix is a computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie and Douglas McIlroy Variants of Unix: HP-UX, Sun-Solaris, IBM-AIX, and Linux. Modern operating systems Microsoft Windows: The Microsoft Windows family of operating systems originated as a graphical layer on top of the older MS-DOS environment for the IBM PC. Modern versions are based on the newer Windows NT core. Windows runs on 32-bit and 64-bit Intel and AMD processors Windows family: Windows98, Windows2000, WindowsXP, Vista Modern operating systems Mac OS X: a graphical operating systems developed, marketed, and sold by Apple Inc., running on all Macintosh computers. Mac OS X is the successor to the original Mac OS, which had been Apple's primary operating system since 1984. Mac OS X is a Unix-like operating system Market share of operating systems on PCs in 2007 January February March April May June July Windows 92.58% 93.05% 93.24% 92.85% 92.68% 92.93% 92.86% Mac OS 6.22% 6.38% 6.08% 6.21% 6.46% 6.00% 5.97% Linux 0.35% 0.42% 0.57% 0.80% 0.70% 0.71% 0.75% Application software Application software is a subclass of computer software that employs the capabilities of a computer directly to a task that the user wishes to perform. This should be contrasted with operating system which is involved in integrating a computer's various capabilities, but typically does not directly apply them in the performance of tasks that benefit the user. Application software Typical application software: word processors, spreadsheets, media players, games, education, etc. The relation between hardware and software computer hardware are the physical interconnections and devices required to store and execute (or run) the software. In computers, software is loaded into RAM and executed in the CPU. At the lowest level, software consists of a machine language specific to an individual processor. A machine language consists of groups of binary values specifying processor instructions (object code), which change the state of the computer from its preceding state. Software is an ordered sequence of instructions for changing the state of the computer hardware in a particular sequence. It is usually written in high-level programming languages that are easier and more efficient for humans to use (closer to natural language) than machine language. High-level languages are compiled or interpreted into machine language object code.. Computer clock speed Computer clock speed refers to the number of pulses per second generated by an oscillator that sets the time for the processor. Clock speed is usually measured in MHz (megahertz, or millions of cycles per second) or GHz (gigahertz, or billions of cycles per second). Today's personal computers run at a clock speed in the hundreds of megahertz and some exceed one gigahertz. The clock speed is determined by a quartz-crystal circuit. Computer clock speed has been roughly doubling every year. The Intel 8088, common in computers around the year 1990, ran at 4.77 MHz. The 1 GHz mark was passed in the year 2000. Clock speed is one measure of the power of a computer, but it is not always directly proportional to the performance level. If you double the speed of the clock, leaving all other hardware unchanged, you will not necessarily double the processing speed. The type of microprocessor, the bus architecture, and the nature of the instruction set all make a difference. In some applications, the amount of random access memory (RAM) is important, too. Some processors execute only one instruction per clock cycle. More advanced processors can perform more than one instruction per clock pulse. The latter type of processor will work faster at a given clock speed than the former type. Similarly, a computer with a 32-bit bus will work faster at a given clock speed than a computer with a 16-bit bus. Another way of measure CPU speed is millions of instructions per second (MIPS). CPU Clock Rates processor clock rate(MHz) cycle time(ns) 1980 8080 1 1,000 1985 286 6 166 1990 386 20 50 1995 Pent 150 6 2000 P-III 750 1.6 2000:1980 750 1/750 More concepts Parallel computer Supercomputer Parallel Computer Parallel computers consists of multiple processors. Distributed memory computer, shared memory computer. Cluster computing (Dr. Thomas Sterling and Donald Becker). Supercomputers Supercomputers are the most powerful computers in the world at the time when it is made, in terms of the speed of calculation. The term supercomputer itself is time dependent, and today's supercomputer tends to become tomorrow's normal computer. Example: Cray X-MP/4, supercomputer 1983, 941 MFLOPS, used in Los Alamos National Laboratory; Lawrence Livermore National Laboratory; Battelle; Boeing Why supercomputer Supercomputers are used for highly calculation-intensive tasks such as problems involving quantum mechanical physics, weather forecasting, climate research (including global warming), molecular modeling (computing the structures and properties of chemical compounds, biological macromolecules, polymers, and crystals), physical simulations (such as simulation of airplanes in wind tunnels, simulation of the detonation of nuclear weapons, and research into nuclear fusion), cryptanalysis, and the like. Major universities, military agencies and scientific research laboratories are heavy users. Measuring the performance of supercomputers The speed of a supercomputer is generally measured in FLOPS (FLoating Point Operations Per Second), commonly used with an SI prefix such as mega, giga, tera, or peta. TFLOPS (teraflops) means 1012 FLOPS. PFLOPS (petaflops) means 1015 FLOPS) This measurement is based on a particular benchmark which does LU decomposition of a large matrix. Architecture of modern supercomputers The top ten supercomputers on the Top500 list have the same top-level architecture: a cluster of MIMD multiprocessors, each of them is SIMD. MIMD+SIMD MIMD: multi-instruction multi-data SIMD: single-instruction multi-data As of November 2006, the fastest machine is Blue Gene/L. This machine is a cluster of 65,536 computers, each with two processors, each of which processes two data streams concurrently. Blue Gene computers are designed to reach operating speeds in the petaflops range, and currently reaching sustained speeds over 360 teraflops. It is a cooperative project among IBM (particularly the Thomas J. Watson Research Center), the Lawrence Livermore National Laboratory, the United States Department of Energy (which is partially funding the project), and academia. There are four Blue Gene projects in development: BlueGene/L, BlueGene/C, BlueGene/P, and BlueGene/Q