What is Instruction: Definition and 36 Discussions

In computer science, 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, such as a central processing unit (CPU), is called an implementation.
In general, an ISA defines the supported data types, the registers, the hardware support for managing main memory, fundamental features (such as the memory consistency, addressing modes, virtual memory), and the input/output model of a family of implementations of the ISA.
An ISA specifies the behavior of machine code running on implementations of that ISA in a fashion that does not depend on the characteristics of that implementation, providing binary compatibility between implementations. This enables multiple implementations of an ISA that differ in performance, physical size, and monetary cost (among other things), but that are capable of running the same machine code, so that a lower-performance, lower-cost machine can be replaced with a higher-cost, higher-performance machine without having to replace software. It also enables the evolution of the microarchitectures of the implementations of that ISA, so that a newer, higher-performance implementation of an ISA can run software that runs on previous generations of implementations.
If an operating system maintains a standard and compatible application binary interface (ABI) for a particular ISA, machine code for that ISA and operating system will run on future implementations of that ISA and newer versions of that operating system. However, if an ISA supports running multiple operating systems, it does not guarantee that machine code for one operating system will run on another operating system, unless the first operating system supports running machine code built for the other operating system.
An ISA can be extended by adding instructions or other capabilities, or adding support for larger addresses and data values; an implementation of the extended ISA will still be able to execute machine code for versions of the ISA without those extensions. Machine code using those extensions will only run on implementations that support those extensions.
The binary compatibility that they provide make ISAs one of the most fundamental abstractions in computing.

View More On Wikipedia.org
  1. M

    Suggestions for videos teaching engineering concepts

    I hope to one day help engineering students by having a wealth of videos that cover the "weed-out" courses (in the first two years of engineering curriculum). Does anyone have any suggestions on how I can make these videos be the best that they can be? I plan to do narrated powerpoints, but I...
  2. ZapperZ

    Discover the Power of Peer Instruction for Intro E&M Classes

    I've been paying attention to this teaching methodology for a few years (even before I became an educator), and over the past couple of years, have started to incorporate parts of its technique into my classes. But this year, I've decided to go into it head on and going all in for my intro E&M...
  3. Ethan Singer

    Studying Where to start physics instruction?

    Due to a myriad of unfortunate circumstances, I'm now schooling myself online. I'm currently a Senior in high school, and I intend to graduate before April. So here I am just finishing up calculus, and having just realized that I can study both multivariable calc/Linear algebra at the same time...
  4. R

    Why Does MIPS Show a Negative Result for Large Factorials?

    when I try to compile the MIPS instruction in order to compute the factorial of n number? i get the following error in the console as: Enter the factorial number: 20 factorial of given number: -2102132736 The output which I am getting as negative integer of a given factorial instead of...
  5. SuperSusanoo

    Question about JAL instruction in datapath

    Homework Statement In this problem, you will modify the single-cycle datapath we built up in class to implement JAL instruction. The MIPS jump and link instruction, JAL, is used to support procedure calls by jumping to jump address (similar to j ) and saving the address of the following...
  6. 22990atinesh

    Understanding Instruction Cycle?

    A basic instruction cycle consists of these 5 stages. 1. IF - Instruction Fetch 2. RD - Instruction Decode and Register Read 3. EX - Execute 4. MA - Memory Access 5. WB - Write Back I understood the meaning of all the stages accept 4th MA (Memory access), what's the significance of this stage.
  7. vead

    Transfer data from memory to register / register to memory?

    hello I need some help. I created one example to understand some basic component ram memory A accumulator 4bit R1 resistor 4 bit ( R1 is temporary data storage register ) Register memory address bus - 2 bits (RA0,1); Register memory data bus - 4 bits (RD0~3); Register memory read enable...
  8. kyphysics

    Why Does Math Instruction Consist of Just Doing Problems?

    I start back at community college this coming Monday and have been reading reviews of professors at Rate My Professor. One common complaint that I see with so many math instructors on there is that they merely do practice problems on the board and that's all that math instruction consists of...
  9. vead

    Fetching and executing instruction?

    Instruction should be fetch , decode and execute. ''Instruction fetch from memory'' I have read this statement many times but don't know which memory ROM or RAM memory ?
  10. M

    Python problem with instruction open()

    I am fiddling with python v2.7.5,i am using Pyscripter version x86 to write my program and i do not know how to deal with this problem when i run my program: PROBLEM: ___________________________________________ IOError:[Errno 2] No such file or directory:'words.txt' |...
  11. N

    Why do my programs keep coming up as NTVDM CPU illegal instruction?

    I am using Windows XP Version 2002 and I am using freecommandLinetools as a compiler for the c++ language. Every time I write a program it always says it is an NTVDM CPU illegal instruction and it doesn't work, what's wrong with my programs? Here is an example: #include <iostream> using...
  12. Fantini

    MHB Peer Instruction: A Revolutionary Teaching Method

    Hey guys! I'm not sure if you are familiar with the Peer Instruction method (I wasn't), and after watching the following video it has blown my mind. What do you guys think of it? Cheers! (Clapping)
  13. reddvoid

    Is PUSH A Instruction Valid in 8085?

    Is PUSH A Instruction Valid in 8085 I get this doubt because PUSH and POP always acts on register pairs but only register pairs available in 8085 are BC DE HL there is no register to pair with A so ?
  14. topsquark

    MHB Addressing Discalculia in Math Instruction: Tips and Strategies

    I have a friend who is taking a couple of Math courses this Spring. I have referred here to MHB (and I'll be helping her directly myself.) She has a condition that is called "discalculia." It is a variant on dislexia in which math problems become very difficult. She has problems staying on...
  15. twoski

    Instruction Encoding [assembly]

    Homework Statement A 1-address computer is one whose instruction can contain at most one operand address. MARIE is an example of such a computer. Typically each instruction is stored as a single word in the memory. Assume the following machine details. (i) A word contains n bits, and k...
  16. N

    Assembly JC Instruction for Converting Input to Integer with Error Handling

    I am getting input from user and convert to int . if input is not valid(has invalid chars etc) i need to ask user to re enter the number . ;get number jc displayErroMsg ; If value is not valid then display msg and ask user to re enter the value. ;I don't know where I need to put...
  17. J

    MIPS Assembly Code - Convert instruction code to binary

    Homework Statement Write a single line MIPS assembly code as an input through the SPIM simulator console and the program will output a 32 bit MIPS machine code through the console. I'm using PCSpim to write the code. An example, I input this instruction in the console. addi...
  18. S

    Illegal Instruction Error in Mac terminal

    I am running a mac os x 10.7 system I am writing a fortran code which compiles, however, whenever I run my code (./file.out) all I receive in return is the message "Illegal Instruction". I have tried messing with my code and I continue to receive this message. Any help with this would be...
  19. N

    Swansea University puts up toilet instruction posters

    It's Friday night, I'm bored and too fed up with everything to do anything constructive. As such: "Swansea University puts up toilet instruction posters". http://www.bbc.co.uk/news/uk-wales-south-west-wales-16983788 The picture is epic.
  20. P

    Unclear Format and Instruction

    Homework Statement You are on the highway traveling at 110 Km / Hr and are trying to overtake a big truck in front of you (travelling at 100Km/hr). From the opposite direction at 100Km/hour, another car is coming. Assume that you need 50 metres to overtake the truck. Approximately how far...
  21. S

    Processor instruction prefixes (number of additional clock cycles)

    More specifically, this question is oriented towards the Intel 8086. I have this manual that lists the number of clock cycles the 8086 requires to execute each of its instructions, prefixes, et cetera. My question is about repeat string instructions. The REP prefix is listed as 2 clocks...
  22. Z

    Find Instruction Manuals for Oscilloscopes, Vacuum Pumps and More

    Stuff like osciolloscopes, vacuum pumps, plumbing/tubes/joints, soldering guns, etc. that it would be nice, cause it takes some time to find all these manuals, and filter the information... *instruction manuals (in title)
  23. K

    How can I understand whether an instruction is a fetch or read or

    How can I understand whether an instruction is a fetch or read or write instruction?..Please explain with examples of microprocessor 8085 instruction. How can I count the no. of T states required by a particular 8085 microprocessor instruction? Thank you
  24. X

    Help with converting machine language instruction into MIPS assembly instruction

    I think it's easy, but I don't get it. Given the machine language instruction 0x00221820. What MIPS assembly instruction does it represent? I know the solution. It's add $3, $1, $2 I just don't know how to get there. I know I have to convert the numbers into binary first. So you have...
  25. P

    Understanding the TestAndSet() Instruction and its Effects

    I understand that the purpose of the TestAndSet() instruction is to test and contents of the register and set new values. (returning the old value). I have a question regarding this instruction: function TestAndSet(boolean lock) { boolean initial = lock lock = true return...
  26. B

    Looking for an electrodynamics text that includes vector calculus instruction

    Hello everyone, I wonder if a textbook like the one I described in the subject line exists - most of the classical electrodynamics textbooks I've looked at assume you already have a solid background in vector calculus. I'm trying to do a self-study in electrodynamics, and while I have taken...
  27. ZapperZ

    Changes in Intro Physics Instruction

    This http://www.nytimes.com/2009/01/13/us/13physics.html?hp" is describing how, at many leading institutions in the US, there are revolutionary changes being made in how introductory physics courses are being taught to students, especially to non-physics majors. Zz.
  28. J

    Check PIC Chip Input Switches State

    when switches are connected to the inputs of a PIC chip and if we want to see whether any of the switches have changed state. What single instruction can be used ?
  29. Mentz114

    ATH: Solving Differential Equations for B(x) with Constraints and a Constant K

    This is not homework, these equations are constraints I've encountered in some GR work. But I'm hopeless with differential equations and I have two I need to solve. Even after reading some instructive texts, I still can't do it. \frac{dB(x)}{dx} = \frac{B(x)}{x} - \frac{1}{x}...
  30. C

    What are the approximate costs for operations on common x86 chips?

    As a first step to optimizing code, I like to think about faster ways to do things. Algorithmic improvements are far better than minute improvements to code, or even use of inline assembly, in general. But most optimizations beyond common subroutine elimination and its ilk substitute...
  31. M

    Cycles per instruction question, why different CPI when I change for loop order?

    Hello everyone, this is a computer science/computer engineering problem... I had the following file that multiplies 2 matrices together, with 100 elements and puts it into a 3rd 100 element matrix. Well I used Simple Scalar to anlayize the CPI generated by the code and it also records the miss...
  32. E

    Pros and cons of MIPS relative to instruction set choices

    could someone help me with this, my ideas are sort of not precise give pros and cons of MIPS relative to these instruction set choices: 1. supporting indexed addressing mode 2. supporting only word-sized access to memory 1. --- dunno, sure if it all were immediate, it would be a mess...
  33. M

    MIPS32 (ASM) greater than or equal too, pseudo instruction question

    Hello everyone. I'm trying to figure this questoin out, it says: We want to tr4anslate the pseduo instruction "bge $s1, $s2, Lb1" into two real MIPS assembly instructions. Which one is correct. A: slt $t0, $s2, $s1 beq $t0, $zero, Lb1 B: slt $t0, $s2, $s1 bne $t0, $zero, Lb1 C...
  34. Cyrus

    What are the dangers of Al-gebra and the use of weapons of math instruction?

    Ha, I got this email today from a friend. It's good for a chuckle.
  35. dduardo

    What causes the different instruction offset between gdb/linux and debug/dos?

    I notice with gdb/linux each instruction is offset by 5 while debug/dos each instruction is offset by 3. What is linux doing that dos isn't?