1 / 40

CSCE 106 Fundamentals of Computer Science

The American University in Cairo Computer Science and Engineering Department. CSCE 106 Fundamentals of Computer Science. Assisting Slides. Introduction to Computer Systems. Origins of Computing Machines. Early computing devices Abacus: positions of beads represent numbers

sonel
Download Presentation

CSCE 106 Fundamentals of Computer Science

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The American University in Cairo Computer Science and Engineering Department CSCE 106Fundamentals of Computer Science Assisting Slides

  2. Introduction to Computer Systems

  3. Origins of Computing Machines • Early computing devices • Abacus: positions of beads represent numbers • Gear-based machines (1600s-1800s) • Positions of gears represent numbers • Blaise Pascal, Wilhelm Leibniz, Charles Babbage

  4. Figure 0.3 An Abacus

  5. Early Data Storage • Punched cards • First used in Jacquard Loom (1801) to store patterns for weaving cloth • Storage of programs in Babbage’s Analytical Engine • Popular through the 1970’s • Gear positions

  6. Early Computers • Based on mechanical relays • 1940: Stibitz at Bell Laboratories • 1944: Mark I: Howard Aiken and IBM at Harvard • Based on vacuum tubes • 1937-1941: Atanasoff-Berry at Iowa State • 1940s: Colossus: secret German code-breaker • 1940s: ENIAC: Mauchly & Eckert at U. of Penn.

  7. Figure 0.4 The Mark I computer

  8. Personal Computers • First used by hobbyists • IBM introduced the PC in 1981. • Accepted by business • Became the standard hardware design for most desktop computers • Most PCs use software from Microsoft

  9. Terminology • Hardware: Equipment • Software: Programs and algorithms

  10. Computer Architecture • Central Processing Unit (CPU) or processor • Arithmetic/Logic unit versus Control unit • Registers • General purpose • Special purpose • Bus • Motherboard

  11. Figure 2.1 CPU and main memory connected via a bus

  12. Memory Terminology • Random Access Memory (RAM): Memory in which individual cells can be easily accessed in any order • Dynamic Memory (DRAM): RAM composed of volatile memory

  13. Main Memory Addresses • Address: A “name” that uniquely identifies one cell in the computer’s main memory • The names are actually numbers. • These numbers are assigned consecutively starting at zero. • Numbering the cells in this manner associates an order with the memory cells.

  14. Bits and Bit Patterns • Bit: Binary Digit (0 or 1) • Bit Patterns are used to represent information. • Numbers • Text characters • Images • Sound • And others

  15. Main Memory Cells • Cell: A unit of main memory (typically 8 bits which is one byte) • Most significant bit: the bit at the left (high-order) end of the conceptual row of bits in a memory cell • Least significant bit: the bit at the right (low-order) end of the conceptual row of bits in a memory cell

  16. Figure 1.7 The organization of a byte-size memory cell

  17. Figure 1.8 Memory cells arranged by address

  18. Measuring Memory Capacity • Kilobyte: 210 bytes = 1024 bytes • Example: 3 KB = 3 times1024 bytes • Sometimes “kibi” rather than “kilo” • Megabyte: 220 bytes = 1,048,576 bytes • Example: 3 MB = 3 times 1,048,576 bytes • Sometimes “megi” rather than “mega” • Gigabyte: 230 bytes = 1,073,741,824 bytes • Example: 3 GB = 3 times 1,073,741,824 bytes • Sometimes “gigi” rather than “giga”

  19. Mass Storage • On-line versus off-line • Typically larger than main memory • Typically less volatile than main memory • Typically slower than main memory

  20. Mass Storage Systems • Magnetic Systems • Disk • Tape • Optical Systems • CD • DVD • Flash Drives

  21. Figure 1.9 A magnetic disk storage system

  22. Representing Text • Each character (letter, punctuation, etc.) is assigned a unique bit pattern. • ASCII: Uses patterns of 7-bits to represent most symbols used in written English text • Unicode: Uses patterns of 16-bits to represent the major symbols used in languages world side • ISO standard: Uses patterns of 32-bits to represent most symbols used in languages world wide

  23. Representing Numeric Values • Binary notation: Uses bits to represent a number in base two • Limitations of computer representations of numeric values • Overflow – occurs when a value is too big to be represented • Truncation – occurs when a value cannot be represented accurately

  24. The Binary System The traditional decimal system is based on powers of ten. The Binary system is based on powers of two.

  25. Figure 1.15 The base ten and binary systems

  26. Figure 1.16 Decoding the binary representation 100101

  27. Figure 1.17 An algorithm for finding the binary representation of a positive integer

  28. Figure 1.18 Applying the algorithm in Figure 1.15 to obtain the binary representation of thirteen

  29. Figure 1.19 The binary addition facts

  30. Figure 2.2 Adding values stored in memory

  31. Figure 2.3 Dividing values stored in memory

  32. Boolean Operations • Boolean Operation: An operation that manipulates one or more true/false values • Specific operations • AND • OR • NOT

  33. Figure 1.1 The Boolean operations ANDandOR

  34. Stored Program Concept A program can be encoded as bit patterns and stored in main memory. From there, the CPU can then extract the instructions and execute them. In turn, the program to be executed can be altered easily.

  35. Terminology • Algorithm: A set of steps that defines how a task is performed • Program: A representation of an algorithm • Programming: The process of developing a program

  36. Low Level Language First Generation Language • Machine instruction: An instruction (or command) encoded as a bit pattern recognizable by the CPU • Machine language: The set of all instructions recognized by a machine

  37. Machine Instruction Types • Data Transfer: copy data from one location to another • Arithmetic/Logic: use existing bit patterns to compute a new bit patterns • Control: direct the execution of the program

  38. Program Execution • Controlled by two special-purpose registers • Program counter: address of next instruction • Instruction register: current instruction • Machine Cycle • Fetch • Decode • Execute

  39. Figure 2.8 The machine cycle

  40. Ethical Theories • Consequence based: What leads to the greatest benefit? • Duty based: What are my intrinsic obligations? • Contract based: What contracts must I honor? • Character based: Who do I want to be?

More Related