Successfully reported this slideshow.

Computer lecture


Published on

Published in: Technology
  • Be the first to comment

Computer lecture

  1. 1. Introduction to Information Technology INTRODUCTION TO COMPUTER ARCHITECTURE AND SOFTWARE IT 101
  2. 2. Introduction to Computer Architecture <ul><li>Knowledge of some computer history milestones </li></ul><ul><li>Basic understanding of computer hardware and software </li></ul><ul><li>Understanding of basic hardware elements in a desktop computer: </li></ul><ul><ul><li>CPU </li></ul></ul><ul><ul><li>Memory </li></ul></ul><ul><ul><li>Storage </li></ul></ul><ul><ul><li>Input/Output </li></ul></ul><ul><li>Understanding of the hierarchy of computer software </li></ul><ul><ul><li>Applications </li></ul></ul><ul><ul><li>Computer languages </li></ul></ul><ul><ul><li>Operating systems </li></ul></ul><ul><ul><li>Assembly code and machine language </li></ul></ul>GOALS Apple Mac 1984 IBM PC 1981
  3. 3. Calculating Machines Through History <ul><li>The Abacus </li></ul><ul><ul><li>5000 years old </li></ul></ul><ul><ul><li>Addition and subtraction </li></ul></ul><ul><li>Mechanical Calculators </li></ul><ul><ul><li>Charles Babbage’s mechanical calculators prefigured modern computers </li></ul></ul><ul><li>Electronic “Calculators” </li></ul><ul><ul><li>Vacuum Tubes </li></ul></ul><ul><ul><li>Transistors </li></ul></ul><ul><li>Modern Computer </li></ul><ul><ul><li>Microprocessors </li></ul></ul>Charles Babbage’s Difference Machine (Picture courtesy of Science Museum/Science & Society Picture Library)
  4. 4. ENIAC <ul><li>What were computers like just over 50 years ago? </li></ul><ul><ul><li>1946 - ENIAC </li></ul></ul><ul><ul><li>Used plugboards and switches to program </li></ul></ul><ul><ul><li>Used vacuum tubes </li></ul></ul><ul><ul><li>Developed at UPenn </li></ul></ul><ul><ul><li>Funded by U.S. government </li></ul></ul>ENIAC Electronic Numerical Integrator and Computer
  5. 5. Computer Generations Vacuum Tubes 1946-1957 Transistors 1958-1964 Small Scale Integration: 1960s Up to 100 devices per chip Medium Scale Integration: Pre-1971 100-3000 devices per chip Large Scale Integration: 1971-77 3000- 100,000 devices per chip Very Large Scale Integration: Post 1978 100,000 - 100 million devices per chip Ultra Large Scale Integration > 100 million devices per chip INTEGRATED CIRCUIT
  6. 6. Moore’s Law <ul><li>Intel pioneer, Gordon Moore, predicted in 1965 that the number of transistors on a chip would double every 18 months. </li></ul>
  7. 7. Some Computer Hardware <ul><li>Inside the Computer </li></ul><ul><ul><li>CPU, Memory Chips </li></ul></ul><ul><ul><li>Floppy drive, Hard disk, CD-ROM, DVD Player </li></ul></ul><ul><ul><li>Motherboard, Expansion Slots, Power Supply </li></ul></ul><ul><li>Back of Computer </li></ul><ul><ul><li>Cooling Fan, Power Connector </li></ul></ul><ul><ul><li>Keyboard and Mouse Connectors </li></ul></ul><ul><ul><li>Parallel Printer Port </li></ul></ul><ul><ul><li>Video Connector </li></ul></ul>
  8. 8. Desktop Computer Hardware <ul><li>Four main functional units of a computer </li></ul><ul><ul><li>Central Processing Unit (CPU) </li></ul></ul><ul><ul><li>Memory </li></ul></ul><ul><ul><li>Storage </li></ul></ul><ul><ul><li>Input/Output </li></ul></ul>From the optional textbook, The Digital Information Age Input/Output Central Processing Unit Storage Memory
  9. 9. Central Processing Unit - CPU <ul><li>The Microprocessor </li></ul><ul><li>The brains, or main processing unit, of the computer </li></ul><ul><li>Performs calculations and completes instructions </li></ul><ul><li>Performance based on clock speed </li></ul><ul><li>Pentium 4 -- 2.8 GHz chip operates at 2.8 billion cycles per second </li></ul>
  10. 10. Four Stages of CPU Operation <ul><li>Fetch - Seeks instructions from outside source </li></ul><ul><li>Decode - Analyzes the instructions to determine which of the chip’s circuits should be used for processing </li></ul><ul><li>Execute - Performs the actual instructions </li></ul><ul><li>Store - Places processing result in appropriate place </li></ul>Comparing a Dime to a Microprocessor
  11. 11. The CPU Execution of instructions occurs here. Grouping of transistors (logic gates) that perform logical and mathematical functions Input/Output Storage Memory Cache Memory Arithmetic Logical Unit (ALU) Flags Registers Control Unit
  12. 12. Components of the CPU <ul><li>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 </li></ul><ul><li>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 </li></ul><ul><li>Internal CPU interconnection : some mechanism that provides for communication among the different components of the CPU </li></ul>
  13. 13. <ul><li>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 </li></ul><ul><li>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) </li></ul>
  14. 14. Memory <ul><li>RAM – Random Access Memory </li></ul><ul><ul><li>Can read or write data </li></ul></ul><ul><ul><li>E.g. cache memory (on the CPU) </li></ul></ul><ul><ul><li>Measured in MegaBytes (MB) </li></ul></ul><ul><ul><li>Volatile memory: erased when computer powered off </li></ul></ul><ul><li>ROM – Read only memory </li></ul><ul><ul><li>Permanently stored information used repeatedly by computer </li></ul></ul><ul><ul><li>Can never accept new information </li></ul></ul><ul><ul><li>Normally installed by system manufacturer </li></ul></ul><ul><ul><li>Non-volatile </li></ul></ul>Computers require storage in order to process information. TWO TYPES OF COMPUTER MEMORY Temporary Long-Term
  15. 15. Main (Internal) Memory <ul><li>RAM – Random Access Memory. Temporary read/write memory. Applications are typically loaded into RAM during computer use. Types of RAM include: </li></ul><ul><li>SRAM (static) and DRAM (dynamic ) </li></ul><ul><ul><li>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 </li></ul></ul><ul><ul><li>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 </li></ul></ul>
  16. 16. Storage <ul><li>Provides long-term retention of data on magnetic or optical disk </li></ul><ul><li>Hard Drive </li></ul><ul><ul><li>Disc capacity currently measured in GigaBytes (GB) </li></ul></ul><ul><li>Floppy Disc </li></ul><ul><ul><li>Typical capacity of 1.44 MegaBytes (MB) </li></ul></ul><ul><li>Compact Disc </li></ul><ul><ul><li>650 MB </li></ul></ul><ul><li>Zip Drive </li></ul><ul><ul><li>Removable floppy discs that store up to 250 MB </li></ul></ul><ul><li>DVD </li></ul><ul><ul><li>Optical storage </li></ul></ul>
  17. 17. Input/Output devices <ul><li>Input Devices - Accepts data from external sources and converts to electric signal </li></ul><ul><ul><li>Keyboard, Mouse, Touch screen, Voice activation, Video Camera, Microphone, Scanner, JoyStick </li></ul></ul><ul><li>Output Devices - Accepts electric signals from CPU and converts them to an output device. </li></ul><ul><ul><li>Monitor </li></ul></ul><ul><ul><li>Printer </li></ul></ul><ul><ul><li>Speakers </li></ul></ul><ul><ul><li>Communication ports </li></ul></ul>Moves data between the computer and its external environment.
  18. 18. Input/Output CPU Sound Board bus Game Board Graphics Board Serial Port Parallel Port Serial Port Network Port ADC input/output   Mode   Monitor  Local Area Network Analog signal source 
  19. 19. Computer Software <ul><li>Software consists of instructions and application programs that permit computers to accomplish tasks. </li></ul><ul><li>It is called software because, unlike hardware that has fixed configurations, connections, and operation, software is flexible and easily modified. </li></ul>Operating System Assembly Code Programming Language (High Level Language) Applications Hierarchy of Software Machine Language
  20. 20. Machine Language <ul><li>01100100100101010 </li></ul><ul><li>Lowest level language </li></ul><ul><li>Consists of elementary instructions directly recognized by the CPU </li></ul><ul><li>Provides numerical codes directly recognized by the CPU </li></ul><ul><li>Machine language programming produces a string of numbers </li></ul><ul><li>Not commonly used anymore </li></ul>Operating System Assembly Code Programming Language (High Level Language) Application Hierarchy of Software How does it relate to “Assembly Language?” Machine Language
  21. 21. Assembly Code <ul><li>Also called Assembly Language </li></ul><ul><li>Also consists of elementary instructions directly recognized by the CPU, but uses codes rather than numbers. </li></ul><ul><li>Assembly code is different for every type of computer. (i.e. it is CPU specific) </li></ul><ul><li>Cumbersome to develop. </li></ul><ul><li>Difficult to later read and modify </li></ul><ul><li>An “assembler” converts assembly language to machine language. </li></ul>Operating System Assembly Code Programming Language (High Level Language) Application Hierarchy of Software Machine Language
  22. 22. Operating System <ul><li>Computer program that links various hardware components to one another </li></ul><ul><li>Stored on hard disk </li></ul><ul><li>Loaded to memory when the computer is turned on </li></ul><ul><li>Once in memory, the operating system takes over and manages the system </li></ul><ul><ul><li>Provides a user interface </li></ul></ul><ul><ul><li>Manages memory </li></ul></ul><ul><ul><li>Controls directory access </li></ul></ul><ul><ul><li>Supports hardware </li></ul></ul><ul><ul><li>Supports applications </li></ul></ul><ul><li>Examples of O/S? </li></ul>Hierarchy of Software Operating System Assembly Code Programming Language (High Level Language) Application Machine Language
  23. 23. Examples of Operating Systems MS-DOS Introduced in 1981 Microsoft’s first O/S Microsoft Disk Operating System (MS-DOS) Text based O/S -- C:/> Mac OS 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 IBM OS/2 Roughly 1992 Split with Microsoft Never took off Unix Variations IBM’s AIX Hewlett Packard’s HP/UX Sun’s Solaris Linux Others
  24. 24. The Linux Operating System <ul><li>Linus Torvalds developed Linux in 1991. </li></ul><ul><li>Linux’s open source code is freely available on the web. </li></ul><ul><li>Most software is in a compiled, computer-readable, ready-to-run format that conceals how the software was developed. </li></ul><ul><li>Open source code is source code that anyone can view/modify. </li></ul><ul><li>Linux is a competitor to Windows NT/2000, especially in the business “server space.” </li></ul><ul><li>Other software based on open source code includes the Apache web server and PERL, a web scripting language. </li></ul><ul><li>What are the advantages and disadvantages of open source code? </li></ul>What’s different about Linux? Why do we hear so much about this? Key Concept: Open Source Code
  25. 25. Programming Languages <ul><li>A computer program tells a computer what to do. </li></ul><ul><li>Needs to be written in a programming language the computer can understand. </li></ul><ul><li>A “compiler” translates almost human syntax into lower level code the computer can “execute.” </li></ul><ul><li>Theoretically no longer CPU-specific like assembly code. </li></ul><ul><li>What are some examples of programming languages? </li></ul>Operating System Assembly Code Programming Language (High Level Language) Application Hierarchy of Software Machine Language
  26. 26. Programming Language Evolution FORTRAN (Formula Translator) Developed by IBM Science/engineering 1957 COBOL (Common Business Oriented Language) Pushed by U.S. Govt. 1960 Installed base of code in COBOL still considerable Basic (Dartmouth College, Kemeny and Kurz) Simple language students could learn 1964 Pascal Once popular with serious programmers 1970s Appeal has diminished C and C++ Developed originally as C/Unix in 1974 C++ is object oriented version Visual Basic Microsoft’s “visual language” Provides an array of tools that decrease development time HTML HyperText Markup Language describes documents on the Web XML eXtensible Markup Language More powerful successor to HTML Java Developed by Sun O/S independent
  27. 27. Key Programming Terms <ul><li>Programming is telling the computer what to do. </li></ul><ul><li>Source Code is a series of commands written in a programming language. </li></ul><ul><li>Programming languages are sometimes divided into 4 categories: </li></ul><ul><ul><li>1GL (first generation language) - Machine language </li></ul></ul><ul><ul><li>2GL (second generation language) - Assembly language </li></ul></ul><ul><ul><li>3GL (third generation languages) - Cobol, Pascal, C, Basic </li></ul></ul><ul><ul><li>4GL (fourth generation languages) - vague, diverse term that includes object oriented programming languages, visual languages, and markup languages. </li></ul></ul>
  28. 28. Application Software <ul><li>Program at the command of the user. </li></ul><ul><li>Application programs can be downloaded from web sites or installed from a CD-ROM. They install almost automatically. </li></ul><ul><li>Microsoft Office </li></ul><ul><ul><li>MS Word – word processing </li></ul></ul><ul><ul><li>MS Excel – spreadsheet program </li></ul></ul><ul><ul><li>MS PowerPoint – presentations </li></ul></ul><ul><ul><li>MS Access 2000 – DBMS (database management system) </li></ul></ul><ul><li>AOL Instant Messenger </li></ul><ul><li>Voice Recognition Software </li></ul><ul><li>Oracle DBMS </li></ul><ul><li>Netscape Navigator </li></ul>“ Shrink-wrapped software” available at the store Operating System Assembly Code Programming Language (High Level Language) Application Hierarchy of Software Machine Language
  29. 29. Recommended Optional Excursion <ul><li>“ Information Age” Exhibit at The Smithsonian’s American History Museum </li></ul><ul><ul><li>Chronicles the birth and evolution of information technology </li></ul></ul><ul><li>Contains many famous information technology artifacts: </li></ul><ul><ul><li>Samuel Morse’s telegraphs </li></ul></ul><ul><ul><li>Alexander Bell’s telephones </li></ul></ul><ul><ul><li>A Hollerith punched card machine </li></ul></ul><ul><ul><li>The ENIAC computer </li></ul></ul><ul><ul><li>Early personal computers </li></ul></ul>