What’s a Computer? Analog, Digital does it matter? • Technically there are two categories of computers, analog or digital. • Designs reflect two different ways to look at or analyze the world. Copyright © 2008 by Helene G. Kershner What’s a Computer? Analog, Digital does it matter? • Analog device – operates with measurements that are continuous such a voltage, temperature and rotation. – Speedometer in your car – Traditional thermometer – Classic clock • An Analog computer uses analog measurements in it’s calculations. Analog measurements are “physical phenomena such as electrical, mechanical, or hydraulic quantities to model the problem being solved.” (http://en.wikipedia.org/wiki/Analog_computer) – Very fast – Somewhat inaccurate – Difficult to replicate results, can you spin a wheel at exactly the same rate twice in a row? Copyright © 2008 by Helene G. Kershner What’s a Computer? Analog, Digital does it matter? • This device is a Harmonium. It is a mechanical, analog computer designed analyze sine waves used in Fournier Analysis. What’s a Computer? Analog, Digital does it matter? • Digital Computer – – – – Information is represented by counting This is what we think of as a computer. All information used by the machine is in one of two states ON (1) or Off (0). • Things we can count include: – – – • • Change from a dollar Number of students registered in CSE 111 Tuition in dollars Highly flexible Easy to replicate Copyright © 2008 by Helene G. Kershner What’s a Computer? Analog, Digital does it matter? • Moving from Analog to Digital • Digital Age – Clock • Hands moving in a circle digits on a screen – Telephone • 10 digits in a circle, distance from beginning was used to represent the digit push a button • Voice as a sound wave voice as a pattern of pulses – Television and Movies • Pictures as a series of light waves pictures as a pattern of dots (pixels). • It is all about speed and ability to replicate results Copyright © 2008 by Helene G. Kershner What’s a Computer? The Binary Machine • Computers “speak” a very simple language – – – – – Two digits – 0 and 1 Don’t really understand the data or instructions they are given Know how to “follow” them -- circuit path The 1 state, current is present -- ON The 0 state, current is absent – OFF • Binary -- The entire language of mathematics can be converted into a system that just uses 0s and 1s. Copyright © 2008 by Helene G. Kershner What’s a Computer? The Binary Machine • Computers use Binary – (0,1) – Base 2 • People do not – we use Decimal – (0,1,2,3,4,5,6,7,8,9) – Base 10 – Perhaps this is because we have 10 finger and 10 toes • Modern computers take in decimal number and letters – Translate them into 0s and 1s – Do whatever they do – “Magic” – Give us the results in a way human understand Copyright © 2008 by Helene G. Kershner What’s a Computer? The Binary Machine • In decimal every number is represented as the digits 0-9 In binary every number is represented as the digits 0-1 • – Decimal to Binary conversion Decimal Binary -0-1-2-3-4-5-6-7-8-9- 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 Copyright © 2008 by Helene G. Kershner What’s a Computer? The Binary Machine • For people in the know – - 0 - 0000 - 1 - 0001 - 2 - 0010 http://www.thinkgeek.com/tshirts/frustrations/5aa9/zoom/ Copyright © 2008 by Helene G. Kershner What’s a Computer? The Binary Machine • BIT for Binary Digit -- each 0 or 1 in the binary system – Single bit is not overly useful • BYTE – a group of bits (usually 8) – Each byte represents one character of data • Numbers, letters, special characters (%, $, # etc.) • Letter, numbers and symbols are the form we use to represent information. • WORD – the number of bits that can be processed at one time by the central processing unit (the “brain”) of the computer. – Early computers – Apple II – 8 bit Words – Modern machines – can process up to 64 bits/word Copyright © 2008 by Helene G. Kershner What’s a Computer? The Binary Machine • Computers are described by amount of processing memory they contain – Usually described in terms of bytes (K ~ 1000 bytes) • Megabyte or megs [MB]= ~1000K or ~1 million bytes • Gigabyte or gigs [GB] = ~1000MB or ~1 billion bytes • Terabyte = ~1000GB or ~1 trillion bytes • The notation has gained common usage – Earn 100K – House is priced at 450K Copyright © 2008 by Helene G. Kershner What’s a computer? • For many a computer is a “black box”! – Incredible machine that works mysteriously – How is of little consequence. – Magic? Copyright © 2008 by Helene G. Kershner What’s a computer? Basic parts Input & Output Input Central Processing Unit Brains Memory Output Input & Output computer.howstuffworks.com/cd.htm, staples.com, dell.com Copyright © 2008 by Helene G. Kershner What’s a computer? Basic parts • Every computer is made up of the following components: – A Central Processing Unit • Arithmetic & Logic Unit • Control Unit – Memory • Primary Memory (Usually called RAM) • Secondary Memory or Mass Storage (Disk drives) – Input and Output Devices Copyright © 2008 by Helene G. Kershner What’s a computer? Processing Unit Brains of the Machine • Central Processing Unit -– Arithmetic and Logic Unit (ALU) – Control Unit • Associated Primary Memory Working together these are the core or any computer. Size doesn’t matter! Copyright © 2008 by Helene G. Kershner What’s a computer? Central Processing Unit • Arithmetic & Logic Unit – As the name implies performs two functions: – Arithmetic • Responsible for performing the arithmetic operations of addition, subtraction, multiplication and division – Logic • Makes simple “decisions” by comparing alternatives and choosing between them – Less than, greater than, equal to – AND, OR and NOT Copyright © 2008 by Helene G. Kershner What’s a computer? Control Unit • The arithmetic and logic unit is responsible for mathematical calculations and comparisons. • The Control Unit is the computer’s internal coordinator – Traffic Cop – Sends out electronic signals directing the computer to perform specific tasks such as: • • • • Move data between memory and the CPU Activating the ALU Receiving data Sending information to an output device – The control unit manages the flow of data throughout the machine based on the instructions it receives from programs. Copyright © 2008 by Helene G. Kershner Using Binary Coding Information Remember Bit = 0 or 1, Binary Digit Byte = the number of bits used to represent letters, numbers and special characters such as $ # , / &. Word = number of bytes a computer can process at one time by the CPU. So, Bits form Bytes and Bytes form Words. Copyright © 2008 by Helene G. Kershner Using Binary Coding Information Two common formats for coding letters, numbers and special characters are: ASCII -- American Standard Code for Information Interchange 7 bit code Originally used on non-IBM systems Basis of most currently used systems EBCDIC -- Extended Binary Coded Decimal Interchange Code 8 bit code Originally used in IBM mainframes ASCII exists NOT because it makes more sense (which it does) but because it was an economic necessity. Copyright © 2008 by Helene G. Kershner Using Binary Coding Information Coding in EBCDIC and ASCII: Letters We know certain facts about letters They have an implied ordering This ordering must be maintained when letters are translated into 0’s and 1’s inside the computer Numbers Numbers clearly have a mathematical order Numerical ordering must also be maintained when represented as 0’s and 1’s inside the computer Copyright © 2008 by Helene G. Kershner Using Binary Coding Information Codes are organized so that mathematics makes sense They are ordered so that each subsequent number is larger than the one before. 7 > 5 In ASCII In EBCDIC 011 0111 > 011 0101 1111 0111 > 1111 0110 Copyright © 2008 by Helene G. Kershner Using Binary Coding Information Codes are designed so that the ordering of English letters makes sense. ABCDEF… UVWXYZ Over time we consider this ordering to be fixed The implication is that we can compare letters and that certain letters appear before others in the alphabet. For Example: A < F and X > F ASCII and EBCDIC code letters so that this concept remains valid. Copyright © 2008 by Helene G. Kershner Using Binary Coding Information Codes are designed so that the ordering of English letters makes sense. A < F In ASCII 100 0001 < 100 0110 In EBCDIC 1100 0001 < 1100 0110 X>F In ASCII 101 1000 > 100 0110 In EBCDIC 1110 0111 > 1100 0110 Copyright © 2008 by Helene G. Kershner Using Binary Coding Information Codes are designed so that the ordering of English letters makes sense. At the time of its creation, it was argued that ASCII was a more rational coding scheme based on the way it codes letters. Both ASCII and EBCDIC are limiting Both can code all of English and most Romance languages. As computer use has expanded both became incomplete ASCII is still the foundation for text based email on most computers UNICODE Designed to provide a single coding system for every character in every natural language The Internet uses UNICODE Copyright © 2008 by Helene G. Kershner Using Binary Coding Information Error Checking Transmission errors are a fact of computer life Think of the game of Telephone Power interruptions happen Life happens GIGO What can be done to reduce or repair errors in transmitted characters? Copyright © 2008 by Helene G. Kershner Using Binary Coding Information Parity – In common English, Parity means two things are equal. How could this be applied to error checking? With computers it applies to a special bit added to each byte before it is transmitted to another computer to allow the receiving machine to check on the accuracy of the transmission. Copyright © 2008 by Helene G. Kershner Using Binary Coding Information Odd Parity Look at byte, attach either a 0 or a 1 to force the byte to be odd Examine the byte coded to mean Z In ASCII 101 1010 Count the number of 1s, there are 4, 4 is even, the parity bit is set to one (1) to make the string of bits odd. The byte is coded 1 101 1010 EBCDIC does it similarly, by adding a digit at the end. Copyright © 2008 by Helene G. Kershner