180 likes | 308 Views
ITEC 352. Lecture 34 Communications. Review. USB How did you like the material (1-10) from bad to good What did you learn? Differences between bus types Electricity level Packet level Code level. Due date: Next Wednesday at 10:00PM. P3. Write a paper on a topic relevant to this class
E N D
ITEC 352 Lecture 34 Communications
Review • USB • How did you like the material (1-10) from bad to good • What did you learn? • Differences between bus types • Electricity level • Packet level • Code level
Due date: Next Wednesday at 10:00PM P3 • Write a paper on a topic relevant to this class • Goal: Investigate new technology, make a case on what to adopt • Have at least 3 different sources • Compare and contrast with another product or approach (i.e. PPC versus P4 CPU) • Good • There are certain situations where each CPU trumps the other, however due to the long pipeline of the P4 the PPC CPU is a better fit for a codebase that relies heavily on branching. • Bad • P4 is better because it has more MHZ. • Length 2-3 pages double spaced
Rubric Well written = Clear, concise, easy to understand • 78 points (HW + Project) • Rubric (A gets 100%, B gets 89%, etc…) • A – Meets all requirements and is well written • B – Meets most of the requirements but may contain some grammatical errors and/or may not be as well written • C – Grammatical errors common and several requirements are not met in some way • D/F – Barely any effort invested (i.e. project images take up ½ a page)
Plan • Communications + Misc. topics this week • Next week • M – Ethics of computer organization • W – Review of semester • F – Question / Answer session
Communication • We will look into: • Types of signals that are used to exchange messages. • Type of messages sent using the signals (how are the bits transmitted from one component to another). • What happens if the message we send ends up with an error: error correcting codes.
Types of signals • The ability for one computing component to talk to another component. • This requires that the components send each other “signals” • There are many of sending signals. We hear these terms often: • AM, FM, PM, PCM etc… • We know what AM and FM are….
Amplitude Modulation • What is the amplitude of a signal? • Diagram on board. • Amplitude is the height of the wave from 0 position. • What is modulation? • AM: Consider a brand new and the coolest radio station in town: 352CoolAM: your one stop radio station for all the news on computer architecture. Suppose we want to transmit music from this station. • The station first plays the music from say a CD player • A wave corresponding to the music comes out. This is called the “signal wave” • The station then has to transmit the music across the air. • It pays for a frequency that it can reserve for itself. • This frequency is in the form of another wave called carrier wave. • You then “add” the signal wave to the carrier wave, in order to get the AM signal. • In other words, you are changing (or dampening) the amplitude of the carrier wave to obtain the signal.
Frequency modulation • In the wave on the board, what is the frequency? • The thickness of the wave. • Just like AM, FM changes the wave – • But unlike AM it changes the frequency • Advantage: Frequency is not effected (as much as amplitude) by noise or by obstructions (e.g., a bridge or an electricity pole).
Modem Communication • • Communication over a telephone line with modems:
Modulation Schemes for digital signal waves • Consider a digital signal wave – this has only 1’s and 0’s. The AM, FM and PM waves after modulation look like the figures shown below. • These represent the 0’s in the digital signal. • The amplitude is different between waves for 0 and 1 • Notice that the frequencies are same for both 0’s and 1’s • These represent the 0’s in the digital signal. • Notice that the amplitude is same for both 0’s and 1’s Amplitude Frequency
Pulse Code Modulation (PCM) Each of these is a sampling of the signal wave • Conversion of an analog signal into a PCM binary sequence: analog signal wave is sampled multiple times (in this case twice) 011 The amplitudes of each sample form the PCM sequence 011
Transmission Media • • Transmisson media. (a) Two-wire open lines; (b) twisted-pair lines; (c) coaxial cable; (d) optical fiber; (e)satellites.
Error correction • Signal waves may have errors in them • Errors can be due to noise introduced during transmission (e.g., a bit 1 in a PCM wave may change to bit 0). • Errors can also be due to problems with transmission media or due to collisions with other messages etc.. • It is important for a receiver of a signal to be able to • At least detect errors, and, • Preferably correct them.
Options • Consider a PCM signal wave sent by a sender • Sender sends: 011 110 011 001 100 • Receiver receives: 111 110 011 001 100 • Can you design a protocol between the sender and receiver, such that the receiver can detect the error? • What about a protocol that will allow the receiver to correct the error?
Parity: detecting odd number of bit errors • Even parity bits are assigned to a few ASCII characters. A parity “P” of “1” is assigned when the number of 1’s in the code are odd. Hamming code is a great way to detect errors. It is based on calculating the hamming distance: the number of bits by which two advanced code’s differ By appending the parity bit to ASCII codes, we can increase the hamming distance to 2.
Error Correction • Consider the ascii code for the character “a”: 1100001 • Consider the possibility of a 1 bit error in this code. • What are the possible erroneous a’s due to a 1 bit error? (Hint: there are 7 possible erroneous a’s). • Hence, for every ascii code of 7 bits, there are 7 possible erroneous codes. • Hence, to correct a 1 bit error in a 7 bit code, we can represent each ASCII character using any of the 8 bit patterns (1 correct pattern + 7 erroneous patterns). • E.g., “a” can be represented in ASCII as: 1100001, 1000001, 1110001, etc… • But this will reduce the number of bits we can use to represent an ASCII code. Why?
Summary • Wave transmissions in communications • Next time • Error detection / correction