Article | REF: H1199 V1

CPU Instruction sets

Author: Daniel ETIEMBLE

Publication date: February 10, 2016

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


Overview

Français

ABSTRACT

Instruction sets (ISA) comprise the set of machine instructions that are used by a processor to run a program. They form the interface between hardware and software: they specify the different hardware operations, and are the target of a compiler. This article presents the main features of instruction sets, considering their main characteristics: fixed-length or variable length instructions, data formats, instruction formats, addressing modes, and techniques to translate the main structures of high level languages into machine instructions.

Read this article from a comprehensive knowledge base, updated and supplemented with articles reviewed by scientific committees.

Read the article

AUTHOR

  • Daniel ETIEMBLE: Engineer INSA Lyon - Professor Emeritus, Université Paris Sud

 INTRODUCTION

Processor instruction sets constitute a minimum static language at the interface between hardware and software: machine instructions define the operations to be performed by the hardware, and are the target of a compiler. These sets constitute an apparent architecture that differs from the hardware architectures that execute the instructions. Indeed, a program, in the form of machine language after compilation for a certain instruction set, must be able to be executed by a range of machines using this instruction set, but which differ in terms of execution speed, energy consumption, size, cost, etc. The IBM 360 and 370 series in the past, processors running the x86 instruction set, IA-32 and Intel 64 today, are examples illustrating the difference between instruction sets and the hardware architectures using them. However, an instruction set evolves over time according to the needs of applications and the possibilities offered by hardware: instruction sets change from 8-bit to 16-bit, then 32-bit, then 64-bit, and new instructions are added. The problem is that upward binary compatibility must be maintained for general-purpose processors: a processor running a more recent version of the instruction set must be able to execute binary code from an older version without recompilation.

This article does not detail any particular instruction set; it presents the essential features common to all instruction sets: instruction length, data and instruction format, and all the techniques for implementing at instruction set level the essential constructs of high-level languages such as assignments, sequence breaks, conditionals, loops, procedure calls and returns, and so on. In particular, it details the characteristics of RISC instruction sets (fixed-length instructions) and the dominant x86, IA-32 and Intel 64 CISC instruction sets (variable-length instructions).

For both types of instruction set, details are given of data access (registers, memory access and addressing modes), arithmetic and logic instructions, sequence break instructions, procedure call and return instructions, floating-point instructions and a few special instructions. A summary of the characteristics of the IA-32, Intel 64 and MIPS32 and MIPS64 sets is presented. An appendix provides information on instruction coding problems.

You do not have access to this resource.

Exclusive to subscribers. 97% yet to be discovered!

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


The Ultimate Scientific and Technical Reference

A Comprehensive Knowledge Base, with over 1,200 authors and 100 scientific advisors
+ More than 10,000 articles and 1,000 how-to sheets, over 800 new or updated articles every year
From design to prototyping, right through to industrialization, the reference for securing the development of your industrial projects

KEYWORDS

instruction sets   |   hardawre-software interface   |   RISC   |   CISC   |   instruction types   |   instruction format


This article is included in

Software technologies and System architectures

This offer includes:

Knowledge Base

Updated and enriched with articles validated by our scientific committees

Services

A set of exclusive tools to complement the resources

Practical Path

Operational and didactic, to guarantee the acquisition of transversal skills

Doc & Quiz

Interactive articles with quizzes, for constructive reading

Subscribe now!

Ongoing reading
Processor instruction sets
Outline