From Structural Computer Organization by Tanenbuam
In a certain sense, a computer with n levels can be regarded as n different virtual machines, each one with a different machine language. We will use the terms ‘‘level’’ and ‘‘virtual machine’’ interchangeably. However, please note that like many terms in computer science, ‘‘virtual machine’’ has other meanings as well.
There is an important relation between a language and a virtual machine. Each machine has a machine language, consisting of all the instructions that the machine can execute. In effect, a machine defines a language. Similarly, a language defines a machine—namely, the machine that can execute all programs written in the language.
The machine languages of levels 1, 2, and 3 are numeric. Programs in them consist of long series of numbers, which are fine for machines but bad for people. Starting at level 4, the languages contain words and abbreviations meaningful to people.
What are the terminologies/names for the machine languages of level 0, 1 and 3? (The languages for the other levels are apparent to me)
In summary, the key thing to remember is that computers are designed as a series of levels, each one built on its predecessors. Each level represents a distinct abstraction, with different objects and operations present. By designing and analyzing computers in this fashion, we are temporarily able to suppress irrelevant detail and thus reduce a complex subject to something easier to understand.
The set of data types, operations, and features of each level is called its architecture. The architecture deals with those aspects that are visible to the user of that level. Features that the programmer sees, such as how much memory is available, are part of the architecture.
What are the "objects", "operations", "data types", "operations" and "features" for level 0, 1 and 3?