0% found this document useful (0 votes)
4 views5 pages

Lecture 1.2.1 (Instruction Set Architectures-Levels of programming Languages)

The document discusses Instruction Set Architectures (ISA) and levels of programming languages, defining key terms such as instruction, program, and programming language. It outlines the different levels of programming languages: machine language, assembly language, and high-level language, explaining their characteristics and uses. Additionally, it describes language processors like compilers, interpreters, and assemblers that translate programs between different languages.

Uploaded by

rashmi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views5 pages

Lecture 1.2.1 (Instruction Set Architectures-Levels of programming Languages)

The document discusses Instruction Set Architectures (ISA) and levels of programming languages, defining key terms such as instruction, program, and programming language. It outlines the different levels of programming languages: machine language, assembly language, and high-level language, explaining their characteristics and uses. Additionally, it describes language processors like compilers, interpreters, and assemblers that translate programs between different languages.

Uploaded by

rashmi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Lecture 1.2.

1 (Instruction Set Architectures: Levels of programming Languages)


BASIC TERMINOLOGIES
 Instruction: Order given to a computer processor by a computer program to compute
any task.
 Program: Sequence of machine instructions is called a program.
 Language: System of communication that is used is called a language.
 Programming Language: Set of rules that a programmer use to develop software or
to write some instructions for a computer to understand.

INSTRUCTION SET ARCHITECTURE


The instruction set provides commands to the processor, to tell it what it needs to do. The
instruction set consists of addressing modes, instructions, native data types, registers,
memory architecture, interrupt, and exception handling, and external I/O.
An instruction set architecture (ISA) is an abstract model of a computer. It is also referred to
as architecture or computer architecture. A realization of an ISA is called an implementation.
An ISA permits multiple implementations that may vary in performance, physical size, and
monetary cost (among other things); because the ISA serves as
the interface between software and hardware.
Software that has been written for an ISA can run on different implementations of the same
ISA. This has enabled binary compatibility between different generations of computers to be
easily achieved, and the development of computer families.
Both of these developments have helped to lower the cost of computers and to increase their
applicability. For these reasons, the ISA is one of the most important abstractions
in computing today.
LEVELS OF PROGRAMMING LANGUAGES
The various levels of programming languages are as shown below.

Level of Languages

1. Machine Language

● Language closer to the hardware itself is machine language.


● Programs written in machine language are highly efficient.

● It is in form of binary code (0 and 1) and that makes it difficult to memorise


different binary codes.
Example of Machine Language
LIGHT BULB
00000000: STOP PROGRAM
00000001: TURN BULB ON
00000010: TURN BULB OFF
00000100: DIM BULB BY 10%
00001000: BRIGHTEN BULB BY 10%

Light bulb Programming


2. Assembly Language
An assembly (or assembler) language, often abbreviated ASM, is a low-level
programming language for a computer, or other programmable device, in which there
is a very strong (but often not one-to-one) correspondence between the language and
the architecture's machine code instructions. Each assembly language is specific to a
particular computer architecture. In contrast, most high-level programming
languages are generally portable across multiple architectures but
require interpreting or compiling. Assembly language may also be called symbolic
machine code.
Assembly language is converted into executable machine code by a utility
program referred to as an assembler. The conversion process is referred to
as assembly, or assembling the source code. Assembly time is the computational step
where an assembler is run.

Rules of ASM Language

Each line of an assembly language program is arranged in three columns called fields.
The fields specify the following information.
 The label field may be empty or it may specify a symbolic address.
 The instruction field specifies a machine instruction or a pseudo instruction.
 The comment field may be empty or it may include a comment.
A symbolic address consists of one, two, or three, but not more than three
alphanumeric characters.
The first character must be a letter; the next two may be letters or numerals. The
symbol can be chosen arbitrarily by the programmer. A symbolic address in the label
field is terminated by a comma so that it will be recognized as a label by the
assembler.

3. High Level Language


High-level language is a programming language designed to simplify computer
programming. It is "high-level" since it is several steps removed from the actual code
run on a computer's processor.
High-level source code contains easy-to-read syntax that is later converted into a low-
level language, which can be recognized and run by a specific CPU.
High-level language" refers to the higher level of abstraction from machine language.
Rather than dealing with registers, memory addresses and call stacks, high-level
languages deal with variables, arrays, objects, complex arithmetic or boolean
expressions, subroutines and functions, loops, threads, locks, and other abstract
computer science concepts, with a focus on usability over optimal program efficiency.
Unlike low-level assembly languages, high-level languages have few, if any, language
elements that translate directly into a machine's native opcodes. Other features, such
as string handling routines, object-oriented language features, and file input/output,
may also be present.

LANGUAGE PROCESSORS/TRANSLATORS
A translator takes a program written in source language as input and converts it into a
program in target language as output.
Types of Processors/Translators

● Compilers

● Interpreters

● Assemblers

Compilers: Compiler is a translator which is used to convert programs in high-level


language to low-level language.
Use of Compiler
Interpreters: Interpreter is a translator which is used to convert programs in high-level
language to low-level language.

Use of Interpreter

Assemblers: Assembler is a translator which is used to translate the assembly language


code into machine language code.

Use of Assembler

References
Reference Books:

● J.P. Hayes, “Computer Architecture and Organization”, Third Edition.

● Mano, M., “Computer System Architecture”, Third Edition, Prentice Hall.


● Stallings, W., “Computer Organization and Architecture”, Eighth Edition, Pearson
Education.
Text Books:

● Carpinelli J.D,” Computer systems organization &Architecture”, Fourth Edition, Addison


Wesley.

● Patterson and Hennessy, “Computer Architecture”, Fifth Edition Morgaon Kauffman.

Reference Website

● https://thebittheories.com/levels-of-programming-languages-b6a38a68c0f2
● https://www.cs.toronto.edu/~gpenn/csc324/lecture2.pdf
● https://www.britannica.com/technology/computer-programming-language

Video References

● https://www.youtube.com/watch?v=RHvioCFOzZo
● https://www.youtube.com/watch?v=BQleAPh1Z3I

You might also like