computer generation and language translator
TRANSCRIPT
COMPUTER GENERATIONS
& LANGUAGE
TRANSLATORSubmitted By: - Shruti Pendharkar
OBJECTIVE•What is Computer?
•Computer Evolution
•Computer Languages
•Language Translators
•Reference
WHAT IS COMPUTER?
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)
EVOLUTION OF COMPUTER
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
ZERO GENERATION (1500 BC-1945)
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
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.
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.
FIRST GENERATION 1946-1959
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.
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
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.
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.
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.
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
SECOND GENERATION (1959-
1965)
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.
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.
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.
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.
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.
THIRD GENERATION (1965-1971)
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.
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
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.
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.
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.
FOURTH GENERATION(1971-1989)
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.
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
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
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.
FIFTH GENERATION(1989-PRESENT )
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.
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.
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.
COMPUTER LANGUAGES
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.
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.
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.
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.
Example of machine, assembly and high-level
language
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
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
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
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
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
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.
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
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.)
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
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.
TRANSLATION HIERARCHY
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.
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
ROLE OF LINKER AND LOADER
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.
ROLE OF LOADER