Slide 2.3: A generic architecture of microcomputer systems (cont.)
Slide 3.1: Data representation
Home

Virtual Machine Concept


It is normally difficult to program in L0 for a low-level machine because it is enormously detailed and consists purely of numbers. Another new language L1, which is easier to use, may be built based on the L0. Another improved language L2 may also be created based on the L1, and so on.

A virtual machine is a self-contained operating environment that behaves as if it is a separate computer. Virtual machines are often used in the implementation of portable executors for high-level languages. The HLL is compiled into code for the virtual machine (an intermediate language) which is then executed by an interpreter written in assembly language or some other portable language like C. Examples are Java Virtual Machine, POPLOG, SNOBOL Implementation Language, and Smalltalk. This design has two advantages:
Level Virtual Machine Comments
5 High-level language Examples are C, C++, and Java.
4 Assembly language Assembly language uses short mnemonics such as ADD, SUB, and MOV that are easily translated to the machine language.
3 Operating system The low-level software which handles the interface to peripheral hardware, schedules tasks, allocates storage, and presents a default interface to the user.
2 Instruction set architecture (ISA) Machine language. Each machine-language instruction is executed by several microinstructions.
1 Microarchitecture A technique for implementing the instruction set of a processor as a sequence of microcode instructions.
0 Digital logic Physical machine hardware