Title: IT101 Introduction to Information Technology
1IT-101Introduction to Information Technology
- Instructor
- Dr. Peter Pachowicz (ECE Dept.)
- Office hours Wednesday 230-400pm, and by an
appointment - Syllabus
- Course description
- Tentative schedule
- Grade
- Exams 85 (Midterm I 20, Midterm II 25,
Final 40) - Homeworks 15 (3 homeworks, Note Dont miss the
deadlines) - (1 recommended homework not graded)
- Course text
2Other Issues
- Honor code
- Poll
- Major
- How many IT courses did you take?
- Link for course
- Lecture slides will be posted in PowerPoint
- MOTIVATION
- MY COURSE GOALS
3Information TechnologyAt least to Webster
- Information (Latin idea, conception)
- Knowledge communicated or received concerning a
particular fact or circumstance - Any knowledge gained through communication,
research, instruction, etc. - Any data that can be coded from processing by a
computer or similar device - Technology (Greek systematic treatment)
- The branch of knowledge that deals with
industrial art, applied science, engineering
4Information TechnologyAccording to WhatIs.com
- IT (information technology) is a term that
encompasses all forms of technology used to
create, store, exchange, and use information in
its various forms (business data, voice
conversations, still images, motion pictures,
multimedia presentations, and other forms,
including those not yet conceived). It's a
convenient term for including both telephony and
computer technology in the same word. It is the
technology that is driving what has often been
called "the information revolution."
5Components of IT
- Computers
- Telecommunications
- Software
- Creativity
- First IT breakthrough?
- Cave paintings? The written word?
- Greatest IT development?
- Telephone, telegraph, computer, yet to happen?
6Information System ExampleThe Telephone System
Switching and Signaling System
Transmission Media
Receiver
Transmitter
7Information System ExampleThe World Wide Web
8Signals vs. Messages vs. Information
- Signal A physical representation of a process.
Examples include sound waves, light pulse,
electronic impulses, etc. - Message The content of the signal. Examples
include binary representation, alphanumeric
characters, etc. - Information Whatever the content of the message
conveys to the observer.
9Digital vs. Analog
DISCRETE
CONTINUOUS
Exists at SPECIFIC POINTS in space and
time Variables can have ONLY SPECIFIC values
Exists for ALL values of space and time Variables
can have ALL POSSIBLE values
10Analog and Digital Technologies
11The Natural World is Analog
Human speech is an example of analog
communication. Speech causes air to vibrate with
varying amplitude (volume) and frequency (pitch).
This continuous acoustical waveform can be
detected by a device and converted into an
analogous electrical waveform for transmission
over a circuit.
12The Computer World is Digital
- Digital computers communicate using 2 discrete
values. In other words, they speak in binary (0
and 1). - Of course, 0s and 1s are not literally
transmitted - In an electrical network, variations in voltage
represent one of the two discrete values. - In an optical network, pulses of light provide
the discrete values. - Recall that the 0s and 1s are the message and
the pulses of light or voltage variations are the
signal. - Two values in different combinations sufficiently
encode text, numbers, image, and video! - Note that the telegraph was an early example of
communications using discrete, electrical pulse
transmission.
13The Digital Advantage
- Quality Digital information is resistant to
signal degradation. - Copying analog information magnifies noise and
interference. - Digital information can be perfectly
regenerated. -
- Security Analog signals can be scrambled
(through frequency mixing) to provide some
security. Digital signals can be manipulated
with complex encryption algorithms for much
improved security. - Efficiency Digital information can be easily
compressed, providing more efficient
transmission. - Cost Digital information systems are cheaper
than analog systems. - Management Management features can be designed
into digital signals.
14The IT Building Block or Digital Native Language
- Binary representation
- 1s and 0s
- What it is physically Presence of or level of
voltage - Lets count
- Binary is counting in a base 2 scheme
- Decimal is base 10
- Octal is base 8
- Hexadecimal is base 16
15Why Use a Code with Only Two Values?
- A binary system is resistant to errors!
- The two symbols are highly distinguishable from
one another. - Two values correspond well to the on and off
states of electronic switches that comprise
digital computers. - Simplicity!
- Any Problems with a binary code???
16How do Digital Systems Produce 0s and 1s?
- Physically, a 1 or a 0 can be produced in several
ways - The presence of or level of voltage in an
electrical network. - A pulse of light or varying of light intensity in
an optical network. - Discrete variations of signal amplitude in a
radio network like satellite or cellular. - STORAGE - To store binary data, storage media
must represent two values. - Magnetic disk can be magnetized in two directions
up or down - Laser disk domains have either a smooth surface
or pitted surface. - TRANSMISSION - Two distinct electrical or optical
quantities are transmitted such as a pulse of
light and absence of light. - PROCESSING - Computer circuits can be broken down
into the fundamental building block, the
electronic switch (either on or off).
17Binary Conventions
- Most Significant Bit (MSB) and Least Significant
Bit (LSB) - Decimal Example 64
- 6 is the Most Significant Digit
- 4 is the Least Significant Digit
- Binary 1000000
- 1 is the MSB
- 0 on the right is the LSB
- What does 10000002 represent in decimal? One
method of binary to decimal conversion - How do I represent 1310 in binary?
18More Examples
- Convert 1210 to binary
- Convert 1010101 to decimal
- Convert 25510 to binary
- Convert 1110001110 to decimal
19Thinking Binary
- When dealing with binary, always think in powers
of 2 - Binary Computer conventions (You need to know
this!) - 1 bit can represent two (21) symbols either a 0
or a 1 - 8 bits is a byte one byte can represent 256 (28)
symbols - 1 kilobyte 210 bytes 1024 bytes 8192 bits
- 1 Megabyte 220 bytes 1,048,576 bytes
- How many bits are necessary to encode the
uppercase alphabet? Upper and lower case?
20Binary Multipliers
- Kilo (K) 210 1,024
- Mega (M) 220 1,048,576
- Giga (G) 230 1,073,741,824
- Tera (T) 240 1,099,511,627,776
- Peta (P) 250 1,125,899,906,842,624
- Exa (E) 260 1,152,921,504,606,846,976
- Zetta (Z) 270 1,180,591,620,717,411,303,424
- Yotta (Y) 280 1,208,925,819,614,629,174,706,1
76 - Note You use these factors with base 2 numbers,
not base 10 numbers!
21Something to Remember
- Bits are often used in terms of a data rate, or
speed of information flow - 56 Kilobit per second modem (56 Kbps)
- A T-1 is 1.544 Megabits per second (1.544 Mbps or
1544 Kbps) - Bytes are often used in terms of storage or
capacity--computer memories are organized in
terms of 8 bits - 256 Megabyte (MB) RAM
- 40 Gigabyte (GB) Hard disk
22Lets Be Clear! Bits v. Bytes
- 56Kbps represents 56,000 bits per second (56,000
is a base 10 number) - 56KB represents 56 x 210 bytes (bytes--8
bits--base 2 number) - or 56 x 1024 bytes 57,344 bytes
- or 57,344 bytes x 8 bits 458,752 bits
23Practical Use
- Everyday stuff that uses 2X
- 32-bit sound card
- 64-bit Video Accelerator card
- 128-bit encryption in your browser
- Is 64-bit twice as good as 32-bit?
- 32 bit 232 4,294,967,296 bits
- 64 bit 264 1.8 x 1019 bits
- 128 bit 2128 3.4 x 1038 bits
24Other Ways to Count
- Octal--base 8
- 0, 1, 2, 3, 4, 5, 6, 7
- 810 108
- Represents 3 bit code see page 55 of text
- Hexadecimal--base 16
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
- Represents 4 bit code see page 55 of text
- Compresses notation F16 178 11112 1510
- Note on page 56 of text that 7-bits are being
converted into hexthe authors inserted a
leading 0 into each group of 7 bits to make a
byte - Notice that if you break each byte into a 4 bit
word you can easily convert binary into hex
25Fixed Length Codes
- Fixed length codes represent information in a
format someone has agreed to - American Standard Code for Information Exchange
(ASCII)--see Appendix A in text - Structure is a 7 bit code (plus a parity bit or
an extended bit in some implementations - ASCII can represent 128 symbols (27 symbols)
- INFT 101 is 73 78 70 84 32 49 48 49 (decimal)
or - 49 4E 46 54 20 31 30 31 (hex)
- 1001001 1001110 1000110 1010100 0100000 0110001
0110000 0110001 (using Appendix A) - How do you spell Lecture in ASCII?
26Extended ASCII Chart
- You can easily convert hex to binary
- Upper case D is 4416
- 416 is 01002
- Upper case D is then 0100 0100 in binary
- Note 8 bits used
27Extended ASCII Continued
- Another example You want to represent the Yen
sign () - You see it is 9D
- 916 910 10012
- D16 1310 11012
- The sign in binary is 1001 1101
28Other Text Codes
- Extended Binary Coded Decimal Interchange Code
(EBCDIC) used by IBM-- 8 bit (28 bits) 256
symbols - Unicode is 16 bit (216) 65,536 symbols
- World Wide Web supports many languages
- Unicode supports Latin, Russian, Cherokee, other
alphabet representation - www.unicode.org
29Error Detection and Correction
- Errors in transmission can be caused by many
factors - Clever code construction or additional
information added to the transmission can
increase the odds of the sent information being
received correctly
30Parity Bit
- An extra bit is appended to the code
- Even parity is when the bit is set so that the
total number of 1s in the word is even - 11 ? 11 0
- 10 ? 10 1
- Odd parity is when the bit is set so that the
total number of 1s in the word is odd - 11 ? 11 1
- 10 ? 10 0
31Parity Errors
- Even parity is set 10 0 is received.
- Error present, but dont know which one is the
bit in error - Parity can detect errors, but cant correct them
- Odd parity is set 1111011 0 is received.
Error? - Even parity is set 1111011 0 is received.
Error?
32Repetition
- Repetition is the provision of extra bits to
ensure the information is received correctly - Original data 1 0 0 1
- Transmitted 111 000 000 111
- Received 011 000 001 111
- Errors in the first and third bits detected
- Errors in the first and third bits can be
corrected
33Redundancy Check
- Symbols are given a parity bit
- Total word is given a redundancy check
- The first bit of each symbol in the word is given
parity, then the second bit of each symbol in the
word is given parity - The additional parity symbol is given its own
parity and then appended to the transmitted
information
34Redundancy Check
- Information to be sent 00 01 10 11
- With even parity becomes 00 0 01 1 10 1 11 0
- First bits are 0 0 1 1 Odd parity bit 1
- Second bits are 0 1 0 1 Odd parity bit 1
- Odd parity bits 1 1 Even parity bit 0
- Transmitted 000 011 101 110 110
35Redundancy Check Error
- Transmitted 000 011 101 110 110
- Received 000 111 101 110 110
- Even parity tells us that the second symbol has
an error - Comparing Odd parity with the first bit in each
symbol shows us that the first bit in the second
symbol should be a 0 - Comparing Odd parity with the second bit in each
symbol shows us that everything is OK
36Functions
- In mathematics, a function is an association
between two sets of values in which each element
of one set has one assigned element in the other
set so that any element selected becomes the
independent variable and its associated element
is the dependent variable. Thus, in - y f(x)
- y is said to be a function of x.
37Functions
- Common functions we might deal with
- Functions of Time
- Functions of Space
- Functions of Frequency
- Functions of Power
- Usually, functions are represented as a
relationship on an x-y axis graph
38The Sine Wave is a Function
39Continuous v. Discrete Functions
- Continuous Functions are just that over the
function, there is an infinite number of points
making up that function. Or between any two
points you can pick another one - Discrete Functions A discrete function has a
finite number of elements (or values) - Lets draw the difference!
40Continuous v. Discrete
- In the real world many phenomena can be
characterized as continuous (analog) - Mercury thermometer
- Dial gauges
- Sound
- Perceived sight
- In the digital world phenomena are coded in
terms of 0s and 1sexplicit values - They are ____________ (fill in the blank)
41Temperature
- Mercury thermometer reflects a temperature that
can continuously vary over its range of
measurement - Digital thermometer would require an infinite
number of bits to accomplish the same thing - So if we are building a digital thermometer, we
must make some choices - Precision (number of bits we will use) v. cost of
chip - Accuracy (how true is our measurement against a
standard)
42Temperature Waveforms
43Thermometer Engineers
- What is the range we wish to measure?
- How many bits are we willing to implement?
- We want to measure -40º F to 140º F
- Total measurement range 180 º F
- If our thermometer measures in 1º increments, we
need to represent 180 steps - We can do this with an 8 bit code (256 values)
- Accuracy issue at what temperature does the
thermometer increment or decrement? And is it the
right temperature? (Not dependent on the coding
scheme we choose!)
44Design Review
- CEO wants the thermometer to read to the
hundredth of a degree - How many bits are required?
- 180 x 100 18000 steps
- Can implement with a 15 bit code (215 32768)
- Note wasted bits
- Precision now to the hundredth degree
- Is a precise instrument the same as an accurate
one? - How do we build the code now?
45Thermometer Coding (One Answer)
46Thermometer Coding (Another Way)
47What Was That?
- 2s complement notation is a method to represent
negative numbers - Take the positive binary representation with the
MSB as a sign bit (a 0 makes the representation
positive) - 01001 (910)
- Take the binary complement (flip the bit values)
- 10110
- Add a binary 1
- 10110 1 10111 (-910)
- Ill specifically tell you to do something in 2s
complement on a homework or test
48Speaking Digital
- Digital cant absolutely capture analog
(continuous) functions - Trades are made in length of code-word
- CDs use 16 bits
- So why is digital better?
- Accurate reproduction
- Error detection and correction
- 0s and 1s are easier for electronic systems to
deal with (encryption, multiplexing,
regenerating, amplifying)
49Audio Waveform
50Storage Needed
- Digital audio signal 16bit per sample
- Sampling every 0.0000227 sec.
- It means, we need total
- 1,411,200 bits for every second of music
- 16 bit per sample
- 44,100 samples per sec.
- 2 channels (stereo signal)
- Added error correction will multiply this storage
requirement
51Protocols
- Believe it or not, you use protocols every day
- When you see a red, octagonal sign, you_____
- When you pick up the telephone when it rings, you
say _______ - The procedure in checking out a library book
- Using the ATM
- Protocols give structure and provide rules, but
they arent based on anything but human
convention, agreement and understanding
52Protocols
- IT is built on protocols
- Hypertext Transfer Protocol (HTTP)
- Simple Mail Transfer Protocol (SMTP)
- Transmission Control Protocol/Internet Protocol
(TCP/IP) - And just about everything else we will talk about
- Weve already discussed the convention of the
byte - Four bits are called nibbles
- Four (or eight) bytes is a word
53Who Makes Protocols?
- International Organizations
- International Telecommunications Union (ITU)
- International Standards Organization (ISO)
- National Organizations
- American National Standards Institute (ANSI)
- Professional Organizations
- Institute of Electrical and Electronic Engineers
(IEEE) - Trade Groups/Consortiums Sony/Phillips and the
CD - Companies Microsoft, Cisco, Bell (back in the
day), 3Com, others..
54Why Protocols?
- Protocols provide the rules under which a desired
function can occur - Greatly simplify production and development of
new products compatibility with other vendors
and older equipment - Bring order to chaos
- Text has example of 140 different formats of
floppy disk storage on the same 5 1/4 inch media - Provide new and better functionality
55Protocol Problems
- Computers arent all that capable of independent
thought - New protocols drive obsolescence
- Microsoft XP wont use the 95 kernel (allegedly)
- And perhaps obsolescence of the competing
protocol (see next bullet) - The best protocol doesnt always win
- Market forces and inertia sometimes are the
victor (DVD v. DiVX) - Whats the standard?
- Physical devices 3.5 floppy disk contains
160tracks 18 sectors 512B 1.44MB - In a word Interoperability
56Some Examples (Data Transmission)
- How do we know where the bit stream begins?
- Start bits stop bits (Guess what? These are
protocols!) - Flags--used in Ethernet, High-Level Data Link
Control (HDLC)
Flag 01111110
57Protocol Take-a-Ways
- Check the protocols you are using
- Check them again
- Make sure the other guy is using the same
protocols - Check again
- New protocols build on older ones to support
interoperability and are approved by standards
bodies to ensure availability and compliance - But specific vendor implementation may cause
interoperability problems (thats why you check) - Some protocols are introduced as bridges between
incompatible protocols -- Rich Text Format (RTF)
protocol
58Visual Representation and Display
- A picture is worth ten thousand words
- But it takes a whole lot more than 10,000 bits
usually! - A visual image is a powerful way to convey
information - The need to process a huge amount of image/video
data requires a lot of computing power - Specialized processors
- New type of computers
- A very dynamic growth in consumer electronics
59Image Issues
- The world we live in is analog
- Another way to look at it--continuously variable
- Problem for digitizing, or making discrete
- But
- We are producing information for human use
- Human vision has limitations
- Take advantage of this fact
- Produce displays that are good enough
60Digital Info for Humans
- Many digital systems take advantage of human
limitations (visual, aural, etc) - Human gray scale acuity is 2 of full brightness
- Or 50 gray levels can capture what most folks
can detect - Human eye can resolve about 60 lines per degree
of visual arc - 8.5 x 11 sheet of paper at 1 foot (landscape)
contains 49.25 degrees horizontal and 39 degrees
vertical - 49.25 degrees x 60 2955 horizontal lines we can
just distinguish - 39 degrees x 60 2340 vertical lines we can just
distinguish - These numbers give us a clue about how long our
code will need to be to capture images
61Cameras and Image Formation
- Basic image formation process
- Essential components
- Object/scene
- Lens
- Image recording medium
- Display device may correct the inverted condition
- Projection 3D to 2D
62Other Types of Image Formation
- Radar, Sonar, X-rays, CAT scan
- Differ from traditional camera
- Type of energy used to form image
- Geometry of the system that relates the location
of the objects in the real world to the image
world
63Radar
- Radar Radio Detection and Ranging
- TV weather forecasts
- Sends a narrow beam of radio waves in a
particular direction and waits for reception of
some reflected energy - Distance and angle of transmission (polar
coordinate system)
64Pixels and Lines
- A pixel is the smallest unit of representation
for visual information - In order to form a black line, you need two rows
of pixels (one black and one white) to give a
visual clue of transition - So two rows of pixels are needed per line
- Go back to our paper example
- Number of pixels needed to represent total image
- 2(2955 horizontal) x 2(2340 vertical)
27,658,800 pixels
65Check for Yourself
- On the CD that accompanies the text, play with
the visual representation applets - Some changes to the level of pixels or colors
affect very little your ability to discern the
image - After a time degradation becomes very apparent
- On pages 84 and 85 you can see the effects of
going from a 6-bit to 1-bit grayscale code
66Picking the Codes
- The assignment of a code to a particular analog
value is called Quantization - Quanitization results in the loss of some
information and precision - You are taking a continuous function and
assigning discrete values, resulting in some
values not being exactly represented - More detail on Quanitzation in a later lecture
67Spatial Resolution
- Image represented in a finite number of small
picture elements - Represent a single intensity (brightness) level
- Usually arranged in rectangular grid
- Tradeoff
- Why do we want more pixels?
- Why do we want fewer pixels?
13 x 13 grid 169 pixels
68How Many Pixels Should We Use?
- If too few pixels used, image appears coarse
16 x16 (256 pixels)
64 x 64 (4096 pixels)
69Digitized Image
- Process of breaking a continuous image into a
grid of pixels is called pixelization, sampling,
scanning or spatial quantization.
70Shades of Gray
- Each pixel must be converted to binary data.
- Suppose 8 bits are used to represent the
brightness at each pixel. - How many brightness levels?
- 28 256 brightness levels (black gt white)
- Quantization process of rounding off continuous
values so they can be represented by a fixed
number of binary digits.
71Shades of Gray
A 6-bit (64 gray levels) image
- A 3-bit (8 gray levels)
- image
A 1-bit (black and white only) image
72How Much Storage Is Needed?
- Total number of bits required for storage total
number of pixels number of bits used per pixel - For example Black and white photo
- 64 x 64 pixels
- Use 32 gray levels (5 bits)
- 64 x 64 x 5 20,480 bits 2560/1024 bytes
2.5KB - Remember data storage is in bytes
- KB represents 210 or 1024 bytes
73Color Representation
- Instead of grayscale, assign coding to the levels
of each of three colors--Red, Green, Blue (RGB) - Another approach is Hue (light spectrum),
Luminance (brightness) and Saturation (dilution
by white) (HLS) - Both systems use 3 bits per component (RGBHL or
S), for a total of 9 bits--512 different levels
of representation - Limited color scheme, so additional palettes are
available, each with a 512 level representation
(Color Palette Representation) - Windows supports 32-bit color--much larger choice
of colors than with RGB!
74Video
- Human perception of movement is slow
- Studies show that humans can only take in 20
different images per second - We can detect higher rates of flicker, but only
to about 80 cycles per second - Movies show 24 frames per second, but flash at 48
per second - TV works similarly, but instead of a frame, TV
refreshes in lines across the tube - Whats going on? Make discrete a continuous
function--it is possible to capture the image
with bits!
75Your Computer Display
- Described in terms of pixels
- 640 x 480
- 800 x 600
- 1024 x 768
- At 60 Hz, how many pixels are being refreshed in
a 1024 x 768 resolution per second? 1024 x 768 x
60 47,185,920 - Encoding Supports some number of colors
- 256 (one byte)
- 65536 (two bytes)
- 16,777,216 (three bytes or indexed)--see p 99 of
text - Using number of pixels computed above, how many
bytes are being processed per second for 65,536
colors? 47,185,920 x 2 bytes 94,371,840 bytes
per second
76Compression
- Compression techniques can significantly reduce
the bandwidth and memory required for sending,
receiving, and storing data. - Most computers are equipped with modems that
compress or decompress all information leaving or
entering via the phone line. - With a mutually recognized system (e.g. WinZip)
the amount of data can be significantly
diminished. - Examples of compression techniques well discuss
today - Compressing BINARY DATA STREAMS
- Variable length coding (e.g. Huffman coding)
- Universal Coding (e.g. WinZip)
- IMAGE-SPECIFIC COMPRESSION
- GIF and JPEG
- VIDEO COMPRESSION
- MPEG
77Variable Length Coding (Compression)
- ASCII is a fixed length code--8 bits for Extended
- Certain letters are used more frequently than
others in the English language - This fact is the basis for Morse Code
- . E - T --.. Z
--.- Q - Why bother?
- Saves transmission time, reduces storage
requirements
78Definitions
- Message Values or meanings to be conveyed
- Data A stream of symbols (voltages, 1s/0s)
- Information Amount of surprise in the message
- Take pi can be symbolized by p or a series of
non-repeating digits 3.141592654. - Easier to send p than the whole string of digits
- We already know (a priori) what ps value is
- We can take advantage of this fact and compress
the data we send
79Basic Information Theory
- Claude E. Shannon developed modern Information
Theory at Bell Labs in 1948 - He saw the relationship between the probability
of appearance of a transmitted signal and its
information content - This was a huge realization that allowed for
compression techniques
80Probability
- Shannon found that information can be related to
probability (Others had done work as well, but
Shannon gets credit for Info Theory) - Fair coin toss Heads or Tails each has a
probability of .50 - In two tosses, both heads probability is .5 x .5
.25 - In three tosses, all tails .5 x .5 x .5 .125
- We compute probability this way because the
result of each toss is independent of the results
of other tosses
81Entropy
- If the probability of a binary event is .5 (like
a fair coin), then, on average, you need one bit
to represent the result of this event. - As the probability of a binary event increases or
decreases, the number of bits you need to, on
average, represent the result decreases - The figure is expressing that unless an event is
totally random, you can convey the information of
the event in fewer bits, on average, than it
might first appear - Lets step through the store example in the text
82How do you measure code effectiveness?
- The authors describe the store example
- 80 of the customers are male, 20 female
- For now, just accept the codes assigned
- M-M 0 M-F 10 F-M 110 F-F 111
- (1)(.64) (2)(.16) (3)(.16) (3)(.04) 1.56
bits/event - The leading number is the number of bits
contained in the code - The fractional number is the probability of that
codes occurrence - We achieved 0.722 lt 1.56 lt 2 bits/event
- Lower bound and upper bound concept
83Huffman Coding
- You need to understand the probability of event
occurrence - Then you order the events in probability of
occurrence - Then you group the events in pairs of events with
lowest probabilities - Compute the probability of occurrence for the
pair (you add the probabilities) - Keep pairing, even if you pair previous pairings
(keep pairing lowest unpaired probabilities!) - Add your codes to the events--watch that your
codes are shortest for the most common
occurrences and that each code can be uniquely
identified
84Example
A (.35)
B (.25)
C (.13)
D (.12)
E (.1)
F (.04)
G (.01)
85Huffman Coding
- Using our just constructed code, how should you
decode this string? - 0000111010110001000000111110011011000
- 00 00 1110 101 100 01 00 00 00 1111 100 110 110
00 - A A F D C B A A A G C
E E A - How do we know this is the code? Every code is
unique in form--note the wasted bit characters - That is there is no such thing as 0 or 11
etc...
86Universal Coding
- Huffman has its limits
- You must know a priori the probability of the
characters or symbols you are encoding - Universal coding allows you to compress as you go
- Lempel-Ziv coding one form of Universal Coding
presented in the text - Used by WinZip to compress info
87Variable Codes
- Takes advantage of probabilistic nature of
information - If we had total uncertainty about the information
we are conveying, fixed length codes are better - Variable codes achieve their efficiency over
longer information strings - Lempel-Ziv achieves large efficiencies over long
strings of info - Over short strings, Lempel-Ziv is very
inefficient compared to Fixed or Huffman
88Introduction Computer Architectures and Software
- Read Chapter 5 in Optional text for more detail
(2 copies are on reserve in the library) - The IT world is based on Computers--you should
have a basic understanding of how the computer
works and about the software that drives it
89ENIAC
- What were computers like just over 50 years ago?
- 1946 - ENIAC
- Used plugboards and switches to program
- Occupied 1,000 square feet
- Used vacuum tubes
- Developed at UPenn
- Funded by U.S. government
Electronic Numerical Integrator and Computer
90Computer Technology Evolution
Ultra Large Scale Integration gt 100 million
devices per chip
Very Large Scale Integration Post 1978 100,000 -
100 million devices per chip
Vacuum Tubes 1946-1957
Transistors 1958-1964
Large Scale Integration 1971-77 3000- 100,000
devices per chip
Medium Scale Integration Pre-1971 100-3000
devices per chip
Small Scale Integration 1960s Up to 100 devices
per chip
INTEGRATED CIRCUIT
91Moors Laws
- Intel pioneer, Gordon Moore, predicted in 1965
that the number of transistors on a chip would
double every 18 months.
92The Desktop PC
Storage
Central Processing Unit
Input/Output
Memory
93Input/Output
- Two ways to think of I/O
- 1 At the board/chip level (Physical Connections)
- 2 What is connected to the board (User I/Os)
- Depends if you are a computer architect or a
peripheral device designer/user - The board
- Parallel, serial, network, game, digital ports
- What is connected to the board
- Printer, scanner, keyboard, joystick, modem,
speaker, monitor, network card
94Input/Output
?
Sound Board
?
Game Board
CPU
?Monitor
Graphics Board
?
Serial Port
Parallel Port
?Mode
Serial Port
Local Area Network
Network Port
?
ADC
Analog signal source
input/output
bus
95Storage
- Used by the computer to store programs,
information, data (Write) - Used by the computer to access information and
programs when necessary (Read) - Some storage can do both read and write, some
only one - Some storage can randomly access information,
some can only sequentially access - Magnetic
- Hard disk, floppy disk, ZIP disk, tape
- Optical
- CD, DVD
- Solid State
- Flash cards, PCMCIA cards
96Memory
- Memory helps computers operate faster and more
efficiently - Random Access Memory (RAM) --- Temporary
- Memory chips in a PC
- Virtual Memory
- Cache Memory (on the CPU)
- Read-Only Memory (ROM) --- Long-Term
- CD-ROM
- DVD-ROM
97The Central Processing Unit (CPU)
- The brains of the computer
- Performs calculations and completes instructions
- Performance based on clock speed--how many
instructions can it accomplish in a cycle - Pentium 4 --- 2.0 GHz chip operates at 2 billion
cycles per secondcan do one instruction per
cycle per pipeline
98The CPU
Storage
Memory
Arithmetic Logic Unit (ALU)
Control Unit
Registers
Cache Memory
Input/Output
Flags
99Four Stages of CPU Operations
- Fetch - Seeks instructions from outside source
- Decode - Analyzes the instructions to determine
which of the chips circuits should be used for
processing - Execute - Performs the actual instructions
- Store - Places processing result in appropriate
place
Comparing a Dime to a Microprocessor
100Simple Instruction
- You want your computer to add 1 2 4
- MOV 1, R0 (Move the number 1 into Register 0)
- MOV 2, R1 (Move the number 2 into Register 1)
- ADD R0, R1 (Add R0 to R1 and put the result in
R1) - MOV 4, R0 (Move the number 4 into Register 1)
- ADD R0, R1 (Add R0 to R1 and put the result into
R1) - Move, Add are examples of instruction sets
- Real computers have many more Registers
101Chip Types
- Complex Instruction Set Computer (CISC)
- Many forms of instructions (some special purpose,
but chip must support them all) - x86, Pentium
- Reduced Instruction Set Computer (RISC)
- Specific list of supported instructions (Want to
do something else? Find a combination of
instructions to accomplish the task) - Power PC (Motorola), Alpha, IBM RISC System/6000,
Sun SPARC, MIPS - Difference is speed of execution RISC is faster,
but may require longer instruction combinations
to accomplish the same task as a CISC
102Hierarchy of Software(Above the Abstraction
Level i.e. 0s and 1s)
Application
Computer Language (High Level Language)
Operating System
Assembly Code
Machine Language
103Machine Language
- Machine Language
- 01100100100101010
- Lowest level language
- Consists of elementary instructions directly
recognized by the CPU - Provides numerical codes directly recognized by
the CPU - Machine language programming produces a string of
numbers - Cannot be used by programmers any longer
104Assembly Code
- Assembly Code Most basic of abstraction
- ADD R1, R2
- MOV ADDR, R1
- Different computer systems (RISC v. CISC) use
different languages - Breaks down instructions to their most basic--at
the level of implementation of the chip (or what
instructions a particular chip will understand)
105Operating System
- OS provides for common system tasks
- Display information on a monitor
- Print services
- User interface
- Text based
- Graphical User Interface (GUI)
- MS/DOS, Windows 3.0, Windows 95/98/2000/Me/XP
- Microsoft NT/2000 Professional/Server/XP
Professional - Mac OS X (and other earlier)
- Linux
- HP Unix
- Sun Solaris
- IBM OS/2
106Examples of Operating System
MS-DOS Introduced in 1981 Microsofts first
O/S Microsoft Disk Operating System (MS-DOS) Text
based O/S -- C/gt
Mac OS Appeared in 1984 Apple Macintosh Icons
and Graphical User Interface (GUI)
IBM OS/2 Roughly 1992 Split with Microsoft Never
took off
Microsoft Windows Dominates PC market Windows 3.x
in 1990 Windows 95 and 98 Windows NT Windows
2000 Windows XP
Unix Variations IBMs AIX Hewlett Packards
HP/UX Suns Solaris Linux Others
107Computer Language(High Level Language)
- Used to program instructions for computer use
- Eases programming, since the Compiler
translates almost human syntax into lower level
code - Java
- Fortran
- C
- Visual Basic
- Pascal
- Ada
- HTML
108Programming Languages
Visual Basic Microsofts visual
language Provides an array of tools that
decrease development time
Basic (Dartmouth College, Kemeny and Kurz) Simple
language students could learn 1964
C and C Developed originally as C/Unix
in 1974 C is object oriented version
FORTRAN (Formula Translator) Developed by
IBM Science/engineering 1957
Pascal Once popular with serious
programmers 1970s Appeal has diminished
COBOL (Common Business Oriented Language) Pushed
by U.S. Govt. 1960
Java Developed by Sun O/S independent
HTML HyperText Markup Language describes
documents on the Web
XML eXtensible Markup Language More powerful
successor to HTML
109Application Software
- This is how we usually interface with the
computer - MS Word
- MS PowerPoint
- Lotus Notes
- Quicken TurboTax
- AOL Instant Messenger
- Etc., etc., etc..