computer generation and language translator

62
COMPUTER GENERATIONS & LANGUAGE TRANSLATOR Submitted By: - Shruti Pendharkar

Upload: shruti-pendharkar

Post on 20-Jan-2017

558 views

Category:

Education


3 download

TRANSCRIPT

Page 1: Computer generation and language translator

COMPUTER GENERATIONS

& LANGUAGE

TRANSLATORSubmitted By: - Shruti Pendharkar

Page 2: Computer generation and language translator

OBJECTIVE•What is Computer?

•Computer Evolution

•Computer Languages

•Language Translators

•Reference

Page 3: Computer generation and language translator

WHAT IS COMPUTER?

Page 4: Computer generation and language translator

COMPUTER Computer is a device that transforms data into meaningful

Information. Data: the raw details that need to be processed to generate

some useful information. Computer can also be defined in terms of functions it can

perform.

A computer can accept data, store data, Process data as desired, retrieve the stored data as and when required and print the result in desired format.

INPUT

• KEYBOARD

• MOUSE• JOYSTICK

PROCESS

• CPU (CENTRAL PROCESSING UNIT)

Page 5: Computer generation and language translator

EVOLUTION OF COMPUTER

Page 6: Computer generation and language translator

COMPUTER GENERATIONSZero generation

First Generation

Second Generation

Third Generation

Fourth Generation

Fifth Generation

500BC-1945

Machines and gears

1946-1959

Vacuum tube

1959-1965 Transistor

1959-1965

Integrated Circuits

1971-1989 VLSI

1989-onwards

Artificial Intelligen

ce

Page 7: Computer generation and language translator

ZERO GENERATION (1500 BC-1945)

Page 8: Computer generation and language translator

ERA TIME PERIOD

DESCRIPTION

EXAMPLE PICTURES

Manual era

500 BC- 800 BC

Used hands, sticks, etc.

Salamis Tablet (abacus)

developed in 500BC

Mechanical era

1642 – 1937

Used

machines and gears

first multi-purpose,, computing device was probably Charles

Babbage's Difference

Engine

Electro Mechanic

al era

1938 – 1945

used electronic tubes and electrical relays.

Mark I made by Howard

Aiken

Page 9: Computer generation and language translator

ABACUS OR COUNTING FRAME

It was invented around 500-600 BC in an area around China or Egypt.

It was made of a wooden rack holding two horizontal wires with beads strung on them.

THE CALCULATING CLOCK

first gear-driven calculating machine

Invented by: - German professor Wilhelm Schickard in 1623.

Page 10: Computer generation and language translator

LOGARITHMS

A Scotsman named John Napier invented logarithms in 1617 .

It allows multiplication to be performed via addition wherein the logarithm of each operand, was originally obtained from a printed table.

Napier also invented an alternative to tables, where the logarithm values were carved on ivory sticks which are now called Napier's Bones. 

Page 11: Computer generation and language translator

FIRST GENERATION 1946-1959

Page 12: Computer generation and language translator

FIRST GENERATION

Vacuum Tubes(1946-1959)

Vacuum tubes were used for circuitry and magnetic drums for memory.

Batch Processing is done Executing a series of non interactive jobs all at one time

Machine language was used for programming which consisted of a series of zeroes and ones, making machine languages binary.

Page 13: Computer generation and language translator

Punch cards also known as Hollerith cards and IBM cards are paper cards containing several punched holes that where originally punched by hand and later by computers that represents data.

Punch cards were the primary method of storing and retrieving data in the early 1900s

Page 14: Computer generation and language translator

COMPUTERS BUILT IN FIRST GENERATION

COLOSSUS

Earliest Programmable Electronic Computer.

Designed by: - Dr Thomas Flowers at The Post Office Research Laboratories in London in 1943.

ENIAC

Electronic Numerical Integrator and Calculator

Designed By: -John Mauchly and John Presper Eckert in 1946 the University of Pennsylvania. Performed decimal arithmetic.

Page 15: Computer generation and language translator

EDVAC

▪Designed By: -John Mauchly and John Presper Eckert.

▪John Von Neumann, developed the idea of Stored Program Concept which was not present in ENIAC.

▪Used binary system.

UNIVA

UNIVersal Automatic Computer

first commercially general purpose electronic computer.

Designed By: -John Mauchly and John Presper Eckert in 1952.

Page 16: Computer generation and language translator

Some other  computers of this generation are   Electronic Delay Storage Automatic Calculator 

(EDSAC)

Bendix G-15

SSEC (Selective Sequence Electronic calculator) And Some IBM computers series such as

▪ IBM 604

▪ IBM 650

▪ IBM 701

▪ IBM 702 etc.

Page 17: Computer generation and language translator

ADVANTAGES & DISADVANTAGES

ADVANTAGES These computers

were fastest of their time.

DISADVANTAGES

Very big in size Not reliable Consumed large amount of

energy Constant maintenance

required More heat generated and

air-conditioning was required More costly Very slow in speed (data

processing) It was difficult to

programmed, because they used only machine language

Non-portable Limited commercial use

Page 18: Computer generation and language translator

SECOND GENERATION (1959-

1965)

Page 19: Computer generation and language translator

SECOND GENERATION Transistors (1959-1965)

In this generation, magnetic cores were used as primary memory and magnetic tape and magnetic disks as secondary storage devices

Transistors were used for circuitry. Transistor was invented in 1947 by three scientists J. Bardeen, H.W. Brattain and W. Shockley.

Page 20: Computer generation and language translator

In 2nd generation there was a clear partition between designers, builders, operators, programmers, and maintenance workers. These machines, now called MAINFRAMES, were locked away in especially air-conditioned computer rooms, with team of professional operators to run them.

Page 21: Computer generation and language translator

LANGUAGES DEVELOPED Assembly language and High Level Programming Language

like ALGOL, FORTRAN, COBOL were used. ALGOrithmic Language (ALGOL): -

A computer language in which information is expressed in algebraic notation and according to the rules of Boolean algebra.

FORmula TRANslation (FORTRAN): -A high-level computer programming language for mathematical and scientific purposes, designed to facilitate and speed up the solving of complex problems.

COmmon Business Oriented Language (COBOL): -The first widely-used high-level programming language for business applications invented in 1959.

Page 22: Computer generation and language translator

COMPUTERS BUILT IN SECOND GENERATION

The second generation also witnessed the development of two supercomputers - i.e. the most powerful devices amongst the peers. These two were the Liverpool Atomic Research Computer (LARC) and IBM7030.

Some of the important commercial machines of this era were IBM 704, 709 and 7094.

Page 23: Computer generation and language translator

ADVANTAGES & DISADVANTAGES

ADVANTAGES Faster, Smaller, Cheaper More energy-efficient and

more reliable than their first-generation computers.

They generated less heat and were less prone to failure.

They took comparatively less computational time.

Better portability. Hardware failure was not

so frequent.

DISADVANTAGES Air-conditioning required.

Frequent maintenance required.

Manual assembly of components

Special purpose computer Commercial production

was difficult and costly.

Page 24: Computer generation and language translator

THIRD GENERATION (1965-1971)

Page 25: Computer generation and language translator

THIRD GENERATION Integrated Circuit (1965-1971)

IC was invented by Robert Noyce and Jack Kilby at Texas Instruments in 1958-59.

The basic idea behind the IC chip was to build a complete electronic circuit into a single block of material, eliminating the tangled mess of wiring needed to connect individual transistors, resistors, capacitors, etc.

This became known as "solid-state" technology.

Page 26: Computer generation and language translator

Keyboards and monitors developed during third generation.

By this magnetic core memory was replaced by microchip and magnetic core and solid states were used as main storage.

High level language was developed like C, C++, Java, Visual Basic (VB), python, Pascal etc.

FIRST MOUSE

Page 27: Computer generation and language translator

COMPUTERS BUILT IN THIRD GENERATION

IBM 360: - Designed By:- IBM

(International Business Machines ) in 1966.

It was specifically designed to handle high-speed data processing for scientific applications such as space exploration, theoretical astronomy, subatomic physics and global weather forecasting. 

Page 28: Computer generation and language translator

Examples of third generation computers are

PDP-8 (Personal Data Processor)

PDP-11, ICL-1900 series,

Honeywell Model 316,

Honeywell -6000 series, ICL 2900

CDC-1700 (Control Data Corporation) and

IBM 370 etc.

Page 29: Computer generation and language translator

ADVANTAGES & DISADVANTAGES

ADVANTAGES Smaller and Reliable than Lower heat generation Computational time got

reduced from microseconds to nanoseconds.

Maintenance cost is low because hardware failures are rare.

Easily portable. Widely used for various

commercial applications all over the world.

Less power requirement

DISADVANTAGES

Air-conditioning required in many cases.

Highly sophisticated technology required for the manufacture of IC chips.

Page 30: Computer generation and language translator

FOURTH GENERATION(1971-1989)

Page 31: Computer generation and language translator

FOURTH GENERATION VLSI Generation (1971-1989)

The fourth generation computers emerged with development of LSI (Large Scale Integration) and VLSI (Very Large Scale Integration).

With the help of VLSI technology microprocessor came into existence.

Core memories now were replaced by semiconductor memories and high-speed vectors dominated the scenario .

e.g.: - Cray1, Cray X-MP and Cyber205.

Page 32: Computer generation and language translator

COMPUTERS BUILT IN FOURTH GENERATION

For the first time in 1981 IBM introduced its computer for the home user and in 1984 Apple introduced the Macintosh Microprocessor.

Many high-level languages were developed in the fourth generation such as COBOL, FORTRAN, BASIC, PASCAL and C language.

Networking between the systems was developed.

APPLE2 -1977

Page 33: Computer generation and language translator

IBM 4341STAR 1000

RISC (Reduced Instruction Set Computers) microprocessor was introduced.

Improvement on distributed system, and network communication system.

Examples of fourth generation computers are

IBM 4341, DEC 10, STAR 1000, PUP 11 and APPLE II

Page 34: Computer generation and language translator

ADVANTAGES & DISADVANTAGES

ADVANTAGES Smallest in size due to the

use of (VLSI). More reliable as compared

to previous generations. Heat generation is

negligible. Hardware failure is

negligible. Easily portable. Hardware maintenance

was very rare. Computation is fast. These computers were

cheapest.

DISADVANTAGES Highly advanced

technology was required to manufacture very large scale integration.

The working of these computers is still dependent on the instructions given by the programmer.

Page 35: Computer generation and language translator

FIFTH GENERATION(1989-PRESENT )

Page 36: Computer generation and language translator

FIFTH GENERATIONULSI (1989-Present)

Are in developmental stage which is based on the artificial intelligence.

AI is the science and engineering of making intelligent machines, especially intelligent computer programs.

In the fifth generation, the VLSI technology became ULSI (Ultra Large Scale Integration) technology.

Resulting in the production of microprocessor chips having ten million electronic components.  

Page 37: Computer generation and language translator

CHARACTERISTICS Development of true artificial intelligence Are intended to work with natural language. Availability of very powerful and compact

computers at cheaper rates capabilities of reasoning . Aims to be able to

solve highly complex problem including decision making, logical reasoning.

They will be able to recognize image and graphs.

Will have their own thinking power, making decisions themselves.

capabilities of learning large capacity of internal storage extra high processing speed. They will be able to use more than one CPU for

faster processing speed.

Page 38: Computer generation and language translator

ADVANTAGES

Fastest and powerful computers till date; Execute a large number of applications at the same time and that too at a very high speed Decreasing the size of these computers to a large extent; The users of these computers find it very comfortable to use them because of the several additional multimedia features; They are versatile for communications and resource sharing.

Page 39: Computer generation and language translator

COMPUTER LANGUAGES

Page 40: Computer generation and language translator

PROGRAMMING LANGUAGES A set of rules and symbols used to operate a computer.

Whatever command we give to computer, it is first converted in its own language.

Each programming language has its own set of rules and grammar. These are called the syntax rules of the language.

These languages are classified under three categories:

Assembly languages

High Level Languages

Machine Language or Low Level Languages1.

2.

3.

Page 41: Computer generation and language translator

MACHINE LANGUAGE Also called as Machine code. The fundamental language of the

computer’s processor, also called Low Level Language.

All programs are converted into machine language before they can be executed.

Consists of combination of 0’s and 1’s that represent high and low electrical voltage. For example: -01011110, 10101100 etc.

A group of such digits is called an instruction and it is translated into a command that the central processing unit or CPU understands.

Page 42: Computer generation and language translator

ASSEMBLY LANGUAGE Assembly language (ASL) is a low-

level programming language used to interface with computer hardware.

Assembly language is the symbolic representation of a computer’s binary encoding-machine language.

It use letters and symbols instead of binary numbers. These symbols are called as mnemonics. For

example: - sub is for subtraction, add for addition, div for division etc

It is easier to understand then machine language.

Page 43: Computer generation and language translator

HIGH-LEVEL LANGUAGES High-level language is a programming language that

enables development of a program in much simpler programming context and is generally independent of the computer's hardware architecture.

They are designed to be used by the human operator or the programmer. 

Uses English like statements. BASIC, C/C++ and Java are popular examples of high-

level languages. The main advantage of high-level languages over low-

level languages is that they are easier to read, write, and maintain. 

Page 44: Computer generation and language translator

Example of machine, assembly and high-level

language

Page 45: Computer generation and language translator

LANGUAGE TRANSLATOR

Page 46: Computer generation and language translator

LANGUAGE TRANSLATOR Language translators convert programming source

code into language that the computer processor understands.

Programming source code has various structures and commands, but the computer processors understand only machine language.

Language translators are of three types: -Translators

CompilerAssembler

Interpreter

Page 47: Computer generation and language translator

COMPILER A computer program that translates source code into

object code. Source code : - High-level language version of the

program. Object code: -The resulting machine code program.

Primary reason for compiling source code is to create an executable program.

It checks all kinds of limits, ranges, errors etc. before executing it completely but the disadvantage is that when an error in a program occurs it is difficult to pin-point its source in the original program

Page 48: Computer generation and language translator

BLOCK DIAGRAMSource Code

• High-level Language

• Like C, C++, Java etc.

Compiler• It looks

at the entire piece / program of source code collecting & reorganizing instructions.

Error Messages

Page 49: Computer generation and language translator

INTERPRETER An interpreter is closely related to a compiler, but

takes both source program and input data. The basic purpose of interpreter is same as that of

complier but it can’t create a executable file like compiler.

Source Code

• High Level Languages

Interpreter

• Translation by line to line

Page 50: Computer generation and language translator

In compiler, the program is translated completely and directly executable version is generated. Whereas interpreter translates each instruction, executes it and then the next instruction is translated and this goes on until end of the program.

It is also called as LINE INTERPRETER because it is interpreted line by line, it is a much slower way of running a program than one that has been compiled but is easier for learners because the program can be stopped, modified and rerun without time-consuming compiles.

Interpreters however are easier to use, particularly for beginners, since errors are immediately displayed, corrected by the user, until the program is able to be executed

Page 51: Computer generation and language translator

DIFFERENCE BETWEEN COMPILER & INTERPRETERCOMPILER

Fast, creates executable file that runs directly on the CPU.

Debugging is more difficult. One error can produce many spurious errors.

Uses more memory - all the execution code needs to be loaded into memory, although tricks like Dynamic Link Libraries lessen this problem.

Unauthorized modification to the code more difficult. The executable is in the form of machine code. So it is difficult to understand program flow.

INTERPRETER Slower, interprets code one line

at a time. Debugging is easier. Each line of

code is analyzed and checked before being executed.

Uses less memory, source code only has to be present one line at a time in memory.

Easier to modify as the instructions are at a high level and so the program flow is easier to understand and modify.

Page 52: Computer generation and language translator

ASSEMBLER Assembler is software or a tool that translates

Assembly language to machine code.  Assembly is a human readable language but it

typically has a one to one relationship with the corresponding machine code. Therefore an assembler is said to perform isomorphic (one to one mapping) translation.

Source Code

• Assembly Language

Assembler

• perform isomorphic (one to one mapping) translation

Page 53: Computer generation and language translator

The translation process has two major parts. FIRST STEP : - To find memory locations with

labels so the relationship between symbolic names and addresses is known when instructions are translated.

SECOND STEP :- To translate each assembly statement by combining the numeric equivalents of opcodes, register specifier’s, and labels into a legal instruction

Assembler checks each instruction for it’s correctness and generates diagnostic message, if there are mistakes in the program.

Assembler directives (or pseudo instructions) provide instructions to the assembler itself . They are not translated into machine instructions. (e.g.: - START, ADD, SUB etc.)

Page 54: Computer generation and language translator

TYPES OF ASSEMBLERAssembler

On the basis of output generated .Self assembler or resident

assembler

Cross Assembler

On the basis of steps taken to generate the outputOne Pass Assembler

Two Pass Assembler

Page 55: Computer generation and language translator

DESCRIPTION Self assembler or Resident assembler: - If an

assembler which runs on a computer and produces the machine codes for the same computer

Cross Assembler: - If an assembler that runs on a computer and produces the machine codes for other computer.

One pass assembler : - It is the type of assembler which assigns the memory addresses to the variables and translates the source code into machine code in the first pass simultaneously.

Two Pass Assembler : -It is the type of assembler which reads the source code twice. First pass:- It reads all the variables and assigns them

memory addresses.  Second pass: - It coverts the source code in object code.

Page 56: Computer generation and language translator

TRANSLATION HIERARCHY

Page 57: Computer generation and language translator

LINKER Also called link editor and binder.

A linker is a program that combines object modules to form an executable program.

Many programming languages allow us to write different pieces of code, called modules, separately.

This simplifies the programming task because you can break a large program into small, more manageable pieces.

Page 58: Computer generation and language translator

JOB OF LINKER

Combines all the module.

replaces symbolic addresses with real addresses. Therefore, you may need to link a program even if it contains only one module.

Linker combines object files into an executable file

Relocate each object’s text and data segments

Resolve as-yet-unresolved symbols

Record top-level entry point in executable file

End result: a program on disk, ready to execute

Page 59: Computer generation and language translator

ROLE OF LINKER AND LOADER

Page 60: Computer generation and language translator

LOADER Loader is the part of an operating system that is

responsible for loading programs from executable (i.e., executable files) into memory, preparing them for execution and then executing them.

Loader is utility program which takes object code as input prepares it for execution and loads the executable code into the memory. Thus loader is actually responsible for initiating the execution process.

Page 61: Computer generation and language translator

ROLE OF LOADER

Page 62: Computer generation and language translator