580 likes | 737 Views
EMT1111 Logic and Problem Solving Fall 2012. Dr. José M. Reyes Álamo. Outline. What is computation? What is a computer? Hardware Software Bits and Bytes Data (storing and transmitting) Programming Languages Computer Networks. What is Computation?.
E N D
EMT1111 Logic and Problem SolvingFall 2012 Dr. José M. Reyes Álamo
Outline • What is computation? • What is a computer? • Hardware • Software • Bits and Bytes • Data (storing and transmitting) • Programming Languages • Computer Networks
What is Computation? • Computation is the manipulation of data by either humans or machines
What is a computer? • A computer is a device capable of performing arithmetic and logical operations at speeds much faster than human. • A computer is able to: • Accept input • Do computation (manipulate data executing logical and arithmetic operations) • Output data
Human Brain In the 1960’s, when computers were becoming more prevalent, they were commonly called “electronic brains.” However, the brain as a computer has very little in common with the modern computer (except that they both do “computation”).
People! Computers used to refer to people In WWII, computers were people who did difficult calculations by hand, for things like ballistic tables.
Computer categories • A microcomputer is a computer that can perform all of its input, process, output, and storage activities by itself. • A minicomputer is often used in situations where a microcomputer is not powerful enough but a mainframe is too expensive. • A mainframe is a large, expensive, but powerful computer that can handle hundreds or thousands of connected users at the same time. • A supercomputer is the fastest, most powerful, and most expensive computer used for applications that require complex and sophisticated mathematical calculations.
Other terms related to the classification of computer systems Personal computer Stand-alone computer Server Client computer Network computer Workstation Terminal Embedded System
It’s All About the Switch • The basic component of most digital circuitry is a simple switch. • A switch’s function, “switches” values: • On or Off • True or False • 1 or 0
Electronic Switch Early computers used vacuum tubes as switches Later, transistors were used as substitutes
Switches for Boolean Circuits Switches can be used to construct more complicated functions, such as Boolean circuits (and on left, or on right)
Manipulations of the underlying data (binary code) is done by using electronic gates.
A Very Interesting Switch Transistors have three interesting features that make them the fundamental element of the computer revolution: • size • quantity • speed
Size Shockley transistor Kilby integrated circuit Originally very large
Intel’s first CPU By 1971, Intel had created a “computer on a chip,” the 4004 microprocessor, the size of a fingernail with 2300 transistors.
Silicon transistor timeline • You will learn more on about this on the following courses: • EMT1150 – Electrical Circuit • EMT1255 – Electronics
But Now, Really Small! Chips now have gates measured in billionths of a meter (nanometers, nm)
Moore’s Law Gordon Moore is one of the founders of the chip maker Intel In 1965, he has observed (over that last 15 years or so) the growth rate of the number of transistors in a circuit Made a famous prediction
What it Means Roughly, since 1965, the number of transistors on a chip doubles every 18 months for approximately the same cost Often quoted as the speed of a CPU doubling every 18 months for the same cost Speed and density were related
Parts of a computer Computer organization and architecture
Main Components • Hardware • Physical Devices: processor, memory, keyboard, monitor, mouse, etc. • Software • Executable Programs: word processor, spread sheet, internet browser, etc. • People
Hardware secondary storage primary storage processor input device output device network
Processor The processor is the “brain” of a computer. The processor controls the other devices as well as performing calculations
Primary Storage Stores instructions and data for current program(s) Other names: primary memory, main memory, RAM (Random Access Memory) Memory is “dynamic” as it requires power to retain information Often hundreds of Megabytes (million bytes)
Peripheral Devices • Secondary storage devices • Disk (hard & floppy), tape, USB drives, flash drives, etc. • Input devices • Keyboard, mouse, camera, microphone, etc. • Output devices • Monitor, printer, speaker, etc. • Network • Wireless, Bluetooth, Ethernet, etc.
Secondary Storage • Nonvolatile -- information is recorded magnetically so power is not needed • Disks hold Gigabytes (billions of bytes) • Cheaper, but slower than primary storage • RAM access can take a hundred CPU clock ticks • Disk access can take a million CPU clock ticks • Not accessed directly by the CPU
Software • The programs available for execution • Classification • System software • Application software
System Software Operating system: manages system resources (e.g. DOS, UNIX) User interface: interface with operating system (e.g. Windows, Linux, Mac OS)
Application Software Programs that perform specific tasks for the user (and use the operating system to interact with the hardware) Examples: word processor, spreadsheet, internet browser.
What is a Program? A sequence of instructions written in machine language that tells the CPU to take certain actions in a specific order In this course you will learn to create programs
Program Storage Machine language instructions are encoded as bit patterns Memory can only hold binary info A bit is represented by two-states (e.g. L-R magnetism, high-low voltage) It takes many bits to represent reasonable amounts of information
The hardware layer will be covered at EMT 2370 (Computer hardware systems) and EMT 2390L (Operating systems laboratory)
Programming languages • Eventually, every program must be translated into a machine language that the computer can understand. • This translation is performed by compilers, interpreters, and assemblers. • When you buy software, you normally buy an executable version of a program. This means that the program is already in machine language.
Binary Numbers The “switch” nature of transistors make storing numbers in binary a natural fit. Binary uses base 2, as opposed to the decimal numbering system that uses base 10
Example • Decimal uses digits 0-9 and positions in a number as powers of 10 • 73510 = 7*102 + 3*101 + 5*100 • Binary users digits 0,1 and positions in a number as powers of 2 • 1012 = 1*22 + 0*21 + 1*20 • We can covert from binary to decimal and vice versa
Representing data • A bit = one binary representation • A Byte = 8 bits • Word = 32 bits
Words • A word of storage is the basic unit used by a computer. • A typical computer today is a 32 bit computer, meaning its word size is 32 bits • Today we also have 64-bit machines • The word size imposes a limit on the memory and the data that can be stored
Representing data • The main components of a digital computer are switches, usually transistors. • The most efficient way to represent these data values is binary coding • Binary code: two level testing, 0 or 1.
Representing Data in Binary Letters are encoded as binary numbers Both ASCII and Unicode are encodings for particular letters and symbols ASCII (American Standard Code for Information Interchange) is used for encoding the English alphabet (http://asciiset.com/ ) Unicode is used to encode more characters such as those used in Arabic and Asian languages (Unicode)
Images Digital images consist of individual colors in a matrix. Each individual color is called a pixel. The color of a pixel is encoded using numbers as well.
Bits <-> information • Representing images: • An image is made up of thousands of very small dots • These dots are called pixels. • The color of each pixel can be represented as combination of three colors, Red, Blue, and Green • Each primary color component (R,G,B) can be represented as an 8-bit byte. 8-bit string can represent 28 = 256 different things.
Bits <-> information • Representing images: • In this case, the 8-bit string for Red represents different amounts of Red, from 0 (none) to 255 (lots). And the same for Green and Blue. • If there are 256 different quantities of R, G, and B, then we can mix these together in 256 × 256 × 256 = 16,777,216 ways, which corresponds roughly to the number of colors the human eye can distinguish