Chapter 1: The Big Picture

50
Chapter 1: The Big Picture Chapter 1 The Big Picture Page 1 Communications nform tion The Layers of a Computing System Sharing information via networks Examples: Internet, World Wide Web, Wireless High-level software to solve real-world problems Examples: Spreadsheets, Games, Word Processing Manages how hardware and software interact Special programs to ensure proper flow of data and instructions Coded software instructions Designed to solve specific problems via the computer Circuitry to move the data where it needs to go Processors, memory, display monitors, etc. Digital data Binary representation of text, numerics, images, sounds, etc.

description

Chapter 1: The Big Picture. The Layers of a Computing System. Chapter 1 The Big Picture Page 1. History of Computer Science. The Abacus - PowerPoint PPT Presentation

Transcript of Chapter 1: The Big Picture

Slide 1

Chapter 1: The Big PictureChapter 1The Big PicturePage 1The Layers of a Computing SystemHistory of Computer ScienceChapter 1The Big PicturePage 2

The AbacusOriginally developed by the Babylonians around 2400 BC, this arithmetic calculating tool was also used by ancient Egyptians, Greeks, Romans, Indians, and Chinese.

The AlgorithmIn the year 825, the Persian mathematician Muhammad ibn Ms al-Khwrizm developed the concept of performing a series of steps in order to accomplish a task, such as the systematic application of arithmetic to algebra.History of Computer ScienceChapter 1The Big PicturePage 3The Analytical EngineDesigned by British mathematician Charles Babbage in the mid-19th century, this steam-powered mechanical device (never successfully built) had the functionality of todays modern computers.Binary LogicAlso in the mid-1800s, British mathematician George Boole developed a complete algebraic system that allowed computational processes to be mathematically modeled with zeros and ones (representing true/false, on/off, etc.).

History of Computer ScienceChapter 1The Big PicturePage 4ComputabilityIn the early 20th century, American mathematician Alonzo Church and British mathematician Alan Turing independently developed the thesis that a mathematical method is effective if it could be set out as a list of instructions able to be followed by a human clerk (a computer) with paper and pencil, for as long as necessary, and without ingenuity or insight.Turing MachineIn 1936, Turing developed a mathematical model for an extremely basic abstract symbol-manipulating device which, despite its simplicity, could be adapted to simulate the logic of any computer that could possibly be constructed.

History of Computer ScienceChapter 1The Big PicturePage 5Digital Circuit DesignIn 1937, Claude Shannon, an American electrical engineer, recognized that Boolean algebra could be used to arrange electromechanical relays, which were then used in telephone routing switches, to solve logic problems, the basic concept underlying all electronic digital computers.CyberneticsDuring World War II, American mathematician Norbert Wiener experimented with anti-aircraft systems that automatically interpreted radar images to detect enemy planes. This approach of developing artificial systems by examining real systems became known as cybernetics.

History of Computer ScienceChapter 1The Big PicturePage 6TransistorThe fundamental building block of the circuitry in modern electronic devices was developed in the early 1950s. Because of its fast response and accuracy, the transistor is used in a wide variety of digital and analog functions, including switching, amplification, voltage regulation, and signal modulation.Programming LanguagesIn 1957, IBM released the Fortran programming language (the IBM Mathematical Formula Translating System), designed to facilitate numerical computation and scientific computing.In 1958, a committee of European and American scientists developed ALGOL, the Algorithmic Language, which pioneered the language design features that characterize most modern languages.In 1959, under the supervision of the U.S. Department of Defense, a consortium of technology companies (IBM, RCA, Sylvania, Honeywell, Burroughs, and Sperry-Rand) developed COBOL, the Common Business-Oriented Language, to help develop business, financial, and administrative systems for companies and governments.

History of Computer ScienceChapter 1The Big PicturePage 7Operating SystemsIn 1964, IBMs System 360 mainframe computers utilized a single operating system (rather than using separate ad hoc systems for each machine) to schedule and manage the execution of different jobs on the computer.

MouseIn 1967, Stanfords Douglas Engelbart employed a wooden case and two metal wheels to invent his X-Y Position Indicator for a Display System.

History of Computer ScienceChapter 1The Big PicturePage 8Relational DatabasesIn 1969, IBMs Edgar Codd developed a table-based model for organizing data in large systems so it could be easily accessed.

Computational ComplexityIn 1971, American computer scientist Stephen Cook pioneered research into NP-completeness, the notion that some problems may not be solvable on a computer in a reasonable amount of time.SupercomputersIn 1976, Seymour Cray developed the first computer to utilize multiple processors in order to vastly accelerate the computation of extremely complex scientific calculations.Personal ComputersIn 1976, Steve Jobs and Steve Wozniak formed Apple Computer, Inc., facilitating the capability of purchasing a computer for home use.

History of Computer ScienceChapter 1The Big PicturePage 9InternetIn 1969, DARPA (the Defense Advanced Research Projects Agency) established ARPANET as a computer communication network that did not require dedicated lines between every pair of communicating terminals.By 1977, ARPANET had grown from its initial four nodes in California and Utah to over 100 nodes nationwide.In 1988, the National Science Foundation established five supercomputer centers and connected them via ARPANET in order to provide supercomputer access to academic researchers nationwide.By 1995, private sector entities had begun to find it profitable to build and expand the Internets infrastructure, so NSFNET was retired and the Internet backbone was officially privatized.

History of Computer ScienceChapter 1The Big PicturePage 10MicrosoftIn 1975, Bill Gates and Paul Allen founded the software company that would ultimately achieve numerous milestones in the history of computer science:1981: Contracted with IBM to produce DOS (Disk Operating System) for use in IBMs new line of personal computers.1985: Introduced Microsoft Windows, providing PC users with a graphical user interface, which promoted ease of use in PCs. (Resulted in look-and-feel lawsuit from Apple.)1989: Released Microsoft Office, a suite of office productivity applications, including Microsoft Word and Microsoft Excel. (Accused of unfairly exploiting its knowledge of underlying operating systems by office suite competitors.)1995: Entered Web browser market with Internet Explorer. (Criticized for security flaws and lack of compliance with many Web standards.)

Chapter 2: Binary Values andNumber SystemsChapter 2Binary Values and Number SystemsPage 11Information may be reduced to its fundamental state by means of binary numbers (e.g., on/off, true/false, yes/no, high/low, positive/negative).Bits (binary digits) are used to accomplish this. Normally, we consider a binary value of 1 to represent a high state, while a binary value of 0 represents a low state.In machines, these values are represented electronically by high and low voltages, and magnetically by positive and negative polarities.0101001101010Binary Numerical ExpressionsChapter 2Binary Values and Number SystemsPage 12Binary expressions with multiple digits may be viewed in the same way that multi-digit decimal numbers are viewed, except in base 2 instead of base 10.For example, just as the decimal number 275 is viewed as 5 ones, 7 tens, and 2 hundreds combined, the binary number 01010110 can be viewed in right-to-left fashion as...010101100 ones1 two1 four0 eights1 sixteen0 thirty-twos1 sixty-four0 one hundred twenty-eightsSo, 01010110 is equivalent to the decimal number 2 + 4 + 16 + 64 = 86010101100101011001010110010101100101011001010110010101100101011001010110Hexadecimal (Base-16) NotationChapter 2Binary Values and Number SystemsPage 13As a shorthand way of writing lengthy binary codes, computer scientists often use hexadecimal notation.For example, the binary expression 1011001011101000 may be written in hexadecimal notation as B2E8.The two expressions mean the same thing, but they are in different notations.Binary CodeHexadecimal Notation0000000011001020011301004010150110601117Binary CodeHexadecimal Notation10008100191010A1011B1100C1101D1110E1111FChapter 3: Data RepresentationChapter 3Data RepresentationPage 14Computers use bits to represent all types of data, including text, numerical values, sounds, images, and animation.How many bits does it take to represent a piece of data that could have one of, say, 1000 values?If only one bit is used, then there are only two possible values: 0 and 1.If two bits are used, then there are four possible values: 00, 01, 10, and 11.Three bits produces eight possible values: 000, 001, 010, 011, 100, 101, 110 and 111.Four bits produces 16 values; five bits produces 32; six produces 64; ...Continuing in this fashion, we see that k bits would produce 2k possible values.Since 29 is 512 and 210 is 1024, we would need ten bits to represent a piece of data that could have one of 1000 values.Mathematically, this is the ceiling of the base-two logarithm, i.e., the count of how many times you could divide by two until you get to the value one:1000/2=500500/2=250250/2=125125/2=6363/2=3232/2=1616/2=88/2=44/2=22/2=112345678910Representing Integers with BitsChapter 3Data RepresentationPage 15Twos complement notation was established to ensure that addition between positive and negative integers shall follow the logical pattern.Examples:4-Bit PatternInteger Value00000000110010200113010040101501106011174-Bit PatternInteger Value1000-81001-71010-61011-51100-41101-31110-21111-111010011+01010101-3 + 3 = 000110010+101103 + 2 = 511001101+010111-4 + -3 = -701100011+0101116 + 3 = -7???OVERFLOW!10011110+11101-7 + -2 = 7???OVERFLOW!Twos Complement Coding & DecodingHow do we code 44 in twos complement notation using 8 bits?First, write the value 44 in binary using 8 bits:00101100Starting on the right side, skip over all zeros and the first one:00101100Continue moving left, complementing each bit:11010100The result is -44 in 8-bit twos complement notation:11010100How do we decode 10110100 from twos complement into an integer?Starting on the right side, skip over all zeros and the first one: 10110100Continue moving left, complementing each bit: 01001100Finally, convert the resulting positive bit code into an integer:76So, the original negative bit code must have represented:76Chapter 3Data RepresentationPage 16Representing Real Numbers with BitsWhen representing a real number like 17.15 in binary form, a rather complicated approach is taken.Using only powers of two, we note that 17 is 24 + 20 and .15 is 2-3 + 2-6 + 2-7 + 2-10 + 2-11 + 2-14 + 2-15 + 2-18 + 2-19 + 2-22 + So, in pure binary form, 17.15 would be 10001.0010011001100110011001In scientific notation, this would be 1.0001001001100110011001 24The standard for floating-point notation is to use 32 bits. The first bit is a sign bit (0 for positive, 1 for negative). The next eight are a bias-127 exponent (i.e., 127 + the actual exponent). And the last 23 bits are the mantissa (i.e., the exponent-less scientific notation value, without the leading 1).So, 17.15 would have the following floating-point notation:0 10000011 00010010011001100110011Chapter 3Data RepresentationPage 17Representing Text with BitsASCII: American Standard Code for Information InterchangeASCII code was developed as a means of converting text into a binary notation.Each character has a 7-bit representation.For example, CAT would be represented by the bits: 1000011100000110101000000000 NUL (null) 0100000 SPACE 1000000 @ 1100000 `0000001 SOH (start of heading) 0100001 ! 1000001 A 1100001 a0000010 STX (start of text) 0100010 " 1000010 B 1100010 b0000011 ETX (end of text) 0100011 # 1000011 C 1100011 c0000100 EOT (end of transmission) 0100100 $ 1000100 D 1100100 d0000101 ENQ (enquiry) 0100101 % 1000101 E 1100101 e0000110 ACK (acknowledge) 0100110 & 1000110 F 1100110 f0000111 BEL (bell) 0100111 ' 1000111 G 1100111 g0001000 BS (backspace) 0101000 ( 1001000 H 1101000 h0001001 TAB (horizontal tab) 0101001 ) 1001001 I 1101001 i0001010 LF (NL line feed, new line) 0101010 * 1001010 J 1101010 j0001011 VT (vertical tab) 0101011 + 1001011 K 1101011 k0001100 FF (NP form feed, new page) 0101100 , 1001100 L 1101100 l0001101 CR (carriage return) 0101101 - 1001101 M 1101101 m0001110 SO (shift out) 0101110 . 1001110 N 1101110 n0001111 SI (shift in) 0101111 / 1001111 O 1101111 o0010000 DLE (data link escape) 0110000 0 1010000 P 1110000 p0010001 DC1 (device control 1) 0110001 1 1010001 Q 1110001 q0010010 DC2 (device control 2) 0110010 2 1010010 R 1110010 r0010011 DC3 (device control 3) 0110011 3 1010011 S 1110011 s0010100 DC4 (device control 4) 0110100 4 1010100 T 1110100 t0010101 NAK (negative acknowledge) 0110101 5 1010101 U 1110101 u0010110 SYN (synchronous idle) 0110110 6 1010110 V 1110110 v0010111 ETB (end of trans. block) 0110111 7 1010111 W 1110111 w0011000 CAN (cancel) 0111000 8 1011000 X 1111000 x0011001 EM (end of medium) 0111001 9 1011001 Y 1111001 y0011010 SUB (substitute) 0111010 : 1011010 Z 1111010 z0011011 ESC (escape) 0111011 ; 1011011 [ 1111011 {0011100 FS (file separator) 0111100 < 1011100 \ 1111100 |0011101 GS (group separator) 0111101 = 1011101 ] 1111101 }0011110 RS (record separator) 0111110 > 1011110 ^ 1111110 ~0011111 US (unit separator) 0111111 ? 1011111 _ 1111111 DELChapter 3Data RepresentationPage 18Fax MachinesIn order to transmit a facsimile of a document over telephone lines, fax machines were developed to essentially convert the document into a grid of tiny black and white rectangles.This important document must be faxed immediately!!!A standard 8.511 page is divided into 1145 rows and 1728 columns, producing approximately 2 million 0.0050.01 rectangles.Each rectangle is scanned by the transmitting fax machine and determined to be either predominantly white or predominantly black.We could just use the binary nature of this black/white approach (e.g., 1 for black, 0 for white) to fax the document, but that would require 2 million bits per page!Chapter 3Data RepresentationPage 19CCITT Fax Conversion CodeBy using one sequence of bits to represent a long run of a single color (either black or white), the fax code can be compressed to a fraction of the two million bit code that would otherwise be needed.length white black0 00110101 00001101111 000111 0102 0111 113 1000 104 1011 0115 1100 00116 1110 00107 1111 000118 10011 0001019 10100 00010010 00111 000010011 01000 000010112 001000 000011113 000011 0000010014 110100 0000011115 110101 00001100016 101010 000001011117 101011 000001100018 0100111 000000100019 0001100 000010011120 0001000 0000110100021 0010111 0000110110022 0000011 0000011011123 0000011 0000010100024 0101000 0000001011125 0101011 0000001100026 0010011 00001100101027 0100100 00001100101128 0011000 00001100110029 00000010 00001100110130 00000011 00000110100031 00011010 00000110100132 00011011 00000110101033 00010010 00000110101134 00010011 000011010010length white black35 00010100 00001101001136 00010101 00001101010037 00010110 00001101010138 00010111 00001101011039 00101000 00001101011140 00101001 00000110110041 00101010 00000110110142 00101011 00001101101043 00101100 00001101101144 00101101 00000101010045 00000100 00000101010146 00000101 00000101011047 00001010 00000101011148 00001011 00000110010049 01010010 00000110010150 01010011 00000101001051 01010100 00000101001152 01010101 00000010010053 00100100 00000011011154 00100101 00000011100055 01011000 00000010011156 01011001 00000010100057 01011010 00000101100058 01011011 00000101100159 01001010 00000010101160 01001011 00000010110061 00110010 00000101101062 00110011 00000110011063 00110100 00000110011164 11011 000000111128 10010 000011001000192 010111 000011001001256 0110111 000001011011320 00110110 000000110011384 00110111 000000110100length white black448 01100100 000000110101512 01100101 0000001101100576 01101000 0000001101101640 01100111 0000001001010704 011001100 0000001001011768 011001101 0000001001100832 011010010 0000001001101896 011010011 0000001110010960 011010100 00000011100111024 011010101 00000011101001088 011010110 00000011101011152 011010111 00000011101101216 011011000 00000011101111280 011011001 00000010100101344 011011010 00000010100111408 011011011 00000010101001472 010011000 00000010101011536 010011001 00000010110101600 010011010 00000010110111664 011000 00000011001001728 010011011 00000011001011792 00000001000 000000010001856 00000001100 000000011001920 00000001101 00000001101 1984 000000010010 0000000100102048 000000010011 0000000100112112 000000010100 0000000101002176 000000010101 0000000101012240 000000010110 0000000101102304 000000010111 0000000101112368 000000011100 0000000111002432 000000011101 0000000111012496 000000011110 0000000111102560 000000011111 000000011111Chapter 3Data RepresentationPage 20Binary Code InterpretationChapter 3Data RepresentationPage 21How is the following binary code interpreted?10100111101111010000011001011100001111001111110010101110In programmers shorthand (hexadecimal notation)10100111101111010000011001011100001111001111110010101110A7BD065C3CFCAEAs ASCII text10100111101111010000011001011100001111001111110010101100So(space)easy.As CCITT fax conversion code101009 white112 black1101164 white11010014 white000117 black001011121 white000011112 black100116 white112 black11005 white103 black10114 white103 blackAs a twos complement integer...The negation of 01011000010000101111100110100011110000110000001101010010(21+24+26+28+29+216+217+222+223+224+225+229+231+232+235+236+237+238+239+241+246+251+252+254)-24,843,437,912,294,226Representing Audio Data with BitsChapter 3Data RepresentationPage 22

Audio files are digitized by sampling the audio signal thousands of times per second and then quantizing each sample (i.e., rounding off to one of several discrete values).

The ability to recreate the original analog audio depends on the resolution (i.e., the number of quantization levels used) and the sampling rate.Representing Still Images with BitsChapter 3Data RepresentationPage 23Digital images are composed of three fields of color intensity measurements, separated into a grid of thousands of pixels (picture elements) .

The size of the grid (the images resolution) determines how clear the image can be displayed.2 24 48 816 1632 3264 64128 128256 256512 512RGB Color RepresentationChapter 3Data RepresentationPage 24In digital display systems, each pixel in an image is represented as an additive combination of the three primary color components: red, green, and blue.

TrueColor ExamplesRedGreenBlueResult255185025501852551251251852550025518512525512518502550185255125125255Printers, however, use a subtractive color system, in which the complementary colors of red, green, and blue (cyan, magenta, and yellow) are applied in inks and toners in order to subtract colors from a viewers perception.Compressing Images with JPEG

The Joint Photographic Experts Group developed an elaborate procedure for compressing color image files:First, the original image is split into 88 squares of pixels.Each square is split into three 88 grids indicating the levels of lighting and blue and red coloration the square contains.

Chapter 3Data RepresentationPage 25After rounding off the values in the three grids in order to reduce the number of bits needed, each grid is traversed in a zig-zag pattern to maximize the chances that consecutive values will be equal, which, as occurred in fax machines, reduces the bit requirement even further.Depending on how severely the values were rounded, the restored image will either be a good representation of the original (with a high bit count) or a bad representation (with a low bit count).Representing Video with BitsVideo images are merely a sequence of still images, shown in rapid succession.Chapter 3Data RepresentationPage 26

One means of compressing such a vast amount of data is to use the JPEG technique on each frame, thus exploiting each images spatial redundancy. The resulting image frames are called intra-frames.Video also possesses temporal redundancy, i.e., consecutive frames are usually nearly identical, with only a small percentage of the pixels changing color significantly. So video can be compressed further by periodically replacing several I-frames with predictive frames, which only contain the differences between the predictive frame and the last I-frame in the sequence. P-frames are generally about one-third the size of corresponding I-frames.The Motion Picture Experts Group (MPEG) went even further by using bidirectional frames sandwiched between I-frames and P-frames (and between consecutive P-frames). Each B-frame includes just enough information to allow the original frame to be recreated by blending the previous and next I/P-frames. B-frames are generally about half as big as the corresponding P-frames (i.e., one-sixth the size of the corresponding I-frames).Chapter 4: Gates and CircuitsChapter 4Gates and CircuitsPage 27The AND Operation (i.e., are both operands true?)1AND 111AND 000AND 100AND 0010101001AND 100111001000100000001111AND 1011010100000101The OR Operation (i.e., is either operand true?)1OR 111OR 010OR 110OR 0010101001OR 100111001011110100001111OR 1011010110111111The following Boolean operations are easy to incorporate into circuitry and can form the building blocks of many more sophisticated operationsThe NOT Operation (i.e., whats the opposite of the operands value?)NOT 1 = 0NOT 0 = 1NOT 10101001 = 01010110NOT 00001111 = 11110000

More Boolean OperatorsChapter 4Gates and CircuitsPage 28The NAND Operation (NOT AND)1NAND 101NAND 010NAND 110NAND 0110101001NAND 100111000111011100001111NAND 1011010111111010The NOR Operation (NOT OR)1NOR 101NOR 000NOR 100NOR 0110101001NOR 100111000100001000001111NOR 1011010101000000The XOR Operation (Exclusive OR, i.e, either but not both is true)1XOR 101XOR 010XOR 110XOR 0010101001XOR 100111000011010100001111XOR 1011010110111010

TransistorsChapter 4Gates and CircuitsPage 29

Transistors are relatively inexpensive mechanisms for implementing the Boolean operators.In addition to the input connection (the base), transistors are connected to both a power source and a voltage dissipating ground.Essentially, when the input voltage is high, an electric path is formed within the transistor that causes the power source to be drained to ground.When the input voltage is low, the path is not created, so the power source is not drained.Using Transistors to Create Logic GatesChapter 4Gates and CircuitsPage 30A NOT gate is essentially implemented by a transistor all by itself.A NAND gate uses a slightly more complex setup in which both inputs would have to be high to force the power source to be grounded.

A NOR gate grounds the power source if either or both of the inputs are high.

Use the output of a NAND gate as the input to a NOT gate to produce an AND gate.

Use the output of a NOR gate as the input to a NOT gate to produce an OR gate.How to Use Logic Gates for ArithmeticChapter 4Gates and CircuitsPage 31ANDs and ORs are all well and good, but how can they be used to produce binary arithmetic?Lets start with simple one-bit addition (with a carry bit just in case someone tries to add 1 + 1!).SumBitCarryBit0+0=000+1=101+0=101+1=01Result0XOR0=00XOR1=11XOR0=11XOR1=0Result0AND0=00AND1=01AND0=01AND1=1Notice that the sum bit always yields the same result as the XOR operation, and the carry bit always yields the same result as the AND operation!By combining the right circuitry, then, multiple-bit addition can be implemented, as well as the other arithmetic operations.Memory CircuitryChapter 4Gates and CircuitsPage 32With voltages constantly on the move, how can a piece of circuitry be used to retain a piece of information?

In the S-R latch, as long as the S and R inputs remain at one, the value of the Q output will never change, i.e., the circuit serves as memory!To set the stored value to one, merely set the S input to zero (for just an instant!) while leaving the R input at one.To set the stored value to zero, merely set the R input to zero (for just an instant!) while leaving the S input at one.Question: What goes wrong if both inputs are set to zero simultaneously?Chapter 5: Computing ComponentsChapter 5Computing ComponentsPage 33

In the 1940s and 1950s, John von Neumann helped develop the architecture that continues to be used in the design of most modern computer systems.Control Unit, Coordinating CPU ActivityArithmetic/Logic Unit, Processing DataCentral Processing Unit (CPU)Chapter 5Computing ComponentsPage 34

Bus Interface UnitInformation from the RAM enters the CPU here , and then it is sent to separate storage units or cacheCode CacheStorage for instructions for deciphering dataBranch Predictor UnitDecides which ALU can best handle specific data & divides the tasksInstruction Prefetch & Decoding UnitTranslates data into simple instructions for ALU to processArithmetic Logic UnitWhole number cruncherFloating Point UnitFloating-point number cruncherInstruction RegisterProvides the ALUs with processing instructions from the data cacheData CacheSends data from ALUs to Bus Interface Unit, and then back to RAMSimplified View of the CPUChapter 5Computing ComponentsPage 35CPUALUCircuitry that manipulates the dataRegistersSpecial memory cells to temporarily store the data being manipulatedControl UnitCircuitry to coordinate the operation of the computerBusRAMThe Processing CycleChapter 5Computing ComponentsPage 36MAIN MEMORYCONTROL UNITARITHMETIC/LOGIC UNITDECODE instruction to determine what to doFETCH the next instruction from main memoryEXECUTE the decoded instructionSTORE the result in main memorySample Machine ArchitectureChapter 5Computing ComponentsPage 37CPUALUBusRegistersFEDCBA9876543210Control UnitProgram Counter(Keeps track of the address of the next instruction to be executed)Instruction Register(Contains a copy of the 2-byte instruction currently being executed)Main Memory Cells11100F0E0D0C0B0A09080706050403020100FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEE::::Random Access Memory (RAM)Chapter 5Computing ComponentsPage 38

Whenever a computer accesses information (e.g., a program thats being executed, data thats being examined), that information is stored as electronic pulses within main memory.Main memory is a system of electronic circuits known as random access memory (RAM), the idea being that the user can randomly access any part of memory (as long as the location of whats being accessed is known).The circuitry in main memory is usually dynamic RAM, meaning that the binary values must be continuously refreshed (thousands of times per second) or the charge will dissipate and the values will be lost.Cache MemoryChapter 5Computing ComponentsPage 39

Due to the need for continuous refreshing, dynamic RAM is rather slow. An alternative approach is static RAM, which uses flip-flop circuitry that doesnt waste time refreshing the stored binary values.Static RAM is much faster than dynamic RAM, but is much more expensive. Consequently, it is used less in most machines.Cache memory uses static RAM as the first place to look for information and as the place to store the information that was most recently accessed (e.g., the current program being executed).Magnetic MemoryChapter 5Computing ComponentsPage 40When the power is turned off, a computers electronic memory devices immediately lose their data. In order to store information on a computer when its turned off, some non-magnetic storage capability is required.Most computers contain hard drives, a system of magnetic platters and read-write heads that detect the polarity of the magnetic filaments beneath them (i.e., reading the bit values) and induce a magnetic field onto the filaments (i.e., writing the bit values).

Disk Tracks and SectorsChapter 5Computing ComponentsPage 41Each platter is divided into concentric circles, called tracks, and each track is divided into wedges, called sectors.The read-write head moves radially towards and away from the center of the platter until it reaches the right track.The disk spins around until the read-write head reaches the appropriate sector.

Optical MemoryChapter 5Computing ComponentsPage 42Compact Disks Read-Only Memory (CD-ROMs) use pitted disks and lasers to store binary information.When the laser hits an unpitted land, light is reflected to a sensor and interpreted as a 1-bit; when the laser hits a pit, light isnt reflected back, so its interpreted as a 0-bit.

Digital Versatile Disks (DVDs) use the same pits-and-lands approach as CD-ROMs, but with finer gaps between tracks and pits, resulting in over four times the storage capacity as CD-ROMs.

Flash MemoryChapter 5Computing ComponentsPage 43Universal Serial Bus (USB) Connector to Host ComputerUSB Mass Storage ControllerTest Points for Verifying Proper LoadingFlash Memory ChipCrystal Oscillator to Produce Clock SignalLEDs to Indicate Data TransfersWrite-Protect SwitchSpace for Second Flash Memory ChipRecent advances in memory circuitry have made it possible to develop portable electronic devices with large memory capacities.Flash memory is Electrically Erasable Programmable Read-Only Memory (EEPROM):Read-Only Memory: Non-volatile (retains data even after power is shut off), but difficult to alter.Programmable: Programs arent added until after the device is manufactured, by blowing all fuses for which a 1-value is desired.Electrically Erasable: Erasing is possible by applying high electric fields.Input Device: KeyboardChapter 5Computing ComponentsPage 44

One of the principal devices for providing input to a computer is the keyboard.When a key is pressed, a plunger on the bottom of the key pushes down against a rubber domethe center of which completes a circuit within the keyboard, resulting in the CPU being signaled regarding which key (or keys) has been pressed.Input Device: MouseChapter 5Computing ComponentsPage 45

Moving the mouse turns the ballX and Y rollers grip the ball and transfer movementOptical encoding disks include light holesInfrared LEDs shine through the disksSensors gather light pulses to convert to X and Y velocitiesThe mouse driver software processes the X and Y data and transfers it to the operating systemThe other primary input device is the computer mouse.Mechanical Mouse

Optical MouseOptical mice use red LEDs (or lasers) to illuminate the surface beneath the mouse, and sensors detect the subtle changes that indicate how much and in what direction the mouse is being moved.Output Device: Cathode Ray Tube (CRT)Chapter 5Computing ComponentsPage 46

Electron GunsA heating filament releases electrons from a cathode, which flow through a control grid (controlling brightness)Focusing CoilThe magnetic coil forces the electron flows to focus into tight beamsDeflection CoilsThese magnetic plates deflect the beams horizontally and vertically to particular screen coordinatesAnode ConnectionThe positive charge on the anode attracts the electrons and accelerates them forwardsShadow MaskA perforated metal sheet halts stray electrons and ensures that beams focus upon target phosphorsPhosphor-Coated ScreenEach pixel is comprised of a triad of RGB phosphors that are illuminated by the three electron beamsOutput Device: Liquid Crystal DisplayChapter 5Computing ComponentsPage 47Light Source

Horizontal PolarizerConverts light into horizontal shaftsThin Film TransistorApplies charge to individual subpixelTwisted Nematic Liquid CrystalsTwists shaft of light 90 when uncharged, 0 when fully chargedColor FilterProvides red, green, or blue color to resulting lightVertical PolarizerAmount of light permitted to pass is proportional to how close to vertical its shafts areOutput Device: Plasma DisplayChapter 5Computing ComponentsPage 48

Front Plate GlassDielectric LayerContains transparent address electrodes, arranged in long horizontal rowsRear Plate GlassDielectric LayerContains transparent display electrodes, arranged in long vertical columnsPlasma CellsPhosphor coating is excited by plasma ionization and photon releasePixelComprised of three plasma cells, one of each RGB phosphor coatingInput/Output Device: Touch ScreenChapter 5Computing ComponentsPage 49CapacitiveSmall amounts of voltage are applied to the four corners of the screen.Touching the screen draws current from each corner, and a controller measures the ratio of the four currents to determine the touch location.ResistiveThe glass layer has an outer coating of conductive material, and insulating dots separate it from a flexible membrane with an inner conductive coating.When the screen is touched, the two conductive materials meet, producing a locatable voltage.

InfraredA small frame is placed around the display, with infrared LEDs and photoreceptors on opposite sides.Touching the screen breaks beams that identify the specific X and Y coordinates.

AcousticFour ultrasonic devices are placed around the display.When the screen is touched, an acoustic pattern is produced and compared to the patterns corresponding to each screen position.

Parallel ProcessingChapter 5Computing ComponentsPage 50Traditional computers have a single processor. They execute one instruction at a time and can deal with only one piece of data at a time. These machines are said to have SISD (Single Instruction, Single Data) architectures.When multiple processors are applied within a single computer, parallel processing can take place. There are two basic approaches used in these supercomputers:SIMD (Single Instruction, Multiple Data) ArchitecturesEach processor does the same thing at the same time to its own portion of the dataExample: Have the processors perform the graphics rendering for different sectors of the viewscreen:

MIMD (Multiple Instruction, Multiple Data) ArchitecturesAt any given moment, each processor does its own task to its own portion of the dataExample: Have some processors retrieve data, some perform calculations, and some render the resulting images: