58
EMT1111 Logic and Problem Solving Fall 2012 Dr. José M. Reyes Álamo

EMT1111 Logic and Problem Solving Fall 2012 Dr. José M. Reyes Álamo

Embed Size (px)

Citation preview

EMT1111 Logic and Problem Solving Fall 2012

Dr. José M. Reyes Álamo

2

Outline• What is computation?• What is a computer?• Hardware• Software• Bits and Bytes• Data (storing and transmitting)• Programming Languages• Computer Networks

3

What is Computation?• Computation is the manipulation of data by either humans or machines

4

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”).

6

People!

Computers used to refer to people

In WWII, computers were people who did difficult calculations by hand, for things like ballistic tables.

Modern Computers

8

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)

13

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

SizeOriginally very large

Shockley transistor Kilby integrated circuit

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.

17

Silicon transistor timeline

You will learn more on about this on the following courses:o EMT1150 – Electrical Circuito EMT1255 – Electronics

18

But Now, Really Small!

Chips now have gates measured in billionths of a meter (nanometers, nm)

Smaller means more

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

processor primarystorage

secondary storage

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

Programming Languages

36

The hardware layer will be covered at EMT 2370 (Computer hardware systems) and EMT 2390L (Operating systems laboratory)

37

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.

Bits and bytes

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

41

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

43

Word sizes have changed

Representing data

45

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.

46

Physical states representing bits

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.

49

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.

50

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

51

Bits <-> information

How Many Numbers?

Binary

• Byte = 8 bitse.g. 10110010

• Storage devices come in large quantities1KB (Kilobyte)= 210 bytes = 1024 bytes 1MB (Megabyte)= 220 bytes = 1,048,576 bytes1GB (Gigabyte)= 230 bytes=1,073,741,824 bytes

Networking

55

Networking

A computer network is established when a group of computers is connected to each other for communication. The purpose of this connection or network is to share the resources within the connected units.

You will learn more about networks in EMT2455 & CET4773 The Internet is a network of networks!

What is a computer network?

56

Computer networks are useful

57

In Class Lab• Set up and OpenLab account

– Create your portfolio– Submit your portfolio link (

https://sites.google.com/site/emt1111f12/labs)• Install Python and do a Simple Program

– Installation Instructions and Lab details in Lab1_Python0 (https://docs.google.com/open?id=0B8hQmlgITcEscTlFNWFxekkzc0E)

58

Homework https://sites.google.com/site/emt1111f12/labs

Find the reading assignments for this week

Install Python