Documente Academic
Documente Profesional
Documente Cultură
GOALS Knowledge of some computer history milestones Basic understanding of computer hardware and software Understanding of basic hardware elements in a desktop computer:
CPU Memory Storage Input/Output Applications Computer languages Operating systems Assembly code and machine language
ENIAC
What were computers like just over 50 years ago?
ENIAC
3
Computer Generations
Ultra Large Scale Integration > 100 million devices per chip
Very Large Scale Integration: Post 1978 100,000 - 100 million devices per chip
Transistors 1958-1964
Large Scale Integration: 1971-77 3000- 100,000 devices per chip Medium Scale Integration: Pre-1971 100-3000 devices per chip Small Scale Integration: 1960s Up to 100 devices per chip INTEGRATED CIRCUIT
http://nobelprize.org/physics/educational/integrated_circuit/index.html
Inside the Computer CPU, Memory Chips Floppy drive, Hard disk, CD-ROM, DVD Player Motherboard, Expansion Slots, Power Supply Back of Computer Cooling Fan, Power Connector Keyboard and Mouse Connectors Parallel Printer Port Video Connector
5
Four main functional units of a computer Central Processing Unit (CPU) Memory Storage Input/Output
Storage
Input/Output
Memory
6
The Microprocessor The brains, or main processing unit, of the computer Performs calculations and completes instructions Performance based on clock speed
Pentium 4 -- 2.8 GHz chip operates at 2.8 billion cycles per second
Arithmetic and Logic Unit (ALU): processes the data in the registers according to instructions issued by the control unit. Performs arithmetic (addition, subtraction, etc..) and logical (comparison) operations Registers: provides temporary storage for data and instructions. It handles instructions and data at 10 times the speed of cache memory. Registers facilitate the movement of data and instructions between RAM, the control unit and the ALU Internal CPU interconnection: some mechanism that provides for communication among the different components of the CPU
Control Unit: controls the operation of the CPU and hence the computer. Interprets instructions, moves data to/from memory and registers, instructs ALU to perform certain operations, etc. During program execution, instructions in a program are moved from the RAM into the control unit, where it is decoded and interpreted by the decoder Flags: 1-bit memory, or 1-bit registers and hold information on what has recently happened in the CPU. These are set to 1 or 0 depending on the results of internal operations such as results of ALU operations (zero or negative result) or external operations such as interrupts (commands that tell the processor to stop execution and wait for further instruction)
Memory
Computers require storage in order to process information.
Temporary
RAM Random Access Memory Can read or write data E.g. cache memory (on the CPU) Measured in MegaBytes (MB) Volatile memory: erased when computer powered off ROM Read only memory Permanently stored information used repeatedly by computer Can never accept new information Normally installed by system manufacturer Non-volatile
10
Long-Term
RAM Random Access Memory. Temporary read/write memory. Applications are typically loaded into RAM during computer use. Types of RAM include:
SRAM (static) and DRAM (dynamic ) SRAM is called static because the memory retains its contents as long as power is supplied -- It does not have to be periodically refreshed as in DRAM. It is faster than DRAM (The contents of the memory can be read much faster), however is more expensive and is larger in size DRAM is called Dynamic RAM because the memory content needs to be refreshed periodically (every few milliseconds) due to leakage of electrical charge. It is slower than SRAM, but cheaper and smaller in size
11
Storage
Provides long-term retention of data on magnetic or optical disk Hard Drive Disc capacity currently measured in GigaBytes (GB) Floppy Disc Typical capacity of 1.44 MegaBytes (MB) Compact Disc 650 MB Zip Drive Removable floppy discs that store up to 250 MB DVD Optical storage
12
Input/Output devices
Moves data between the computer and its external environment.
Input Devices - Accepts data from external sources and converts to electric signal Keyboard, Mouse, Touch screen, Voice activation, Video Camera, Microphone, Scanner, JoyStick Output Devices - Accepts electric signals from CPU and converts them to an output device. Monitor Printer Speakers Communication ports
13
Input/Output
Sound Board Game Board
CPU
Graphics Board
Serial Port
Parallel Port Serial Port
Network Port
bus
input/output
Monitor
Applications
Computer Software
Programming Language (High Level Language)
Software consists of instructions and application programs that permit computers to accomplish tasks. It is called software because, unlike hardware that has fixed configurations, connections, and operation, software is flexible and easily modified.
Operating System
Assembly Code
Machine Language
Hierarchy of Software 15
Machine Language
Application
Programming Language (High Level Language)
01100100100101010 Lowest level language Consists of elementary instructions directly recognized by the CPU Provides numerical codes directly recognized by the CPU Machine language programming produces a string of numbers Not commonly used anymore
Operating System
Assembly Code
Machine Language
How does it relate to Assembly Language? Hierarchy of Software
16
Assembly Code
Application
Programming Language (High Level Language)
Also called Assembly Language Also consists of elementary instructions directly recognized by the CPU, but uses codes rather than numbers. Assembly code is different for every type of computer. (i.e. it is CPU specific) Cumbersome to develop. Difficult to later read and modify An assembler converts assembly language to machine language.
Operating System
Assembly Code
Machine Language
Hierarchy of Software
17
Operating System
Application
Programming Language (High Level Language)
Computer program that links various hardware components to one another Stored on hard disk Loaded to memory when the computer is turned on Once in memory, the operating system takes over and manages the system
Operating System
Provides a user interface Manages memory Controls directory access Supports hardware Supports applications
Assembly Code
Machine Language
Hierarchy of Software 18
Examples of O/S?
Introduced in 1981 Microsofts first O/S Microsoft Disk Operating System (MS-DOS) Text based O/S -- C:/>
Appeared in 1984 Apple Macintosh Icons and Graphical User Interface (GUI)
Microsoft Windows
Dominates PC market Windows 3.x in 1990 Windows 95 and 98 Windows NT Windows 2000 Windows XP
Unix Variations
Linus Torvalds developed Linux in 1991. Linuxs open source code is freely available on the web. Most software is in a compiled, computer-readable, ready-to-run format that conceals how the software was developed. Open source code is source code that anyone can view/modify. Linux is a competitor to Windows NT/2000, especially in the business server space. Other software based on open source code includes the Apache web server and PERL, a web scripting language.
20
Programming Languages
Application
Programming Language (High Level Language)
A computer program tells a computer what to do. Needs to be written in a programming language the computer can understand. A compiler translates almost human syntax into lower level code the computer can execute. Theoretically no longer CPU-specific like assembly code. What are some examples of programming languages?
Operating System
Assembly Code
Machine Language
Hierarchy of Software
21
Programming is telling the computer what to do. Source Code is a series of commands written in a programming language. Programming languages are sometimes divided into 4 categories:
1GL (first generation language) - Machine language 2GL (second generation language) - Assembly language 3GL (third generation languages) - Cobol, Pascal, C, Basic 4GL (fourth generation languages) - vague, diverse term that includes object oriented programming languages, visual languages, and markup languages.
22
Application Software
Application
Programming Language (High Level Language)
Program at the command of the user. Application programs can be downloaded from web sites or installed from a CD-ROM. They install almost automatically. Microsoft Office
Operating System
MS Word word processing MS Excel spreadsheet program MS PowerPoint presentations MS Access 2000 DBMS (database management system)
Assembly Code
AOL Instant Messenger Voice Recognition Software Oracle DBMS Netscape Navigator
Machine Language
Hierarchy of Software
23