1

I'm studying what makes a computer a computer

So far I understood that we have

High-Level programming language ->

-> Compiled into low level programming language (assembly language) ->

-> Which the assembler then uses to send instructions directly to the CPU using Machine Code

The instructions must obey the corresponding CPU architecture as well as the ISA (instruction set architecture) that this CPU uses.

And the CPU reads/writes data from registry or from hdd (or from sdd, etc.) through various channels.


The articles that I've read so far fail to mention the following two (key, from my POV) aspects of this journey that an instruction makes:

  1. Where exactly is the ISA stored? In what component of a whole system?
  2. And how does the CPU take it into account? Where along the journey? Does it "ask" explicitly the ISA (somehow) if the instruction received is valid?
Adelin
  • 7,809
  • 5
  • 37
  • 65
  • 2
    You might be better off doing some CPU implementation research. There are several ways a CPU's instruction set can be implemented, e.g., microcode. What component is it stored in? The CPU. – Dave Newton Sep 13 '17 at 19:25
  • 4
    The CPU design forms ISA itself. It will try to interpret any value in memory (pointed to as next-to-execute by instruction pointer address) as an instruction. It may be designed in such way, that some values are not valid instructions, and will cause it to fail, or its ISA may cover all possible values and some validly-looking instruction will be executed even when you point CPU to execute block of random values. Assembler doesn't send instructions to CPU, it prepares such content of memory (machine code), and usually it is stored into file on storage device, for later usage (execution). – Ped7g Sep 13 '17 at 19:48
  • 6
    "Where is the ISA stored" is like "what part of a book is the genre stored in" – harold Sep 13 '17 at 20:37
  • 1
    I have to say that, while I appreciate your question, it seems to indicate that you have some potentially fundamental misunderstandings. – David Hoelzer Sep 13 '17 at 22:29

2 Answers2

2

ISA is not like stored data process. It's a recipe of interfacing between hardware and software. An Instruction Set is consisting of Information (more specifically the binary bits). A compiler breaks a code into that level of abstraction. Below that level, we could have micro-programmed control architecture or hardwared controlled architecture to perform gate level activities. So, ISA can be viewed as a encoding schemes of operating Gates.

Dibakar
  • 36
  • 5
1

A simple description from university of virginia US :).

http://www.cs.virginia.edu/~cs333/notes/cs333_class3.pdf

an other one use full

http://www.ece.utep.edu/courses/web3376/Notes_files/ee3376-isa.pdf

if you need more let me known ;)