1 / 60

Terminology

Explore the origins of algorithms, computing machines, and data storage systems. Learn about the terminology used in computer science and the representation of information in various formats.

ihartin
Download Presentation

Terminology

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. 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 • Software: Programs and algorithms • Hardware: Equipment

  2. History of Algorithms • The study of algorithms was originally a subject in mathematics. • Early examples of algorithms • Long division algorithm • Euclidean Algorithm • Gödel's Incompleteness Theorem: Some problems cannot be solved by algorithms.

  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. 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

  5. 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

  6. Computer Science • The science of algorithms • Draws from other subjects, including • Mathematics • Engineering • Psychology • Business Administration • Psychology

  7. Figure 0.5 The central role of algorithms in computer science

  8. Abstraction • Abstraction: The distinction between the external properties of an entity and the details of the entity’s internal composition • Abstract tool: A “component” that can be used without concern for the component’s internal properties

  9. Chapter 1:Data Storage

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

  11. Boolean Operations • Boolean Operation: An operation that manipulates one or more true/false values • Specific operations • AND • OR • XOR (exclusive or) • NOT

  12. Gates • Gate: A device that computes a Boolean operation • Often implemented as (small) electronic circuits • Provide the building blocks from which computers are constructed • VLSI (Very Large Scale Integration)

  13. Flip-flops • Flip-flop: A circuit built from gates that can store one bit. • One input line is used to set its stored value to 1 • One input line is used to set its stored value to 0 • While both input lines are 0, the most recently stored value is preserved

  14. Hexadecimal Notation • Hexadecimal notation: A shorthand notation for long bit patterns • Divides a pattern into groups of four bits each • Represents each group by a single symbol • Example: 10100011 becomes A3

  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. 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.

  17. 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

  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. Files • File: A unit of data stored in mass storage system • Fields and keyfields • Physical record versus Logical record • Buffer: A memory area used for the temporary storage of data (usually as a step in transferring the data)

  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. Storing Integers • Two’s complement notation: The most popular means of representing integer values • Excess notation: Another means of representing integer values • Both can suffer from overflow errors.

  26. Chapter 2:Data Manipulation

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

  28. 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.

  29. Terminology • 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

  30. Machine Language Philosophies • Reduced Instruction Set Computing (RISC) • Few, simple, efficient, and fast instructions • Examples: PowerPC from Apple/IBM/Motorola and SPARK from Sun Microsystems • Complex Instruction Set Computing (CISC) • Many, convenient, and powerful instructions • Example: Pentium from Intel

  31. 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

  32. Parts of a Machine Instruction • Op-code: Specifies which operation to execute • Operand: Gives more detailed information about the operation • Interpretation of operand varies depending on op-code

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

  34. Figure 2.8 The machine cycle

  35. Arithmetic/Logic Operations • Logic: AND, OR, XOR • Masking • Rotate and Shift: circular shift, logical shift, arithmetic shift • Arithmetic: add, subtract, multiply, divide • Precise action depends on how the values are encoded (two’s complement versus floating-point).

  36. Communicating with Other Devices • Controller: An intermediary apparatus that handles communication between the computer and a device • Specialized controllers for each type of device • General purpose controllers (USB and FireWire) • Port: The point at which a device connects to a computer • Memory-mapped I/O: CPU communicates with peripheral devices as though they were memory cells

  37. Figure 2.13 Controllers attached to a machine’s bus

  38. Figure 2.14 A conceptual representation of memory-mapped I/O

  39. Communicating with Other Devices (continued) • Direct memory access (DMA): Main memory access by a controller over the bus • Von Neumann Bottleneck: Insufficient bus speed impedes performance • Handshaking: The process of coordinating the transfer of data between components

  40. Communicating with Other Devices (continued) • Parallel Communication: Several communication paths transfer bits simultaneously. • Serial Communication: Bits are transferred one after the other over a single communication path.

  41. Chapter 3: Operating Systems

  42. Functions of Operating Systems • Oversee operation of computer • Store and retrieve files • Schedule programs for execution • Coordinate the execution of programs

  43. Evolution of Shared Computing • Batch processing • Interactive processing • Requires real-time processing • Time-sharing/Multitasking • Implemented by Multiprogramming • Multiprocessor machines

  44. Figure 3.1 Batch processing

  45. Figure 3.2 Interactive processing

  46. Types of Software • Application software • Performs specific tasks for users • System software • Provides infrastructure for application software • Consists of operating system and utility software

  47. Figure 3.3 Software classification

  48. Operating System Components • Shell: Communicates with users • Text based • Graphical user interface (GUI) • Kernel: Performs basic required functions • File manager • Device drivers • Memory manager • Scheduler and dispatcher

  49. Figure 3.4 The shell as an interface between users and the operating system

  50. File Manager • Directory (or Folder): A user-created bundle of files and other directories (subdirectories) • Directory Path: A sequence of directories within directories

More Related