2 Introduction to Computers We will learn : Components of Computer: Hardware vs Software. Components of Hardware: CPU, Memory, Storage, Input/Output Devices. Components of Software: Operating System and Application Programs. STORAGE structure.
3 The Big Picture A computer system contains: hardware (equipment) software (programs) people (programmers and end-users)
4 Computer System: Layers of Abstraction Software Hardware Application Program Algorithms Language Instruction Set Architecture (and I/O Interfaces) Microarchitecture Circuits Devices
5 Hardware: The Physical Components of a Computer Secondary storage device stores data and programs Input device Sends data to the central processi ng unit Output device makes processe d data (informa tion) available Secondary storage Proces sing Inp ut Outp ut Central processing unit (CPU) executes computer instructions memory holds data and programs temporarily
6 A computer is a machine that can be programmed to accept data process it into useful information store it away for safekeeping and later use
7 Memory unit and Secondary storage Input device Central processing unit (CPU) Output device 01011010 abc123
9 Hardware: The Physical Components of a Computer
11 I/O Bus Memory Bus Processor Cache Main Memory Disk Controller Disk Graphics Controller Network Interface Graphics Network interrupts I/O Bridge Core Chip Set System Organization
14 Processing Unit Processing Unit is composed of Central Processing Unit (CPU) that executes program. Main Memory that stores program and data.
16 PC Motherboard
20 Main Memory: Structure Ordered sequence of storage locations called memory cells. Each memory cell is identified by a unique address. The data stored in a memory cell is its content. One can either read a memory cell or write to a memory cell. Addr ess Cont ent 00 00 01 00 02 00 03 00 04 10 21 10 22 10 23 0100 1101
21 Main Memory: Data Representation in Memory Cells Data represented as binary numbers (i.e. base 2) which are collections of 1 s and 0 s. Here 1 and 0 correspond to two different levels of voltage in electrical implementation of the memory. For example: 0 0 Volts 1 5 Volts. 1 or 0 is a binary digit, which is abbreviated as bit. Each memory cell can hold a binary number with 8 bits which is called a byte.
22 Why we have to use 8 Bits - In genaral using n bits, it is possible to represent 2 n upto 2x2x2x2x2 ….. (n times) values, 2 n - e.g., 3 bits allow us to distinguish between 8 things 4 bits ---->16 things 5 bits ---->32 8 bits (1 byte)---- > 256 things 12 bits ----> 4096 16 bits ----> 65536 32 bits ----> over 4 billion things
23 Main Memory: Operations REA D WRIT E CP U MEMO RY Addr ess Data Addr ess Data
24 Main Memory: Memory Sizes 1 byte = 8 bits. 1 K (Kilobyte) = 2 10 or 1024 bytes. 1 M (Megabyte) = 2 20 or 1,0548,786 bytes. 1 G (Gigabyte) = 2 30 or 1,073,741,824 bytes. 1 T (Terabyte) = 2 40 Typical PC Main Memory is 256 Megabyte to 4 Gigabyte. (as of year 2004)
25 Storage Primary storage (or memory) holds programs and data temporarily: Main Memory. Secondary storage devices such as disks store data and programs.
26 Primary Storage: Computer Memory RAM (random access memory; DRAM, SRAM): is the most common memory chip. will not remain if power goes off. must move data onto a disk if it is to be saved. ROM (read-only memory): information is stored permanently on a chip. contains startup information and other permanent data. PROM, EPROM, EEPROM PROM: Programmable once!. EPROM: Erasable (via ultraviolet light) and programmable EEPROM: Electrically Erasable and programmable
27 Secondary Storage Secondary storage has more size than Main Memory (i.e. Primary Memory). It is non-volatile, when you power down the computer data is not lost. We use secondary storage to store our programs and data that we want to save. Secon dary Stora ge In pu t Outp ut Proce ssing
28 Software: Telling the Machine What to Do Software - the planned, step-by-step set of instructions required to turn data into information. Divided principally into systems and applications.
29 Hardware & Software: Structure Hardware Operating System Application Programs User
30 Software: Operating System Controls the interaction of the computer with its environment (including user). Management of memory, processor time and other resources for various tasks. Execute and provide services for applications. Examples: DOS, Windows, Unix, Linux,…
31 คอมพิวเตอร์ PC ใช้ ระบบปฏิบัติการ Windows คอมพิวเตอร์ Apple ใช้ ระบบปฏิบัติการ Mac OS
32 Software: Applications Software Programs designed to perform specific tasks and functions. Examples: Matlab, Excel, Microsoft Word, and many more…. Often found in the mass market as packaged software or commercial software
33 Software: Organization (Files, Folders, Drives, Path) Your computer’s filing system has three basic divisions: files, folders and drives Everything saved on your computer is stored as a file You can store a file in a folder (called “directory” under UNIX), and in turn store that folder inside another folder. Your computer also stores files in folders. When computer needs one of those files, it follows a path to the folder, and then to the file. Files and folders are stored on drives. Each drive is assigned a letter name. Hard drive (C:\), floppy drive (A:\), CD-ROM drive, network drive, etc.
34 Software Organization Disk Drive Files Fold ers
35 Software:Organizat ion Examples Disk Drives under My Computer (Windows)
36 Software: Organization Examples Example CD-ROM Drive Contents: Files and Folders
37 Software : Organization Examples Example Folder (A folder of the CD-ROM in the previous slide.)
39 Programming Languages A programming language is a set of rules that provides a way of telling a computer what operations to perform. There are several levels (or “generations”) of programming languages: High-level Assembly Machine
40 High-Level Language High-level languages use English-like words that are much easier for humans to understand. A translator is needed to convert the high-level language into machine language that computers understand. There are several languages that you can use to write programs: FORTRAN COBOL RPG BASIC Pascal VB C C++ C# Perl Java..?...
41 Assembly Language Assembly languages are written using mnemonic codes and assemblers replace mnemonic codes with 0s and 1s to create machine code. Since machine language is the only language the computer can execute, assembly language is eventually translated into machine language to execute the program.
42 Machine Language This is the lowest level of programming language because it represents data and program instructions as 0s and 1s. All programs written in different programming languages are eventually converted into machine language.
43 Levels of Representatio n High Level Language Program Assembly Language Program Machine Language Program Control Signal Specification Compiler Assembler Machine Interpretation temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; lw$15, 0($2) lw$16, 4($2) sw$16, 0($2) sw$15, 4($2) 0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111
44 Example for a = a + b
45 0100 0001 กดคีย์ A
46 Compiler, linker, loader… Source File (Text) Other Object Files (binary) Libr ary Comp iler Link er Load er Object File (binary) Executabl e File (binary) Inp ut Res ults
47 Instruction Cycle A program residing in the memory unit of the computer consists of a sequence of instructions. The program is executed in the computer by going through a cycle for each instruction. In the basiccomputer each instruction cycle consists of thefollowing phases : 1. Fetch an instruction from memory 2. Decode the instruction 3. Execute the instruction