21
CPIT 201 A. Alkhaldi King AbdulAziz University Faculty of Computing & Information Technology Information Technology Department CH (1) Introduction CPIT 201 Introduction to Computing

CPIT 201 A. Alkhaldi King AbdulAziz University Faculty of Computing & Information Technology Information Technology Department CH (1) Introduction CPIT

Embed Size (px)

Citation preview

CPIT 201A. Alkhaldi

King AbdulAziz University Faculty of Computing & Information Technology

Information Technology Department

CH (1)

Introduction

CPIT 201Introduction to Computing

CPIT 201A. Alkhaldi

1.1 TURING MODEL

• The idea of a universal computational device was first described by Alan Turing in 1937.• He proposed that all computation could be performed by a special kind of a machine, now called a Turing machine.• He based the model on the actions that people perform when involved in computation.• He abstracted these actions into a model for a computational machine that has really changed the world.

CPIT 201A. Alkhaldi

1.1 TURING MODEL

DATA PROCESSORBefore discussing the Turing model, let us define a computer

as a data processor. Using this definition, a computer acts as a black box that accepts input data, processes the data, and creates output data.

Three problems…•this model is too general. •It is not clear how many types of operations a machine based on this model can perform.•This model describes a specific-purpose machine.

CPIT 201A. Alkhaldi

PROGRAMMABLE DATA PROCESSOR• The Turing model is a better model for a general-purpose computer.• This model adds one extra element to the specific computing machine: the program.• A program is a set of instructions written in a computer language that tells the computer what to do with data. • In the new model, the output data depend on the combination of two factors: the input data and the program.

CPIT 201A. Alkhaldi

Same program, different input data

CPIT 201A. Alkhaldi

Same input data, different programs

CPIT 201A. Alkhaldi

THE UNIVERSAL TURING MACHINE

A universal Turing machine, a machine that can do any computation if the appropriate program is provided ((the first description of a modern computer)). It can be proved that a very powerful computer and a universal Turing machine can compute the same thing. We need only provide the data and the program—the description of how to do the computation—to either machine. A universal Turing machine is capable of computing anything that is computable.

CPIT 201A. Alkhaldi

1.2 VON NEUMANN MODEL

• Computers built on the Turing universal machine store

data in their memory.

• Around 1944–1945, John von Neumann proposed that,

since program and data are logically the same, programs

should also be stored in the memory of a computer.

CPIT 201A. Alkhaldi

FOUR SUBSYSTEMSComputers built on the von Neumann model divide the

computer hardware into four subsystems: memory, arithmetic logic unit, control unit, and input/output.

CPIT 201A. Alkhaldi

STORED PROGRAM CONCEPT

• The von Neumann model states that the program must be stored in memory.

• This is totally different from the architecture of early computers in which only the data were stored in memory. The programs for their task was implemented by manipulating a set of switches or by changing the wiring system.

• The memory of modern computers hosts both a program and its corresponding data.

• This implies that both the data and programs should have the same format, because they are stored in memory.

• In fact, they are stored as binary patterns in memory(a sequence of 0s and 1s).

CPIT 201A. Alkhaldi

SEQUENTIAL EXECUTION OF INSTRUCTION

• A program in the von Neumann model is made of a finite number of instructions.

• In this model, the control unit fetches one instruction from memory, decodes it, then executes it. In other words, the instructions are executed one after another.

• Of course, one instruction may request the control unit to jump to some previous or following instruction, but this does not mean that the instructions are not executed sequentially.

• Sequential execution of a program was the initial requirement of a computer based on the von Neumann model.

• Today’s computers execute programs in the order that is the most efficient.

CPIT 201A. Alkhaldi

1.3 COMPUTER COMPONENTS

(1) COMPUTER HARDWARE

Computer hardware today has four components under the von Neumann model, (Memory, ALU, Control Unit, and Input/output) with different types or brand names.

(2) DATA• Storing Data: All types of data (digital numbers, text,

images, audio, and video) should be changed and stored in the computer in only two states, 0’s and 1’s “Binary”.

• Organizing Data: Still, you can see your data in the original forms (numbers, text, … etc) and organize them before you store these data in the computer.

CPIT 201A. Alkhaldi

(3) COMPUTER SOFTWARE

• The main feature of the Turing or von Neumann models is the concept of the program.

• Although early computers did not store the program in the computer’s memory, they did use the concept of programs.

• Programming those early computers meant changing the wiring systems or turning a set of switches on or off.

• Programming was therefore a task done by an operator or engineer before the actual data processing began.

CPIT 201A. Alkhaldi

(3) COMPUTER SOFTWARE

Requirements …

1. Programs must be stored in memory.

2. A Sequence of instructions should be used in a program.

Why a program should made by instructions? “reusability”

3. Algorithms: a step-by-step solution to solve a problem before implement a program.

4. Languages: using symbols and words to write instructions rather than binary (0 and 1).

5. Software Engineering: is the design and writing of structured programs.

6. Operating Systems: working as a manager to facilitate access of the computer components for a program.

CPIT 201A. Alkhaldi

1.4 HISTORY

MECHANICAL MACHINES (before 1930)

Century Inventor Invention Function

17th Pascal Pascaline ADD, SUB Calculator

Late 17th Leibnitz’s Leibnitz’s Wheel ADD, SUB, MUL, DIV Calculator

19th Jacquard Jacquard Loom Controlling Textiles Machine

1823 Baddage Difference Engine Advanced calculator

Analytical Engine Semi computer

1890 Hollerith Programmer machine, can read, tally, and sort data on punched cards

CPIT 201A. Alkhaldi

BIRTH OF ELECTRONIC COMPUTERS (1930-1950)

• Early Electronic Computers (Turing Model) - The early computers of this period did not store the

program in memory; all were programmed externally. - Five computers were prominent during these years:

ABC, Z1, Mark I, Colossus, and ENIAC.• Computers Based on the von Neumann Model The first computer based on von Neumann’s was made in

1950 at the University of Pennsylvania (EDVAC) ”Electronic Discrete Variable Automatic Computer” And at Cambridge University by M.Wilkes (EDSAC)

CPIT 201A. Alkhaldi

COMPUTER GENERATIONS (1950-present)

Computer built after 1950 are following, more or less, the von Neumann model. The computers has become faster, smaller, and cheaper, but the principle is almost the same. Each generation witnesses some major change in hardware or software (but not the model).

Characterized by the emergence of commercial computers. Computers were bulky and used vacuum tubes as electric switches.

• First Generation (roughly 1950-1959)

CPIT 201A. Alkhaldi

The invention of integrated circuit (transistors, wiring, and other components on a single chip) reduced the cost and size of computers even further. Minicomputers appeared on the market. Software industry was born.

• Third Generation (roughly 1965 -1975 )

Used transistors instead of vacuum tubes. This reduced the size of computers as well as their cost. Two high-level programming languages, FORTRAN and COBOL , were invented and made programming easier.

• Second Generation (roughly 1959-1965)

CPIT 201A. Alkhaldi

The fourth generation saw the appearance of microcomputers. Advances in the electronics industry allowed whole computer subsystems to fit on a single circuit board. This generation also saw the emergence of computer networks.

• Fourth Generation (approximately 1975-1985)

It witnessed the appearance of laptop and palmtop computers, improvements in secondary storage media (CD-ROM, DVD, etc.), the use of multimedia, and the phenomenon of virtual reality.

• Fifth Generation (approximately 1985-NOW)

CPIT 201A. Alkhaldi

1.5 SOCIAL AND ETHICAL ISSUES

Computer science has created some peripheral issues, the most prevalent of which can be categorized as social and ethical issues.

Social Issues:•Dependency•Social justice•Digital divide

Ethical Issues:•Privacy•Copyright•Computer crime

CPIT 201A. Alkhaldi

1.6 COMPUTER SCIENCE AS DISCIPLINE

• With the invention of computers, a new discipline has

evolved: computer science.

• Like any other discipline, computer science has now divided

into several areas.

• We can divide these areas into two broad categories:

systems areas and applications areas.

• This book is a breadth-first approach to all these areas.