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

Computer Architecture ITC2202: Instruction Set Architecture (ISA)

The document provides information on how to protect yourself from the coronavirus in 3 steps: 1. Wash your hands properly and frequently using soap and water or hand sanitizer when soap and water aren't available. 2. Practice social distancing by staying home and avoiding close contact with sick people. 3. Sneeze and cough into tissues or your elbow and avoid touching your face with unwashed hands.

Uploaded by

Down Code
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
64 views

Computer Architecture ITC2202: Instruction Set Architecture (ISA)

The document provides information on how to protect yourself from the coronavirus in 3 steps: 1. Wash your hands properly and frequently using soap and water or hand sanitizer when soap and water aren't available. 2. Practice social distancing by staying home and avoiding close contact with sick people. 3. Sneeze and cough into tissues or your elbow and avoid touching your face with unwashed hands.

Uploaded by

Down Code
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

COMPUTER

ARCHITECTURE
ITC2202
Chapter III
Instruction Set Architecture (ISA)
Dr. Chamara Liyanage
Senior Lecturer
Department of Information and Communication Technology ( ICT)
Faculty of Technology , University of Sri Jayewardenepura
2020/04
How to protect yourself from the coronavirus

▪ How likely are you to get the coronavirus ?


▪ cold- or flu-like symptoms, and some people who get the virus will be completely
asymptomatic.

▪ Responsibility
▪ Everyone has a responsibility to avoid getting infected and the spread to other people

▪ How to protect yourself and others


▪ Wash your hands properly and frequently
using soap and water and washing for at least 20 seconds -- or using hand sanitizer when soap
and water aren't available,
▪ Stay home
▪ Avoid close contact with people who are sick, especially people exhibiting respiratory
symptoms and fever and people who are traveling.
▪ Sneeze and cough into tissues or the crook of your elbow. If you get mucus or spit on your
skin, clean it off right away
▪ Put the mask properly and keep on it always
▪ Avoid touching your face with unwashed hands
Source: https://www.cnet.com/how-to/how-to-protect-yourself-from-coronavirus/
https://www.youtube.com/watch?v=OABvzu9e-hw
References

▪ Computer Organization and Architecture:


Designing for Performance, eighth edition,
by William Stallings
* Ten edition also available

▪ Computer Architecture
A quantitative Approach
John L. Hennessy and David A. Patterson
Topics

▪ Computer system organization ( ITC1042 )


▪ Introduction
▪ Memory Architecture and Process
▪ Interfacing and I /O
▪ Instruction Set Architecture (ISA)
▪ Parallel Computer Architectures
▪ Process of CPU and GPU
Instruction Set Architecture ( ISA )

▪ The Instruction Set Architecture is the part of the


processor that is communicate with the programmer or
compiler.
Or
▪ The complete collection of instructions that are
understood by a CPU

▪ The ISA serves as the boundary between software and


hardware
▪ A well define interface between software and hardware
Instruction Set Architecture ( ISA )

▪ Machine language: binary representation of operations and (addresses of) arguments


▪ Assembly language: mnemonic representation for humans

Source: https://www.youtube.com/watch?v=DJgZi0Bdp_g
Different Architectures

ISA specific collection of instructions


supported by a common set of processors
▪ ISA of x86 – Intel and AMD processors
( Even entirely different implementations are in
AMD Athlon and Core 2 duo processors, the
same set of basic operations as x86 Instruction
set is used)
▪ Power - IBM and others, largely for servers
▪ ARM – Mobile and embedded system
▪ MIPS – Primarily embedded environments
MIPS is one of the most widely used ISAs in
education due to its simplicity.
Source: https://www.youtube.com/watch?v=DJgZi0Bdp_g
RISC and CISC architectures (Explained in the previous
chapter)

There are two types of concepts to implement the processor hardware architecture.
▪ Complex Instruction Set computer (CISC)
A complex instruction set computer is a computer where single instructions can
perform numerous low-level operations.
Computers based on the CISC architecture are designed to decrease the memory
cost.

Nintendo Switch
▪ Reduced Instruction Set Computer (RISC) DS

RISC is used in portable devices due to its power efficiency. For Example, Apple iPod
and Nintendo DS (handheld game console ).
RISC is a type of microprocessor architecture that uses highly-optimized set of
instructions.
Difference between RISC and CISC
CISC RISC

▪ CSIC processor has complex instructions ▪ RISC processors have simple instructions
that take up multiple clocks for execution. taking about one clock cycle. The average
The average clock cycle per instruction clock cycle per instruction (CPI) is 1.5
(CPI) is in the range of 2 and 15. ▪ Performance is optimized with more focus
on software
▪ Performance is optimized with more focus
on hardware. ▪ The instruction set is reduced i.e. it has
only a few instructions in the instruction set.
▪ The instruction set has a variety of different Many of these instructions are very
instructions that can be used for complex primitive.
operations.
▪ It does not require external memory for
▪ It requires external memory for calculations calculations

▪ Eg. Motorola 68000 family, AMD, and ▪ E.g. The most common RISC
microprocessors are ARM, MIPS,
Intel x86 CPUs.
Elements of an Instruction

▪ Operation code (opcode)


▪ Do this: ADD, SUB, MPY, DIV, LOAD, STOR
▪ Source operand reference
▪ address of arguments or source of operands , e.g. register, memory location
▪ Result operand reference
▪ The operation produce a result
▪ Next instruction reference
▪ Processor tells to fetch the next
Instruction When complete the current execution
Instruction Cycle State Diagram
Instruction types

A computer should have a set of instructions that allows the user to


formulate any data processing task
▪ Data processing / operations : arithmetic and logic instruction
▪ Add, sub, etc.

▪ Data storage : movement of data into or out of register and or


memory location
▪ Data movement / transfer : I/O instructions
▪ Store / load data to /from memory

▪ Control/Sequencing - jump, branch instructions ( if equal)


Instruction types ; Data processing

▪ Arithmetic ▪ Logical
▪ Add, Subtract, Multiply, Divide for ▪ Bitwise operations: AND, OR, NOT,
signed integer (+ floating point and XOR, TEST, CMP, SET
packed decimal) – may involve
▪ Shifting and rotating functions, e.g.
data movement
▪ logical right shift for unpacking: send
▪ May include 8-bit character from 16-bit word
▪ Absolute (|a|) ▪ arithmetic right shift: division and
▪ Increment (a++) truncation for odd numbers
▪ Decrement (a--) ▪ arithmetic left shift: multiplication
▪ Negate (-a) without overflow
Instruction types ; Data Transfer

▪ Store, load, exchange, move, clear, set, push, pop


▪ Specifies: source and destination (memory, register, stack), amount of data
▪ May be different instructions for different (size, location) movements,
▪ I/O instructions

Input / Output (I/O instructions)

▪ May be specific instructions, e.g. INPUT, OUTPUT


▪ May be done using data movement instructions (memory mapped I/O)
▪ May be done by a separate controller (DMA): Start I/O, Test I/O
Processor Architecture based on Number of Addresses

▪ One of the traditional ways of


describing processor architecture is in
terms of the number of addresses
contained in each instruction.
▪ This dimension has become less
significant with the increasing
complexity of processor design
▪ compares typical one-, two-, and
three- address instructions that could
be used to compute
Y = (A - B)/[C + (D * E)].
Number of Addresses
▪ Examples for branching and non branching programs

▪ Eg 1. non branching program


AC- accumulator
T = top of stack
(T-1) =2nd element of stack
A,B,C = memory or register locations
Number of Addresses
▪ Eg 2. branching
program

Source :
Interactive lecture at http://test.scalable-learning.com,
Number of Addresses

▪ More addresses
▪ More complex (powerful?) instructions
▪ More registers - inter-register operations are quicker
▪ Less instructions per program

▪ Fewer addresses
▪ Less complex (powerful?) instructions
▪ More instructions per program, e.g. data movement
▪ Faster fetch/execution of instructions
Types of Operands

The most important general categories of data are


▪ Addresses
▪ Physical or logical references of the location of data

▪ Numbers
Three types of numerical data are common in computers
Binary integer or binary fixed point
Binary floating point
Decimal

▪ Characters
Text or character string and represented by a sequence of bits. E.g. ASCII (American Standard Code for
Information Interchange), IRA (International Reference Alphabet

▪ Logical data
Boolean or binary data
NEXT PART 2

You might also like