Computer Science An Overview 13th Edition, Global Edition PDF
Document Details
Uploaded by ExultantIrrational
2019
J. Glenn Brookshear Dennis Brylow
Tags
Summary
This is a Computer Science textbook, 13th edition, covering fundamental concepts such as data storage, Boolean operations, and computer architecture. The textbook is for an undergraduate level and is from Pearson Education.
Full Transcript
Computer Science An Overview 13th Edition, Global Edition Chapter 1 Data Storage Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Chapter 1: Data Storage 1.1...
Computer Science An Overview 13th Edition, Global Edition Chapter 1 Data Storage Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Chapter 1: Data Storage 1.1 Bits and Their Storage 1.2 Main Memory 1.3 Mass Storage 1.4 Representing Information as Bit Patterns 1.5 The Binary System (bör ni kunna sedan tidigare) Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Chapter 1: Data Storage (continued) 1.6 Storing Integers (kan ni sedan tidigare) 1.7 Storing Fractions (bör känna till sedan tidigare, räcker med grunden: mantissa och exponent) 1.8 Data & Programming (kan ni sedan tidigare) Tas inte upp på föreläsningen – läs dock själv! 1.9 Data Compression 1.10 Communications Errors Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. 1.1 Bits and Their Storage Bit: Binary Digit (0 or 1) Bit Patterns are used to represent information – Numbers – Text characters – Images – Sound – And others Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Boolean Operations Boolean Operation: An operation that manipulates one or more true/false values Specific operations – AND – OR – XOR (exclusive or) – NOT Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.1 The possible input and output values of Boolean operations AND, OR, and XOR (exclusive or) Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Gates Gate: A device that computes a Boolean operation – Often implemented as small electronic circuits called transistors – Can be constructed from a variety of other technologies – Provide the building blocks from which computers are constructed – VLSI (Very Large Scale Integration) Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.2 A pictorial representation of AND, OR, XOR, and NOT gates as well as their input and output values Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Flip-flops Circuits built from gates that act as a fundamental unit of computer memory – 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 Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.3 A simple flip-flop circuit Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.4 Setting the output of a flip-flop to 1 Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.4 Setting the output of a flip-flop to 1 (continued) Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.4 Setting the output of a flip-flop to 1 (continued) Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.5 Another way of constructing a flip-flop Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. 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: 10110101 becomes 0xB5 Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.6 The hexadecimal coding system Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. 1.2 Main Memory Cell: A unit of main memory (typically 8 bits which is one byte) – Most significant bit: the bit at the left (high-order) end – Least significant bit: the bit at the right (low-order) end Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.7 The organization of a byte-size memory cell Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. 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. Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.8 Memory cells arranged by address Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. 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 Arbetsminnet måste hela tiden uppdateras “refresh” annars försvinner data trots att strömmen är på. Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Measuring Memory Capacity Kilobyte: 210 bytes = 1024 bytes – Example: 3 KB = 3 times1024 bytes Megabyte: 220 bytes = 1,048,576 bytes – Example: 3 MB = 3 times 1,048,576 bytes Dvs 3 MB = 3 * 1024 * 1024 Gigabyte: 230 bytes = 1,073,741,824 bytes – Example: 3 GB = 3 times 1,073,741,824 bytes Dvs 3 GB = 3 * 1024 * 1024 * 1024 Så lägg 1024 på minnet och använd det för att räkna ut vad det blir Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. 1.3 Mass Storage Additional devices: – Magnetic disks – Magnetic tapes – CDs – Flash drives – DVDs – Solid-state drives Advantages over main memory – Less volatility – Larger storage capacities – Low cost – In many cases can be removed Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Mass Storage Performance Bandwidth: The total amount of bits that can be transferred in a unit of time Latency: The total time between the request for data transfer and its arrival Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.9 A magnetic disk storage system Att tänka på: Åtkomsttider, fragmentering.. Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.10 CD storage Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Flash Drives Flash Memory – circuits that traps electrons in tiny silicon dioxide chambers Repeated erasing slowly damages the media Mass storage of choice for: – Digital cameras – Smartphones SD Cards provide GBs of storage Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. 1.4 Representing Information as Bit Patterns Many different kinds of information can be encoded as bit patterns Systems for encoding information have been established for – Text – Numeric Data – Images – Sound – Other data Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. 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 – ISO developed a number of 8 bit extensions to ASCII, each designed to accommodate a major language group – Unicode: Uses patterns up to 21-bits to represent the symbols used in languages world wide, 16-bits for world’s commonly used languages Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.11 The message “Hello.” in ASCII or UTF-8 encoding Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Representing Numeric Values Binary notation: Uses bits to represent a number in base two – All numeric values in a computer are stored in sequences of 0s and 1s – Counting from 0 to 8: – 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000 Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Representing Images Bit map techniques – Pixel: “picture element” represents one dot – RGB: Red, Green, and Blue components – Luminance and chrominance – Problems with scaling up images Vector techniques – Represent images with geometric structures – Scalable – TrueType and PostScript Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Representing Sound Sampling techniques that record actual audio – Long-distance telephone: 8000 samples/sec – CD sound: 44,100 samples/sec MIDI stores directions for making sound – Used in music synthesizers – Encodes which instrument, note, and duration Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.12 The sound wave represented by the sequence 0, 1.5, 2.0, 1.5, 2.0, 3.0, 4.0, 3.0, 0 Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Slut på föreläsningen.. Hit var med på föreläsningen. Resten blir självstudier. Kolla i innehåll på blad 2 för vad som är viktigast Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. 1.5 The Binary System The traditional decimal system is based on powers of ten. The Binary system is based on powers of two. Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.13 The base ten and binary systems Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.14 Decoding the binary representation 100101 Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.15 An algorithm for finding the binary representation of a positive integer Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.16 Applying the algorithm in Figure 1.15 to obtain the binary representation of thirteen Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.17 The binary addition facts Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.18 Decoding the binary representation 101.101 Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. 1.6 Storing Integers Two’s complement notation: The most popular means of representing integer values Excess notation: Another means of representing integer values Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.19 Two’s complement notation systems Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.20 Coding the value -6 in two’s complement notation using four bits Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.21 Addition problems converted to two’s complement notation Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. The Problem of Overflow There is a limit to the size of the values that can be represented in any system Overflow – occurs when a computation produces a value that falls outside the range of values that can be represented in the machine – If the resulting sign bit is incorrect, an overflow has occurred – 16 bit systems have been upgraded to 32 bit systems Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.22 An excess eight conversion table Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.23 An excess notation system using bit patterns of length three Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. 1.7 Storing Fractions Floating-point Notation: Consists of a sign bit, a mantissa field, and an exponent field. – Normalized form: fill the mantissa starting with the left-most 1 Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.24 Floating-point notation components Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.25 Encoding the value 2 5⁄8 Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Truncation (Round-off) Errors Occur when part of the value being stored is lost because the mantissa is not large enough Non-terminating expansions of fractions – This happens more often with binary notation – The value of one-tenth cannot be stored exactly binary notation – Often these values are converted to integers Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Numerical Analysis The study of dealing with problems when computing large values that require significant accuracy The order in which values are added can lead to two different results Adding very small values to very large values can result in errors Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. 1.8 Data and Programing A programming language is a computer system created to allow humans to precisely express algorithms using a higher level of abstraction. Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Getting Started with Python Python: a popular programming language for applications, scientific computation, and as an introductory language for students Freely available from www.python.org Python is an interpreted language – Typing: print('Hello, World!') – Results in: Hello, World! Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Variables Variables: name values for later use Analogous to mathematic variables in algebra s = 'Hello, World!' print(s) my_integer = 5 my_floating_point = 26.2 my_Boolean = True my_string = 'characters' my_integer = 0xFF Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Operators and Expressions print(3 + 4) # Prints 7 print(5 – 6) # Prints -1 print(7 * 8) # Prints 56 print(45 / 4) # Prints 11.25 print(2 ** 10) # Prints 1024 s = 'hello' + 'world' s = s * 4 print(s) Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Currency Conversion # A converter for currency exchange. USD_to_GBP = 0.66 # Today's exchange rate GBP_sign = '\u00A3' # Unicode value for £ dollars = 1000 # Number dollars to convert # Conversion calculations pounds = dollars * USD_to_GBP # Printing the results print('Today, $' + str(dollars)) print('converts to ' + GBP_sign + str(pounds)) Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Debugging Syntax errors print(5 +) SyntaxError: invalid syntax pront(5) NameError: name 'pront' is not defined Semantic errors – Incorrect expressions like total_pay = 40 + extra_hours * pay_rate Runtime errors – Unintentional divide by zero Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. 1.9 Data Compression Lossy versus lossless Run-length encoding Frequency-dependent encoding (Huffman codes) Relative encoding Dictionary encoding (Includes adaptive dictionary encoding such as LZW encoding.) Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Compressing Images GIF: Good for cartoons JPEG: Good for photographs TIFF: Good for image archiving Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Compressing Audio and Video MPEG – High definition television broadcast – Video conferencing MP3 – Temporal masking – Frequency masking Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. 1.10 Communication Errors Goal: To reduce errors and increase the reliability of computing equipment Parity bits (even versus odd) Checkbytes Error correcting codes – Hamming Distance Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.26 The ASCII codes for the letters A and F adjusted for odd parity Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.27 An error-correcting code Copyright © 2019 Pearson Education, Ltd. All Rights Reserved. Figure 1.28 Decoding the pattern 010100 using the code in Figure 1.27 Copyright © 2019 Pearson Education, Ltd. All Rights Reserved.