Microarchitecture and Instruction Set Architecture Last Updated : 21 Jan, 2022 Comments Improve Suggest changes Like Article Like Report In this article, we look at what an Instruction Set Architecture (ISA) is and what is the difference between an 'ISA' and Microarchitecture. An ISA is defined as the design of a computer from the Programmer's Perspective. This basically means that an ISA describes the design of a Computer in terms of the basic operations it must support. The ISA is not concerned with the implementation-specific details of a computer. It is only concerned with the set or collection of basic operations the computer must support. For example, the AMD Athlon and the Core 2 Duo processors have entirely different implementations but they support more or less the same set of basic operations as defined in the x86 Instruction Set. Let us try to understand the Objectives of an ISA by taking the example of the MIPS ISA. MIPS is one of the most widely used ISAs in education due to its simplicity. The ISA defines the types of instructions to be supported by the processor. Based on the type of operations they perform MIPS Instructions are classified into 3 types: Arithmetic/Logic Instructions: These Instructions perform various Arithmetic & Logical operations on one or more operands.Data Transfer Instructions: These instructions are responsible for the transfer of instructions from memory to the processor registers and vice versa.Branch and Jump Instructions: These instructions are responsible for breaking the sequential flow of instructions and jumping to instructions at various other locations, this is necessary for the implementation of functions and conditional statements. The ISA defines the maximum length of each type of instruction. Since the MIPS is a 32 bit ISA, each instruction must be accommodated within 32 bits. The ISA defines the Instruction Format of each type of instruction. The Instruction Format determines how the entire instruction is encoded within 32 bits There are 3 types of Instruction Formats in the MIPS ISA: R-Instruction FormatI-Instruction FormatJ-Instruction Format If we look at the Abstraction Hierarchy: Figure - The Abstraction Hierarchy We note that the Microarchitectural level lies just below the ISA level and hence is concerned with the implementation of the basic operations to be supported by the Computer as defined by the ISA. Therefore we can say that the AMD Athlon and Core 2 Duo processors are based on the same ISA but have different microarchitectures with different performance and efficiencies. Now one may ask the need to distinguish between Microarchitecture and ISA? The answer to this lies in the need to standardize and maintain the compatibility of programs across different hardware implementations based on the same ISA. Making different machines compatible with the same set of basic instructions (The ISA) allows the same program to run smoothly on many different machines thereby making it easier for the programmers to document and maintain code for many different machines simultaneously and efficiently. This Flexibility is the reason we first define an ISA and then design different microarchitectures complying with this ISA for implementing the machine. The design of a lower-level ISA is one of the major tasks in the study of Computer Architecture. Instruction Set ArchitectureMicroarchitectureThe ISA is responsible for defining the set of instructions to be supported by the processor. For example, some of the instructions defined by the ARMv7 ISA are given below.The Microarchitecture is more concerned with the lower level implementation of how the instructions are going to be executed and deals with concepts like Instruction Pipelining, Branch Prediction, Out of Order Execution.The Branch of Computer Architecture is more inclined towards the Analysis and Design of Instruction Set Architecture. For Example, Intel developed the x86 architecture, ARM developed the ARM architecture, & AMD developed the amd64 architecture. The RISC-V ISA developed by UC Berkeley is an example of an Open Source ISA.On the other hand, the Branch of Computer Organization is concerned with the implementation of a particular ISA deals with various hardware implementation techniques, i.e. is the Microarchitecture level. For Example, ARM licenses other companies like Qualcomm, Apple for using ARM ISA, but each of these companies have their own implementations of this ISA thereby making them different in performance and power efficiency. The Krait cores developed by Qualcomm have a different microarchitecture and the Apple A-series processors have a different microarchitecture. The x86 was developed by Intel, but we see that almost every year Intel comes up with a new generation of i-series processors. The x86 architecture on which most of the Intel Processors are based essentially remains the same across all these generations but, where they differ is in the underlying Microarchitecture. They differ in their implementation and hence are claimed to have improved Performance. These various Microarchitectures developed by Intel are codenamed as 'Nehalem', 'Sandybridge', 'Ivybridge', and so on. Therefore, in conclusion, we can say that different machines may be based on the same ISA but have different Microarchitectures. Comment More infoAdvertise with us A ArnaMaity Follow Improve Article Tags : Computer Organization & Architecture Technical Scripter 2018 Explore Basic Computer InstructionsWhat is a Computer? 8 min read Issues in Computer Design 1 min read Difference between assembly language and high level language 2 min read Addressing Modes in 8086 7 min read Difference between Memory based and Register based Addressing Modes 4 min read Von Neumann Architecture 6 min read Harvard Architecture 3 min read Interaction of a Program with Hardware 3 min read Simplified Instructional Computer (SIC) 4 min read Instruction Set used in simplified instructional Computer (SIC) 1 min read Instruction Set used in SIC/XE 2 min read RISC vs CISC 4 min read Vector processor classification 5 min read Essential Registers for Instruction Execution 3 min read Introduction of Single Accumulator based CPU organization 2 min read Stack based CPU Organization 4 min read Machine Control Instructions in Microprocessor 4 min read Very Long Instruction Word (VLIW) Architecture 4 min read Input and Output SystemsComputer Organization | Different Instruction Cycles 11 min read Machine Instructions 5 min read Instruction Formats 6 min read Difference between 2-address instruction and 1-address instructions 4 min read Difference between 3-address instruction and 0-address instruction 4 min read Register content and Flag status after Instructions 3 min read Debugging a machine level program 3 min read Vector Instruction Format in Vector Processors 7 min read Vector Instruction Types 4 min read Instruction Design and FormatIntroduction of ALU and Data Path 8 min read Computer Arithmetic | Set - 1 5 min read Computer Arithmetic | Set - 2 4 min read Difference Between 1's Complement Representation and 2's Complement Representation Technique 5 min read Restoring Division Algorithm For Unsigned Integer 5 min read Non-Restoring Division For Unsigned Integer 4 min read Computer Organization | Booth's Algorithm 7 min read How the Negative Numbers are Stored in Memory? 2 min read Microprogrammed ControlMicro-Operation 2 min read Microarchitecture and Instruction Set Architecture 5 min read Types of Program Control Instructions 6 min read Difference between CALL and JUMP instructions 5 min read Hardwired and Micro-programmed Control Unit 3 min read Implementation of Micro Instructions Sequencer 4 min read Performance of Computer in Computer Organization 5 min read Introduction to Control Unit and its Design 4 min read Computer Organization | Amdahl's law and its proof 2 min read Subroutine, Subroutine nesting and Stack memory 5 min read Different Types of RAM (Random Access Memory ) 8 min read Random Access Memory (RAM) and Read Only Memory (ROM) 8 min read 2D and 2.5D Memory organization 4 min read Input and Output OrganizationPriority Interrupts | (S/W Polling and Daisy Chaining) 5 min read I/O Interface (Interrupt and DMA Mode) 4 min read Direct memory access with DMA controller 8257/8237 3 min read Computer Organization | Asynchronous input output synchronization 7 min read Programmable peripheral interface 8255 4 min read Synchronous Data Transfer in Computer Organization 4 min read Introduction of Input-Output Processor 5 min read MPU Communication in Computer Organization 4 min read Memory Mapped I/O and Isolated I/O 5 min read Memory OrganizationIntroduction to memory and memory units 4 min read Memory Hierarchy Design and its Characteristics 6 min read Register Allocations in Code Generation 6 min read Cache Memory 5 min read Cache Organization | Set 1 (Introduction) 3 min read Multilevel Cache Organisation 6 min read Difference between RAM and ROM 7 min read Difference Between CPU Cache and TLB 4 min read Introduction to Solid-State Drive (SSD) 4 min read Read and Write operations in Memory 3 min read PipeliningInstruction Level Parallelism 5 min read Computer Organization and Architecture | Pipelining | Set 1 (Execution, Stages and Throughput) 9 min read Computer Organization and Architecture | Pipelining | Set 3 (Types and Stalling) 3 min read Computer Organization and Architecture | Pipelining | Set 2 (Dependencies and Data Hazard) 6 min read Last Minute Notes Computer Organization 15+ min read Like