0% found this document useful (0 votes)
16 views

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

The document provides an overview of computer organization and architecture, focusing on basic terminologies, instruction set architecture (ISA), and levels of programming languages. It explains the significance of ISA in enabling software compatibility across different hardware implementations and details the characteristics of machine, assembly, and high-level languages. Additionally, it outlines the roles of various language processors, including compilers, interpreters, and assemblers.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

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

The document provides an overview of computer organization and architecture, focusing on basic terminologies, instruction set architecture (ISA), and levels of programming languages. It explains the significance of ISA in enabling software compatibility across different hardware implementations and details the characteristics of machine, assembly, and high-level languages. Additionally, it outlines the roles of various language processors, including compilers, interpreters, and assemblers.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 14

University Institute of Engineering

Department of Computer Science & Engineering

COMPUTER ORGANIZATION & ARCHITECTURE


(23CST-204/23ITT-204)

ER. SHIKHA ATWAL


E11186

ASSISTANT PROFESSOR

BE-CSE
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.
INSTRUCTION SET ARCHITECTURE

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 memorize
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