Multilevel viewpoint of a machine

hines can have as many as six levels. The lowest level is called the device level. These are transistors and explained by solid-state physics. At the digital logic level, we have objects called gates, composed of transistors. Each gate has one or more digital inputs (signals representing 0 or 1) and computes as outputs some function such as AND or OR. They can be used as registers, or combined for memory. For more information, click on the table below. The next level is the microarchitecture level. This is a collection of 8 to 32 registers for memory andALU (Arithmetic Logic Unit) to perform arithmetic and logic operations. The registers are connected to the ALU to form a data path, over which the data flow. The operation of the data path may be controlled by a microprogram, directly by hardware, or even by software, in which case the microprogram is the interpreter for instructions at the next level. The next level is called the Instruction set level (ISA level). This is a machine language. The next level is the operating system machine level. The next level is the Assembly level language. Programs in assembly language need to be translated into one of the lower level languages. The final level is the problem-oriented language level(USER LEVEL). These are highlevel languages such as BASIC, Pascal, FORTRAN, COBOL, C++, Java, etc. They are translated into lower level languages by compilers. Figure below explains these six levels. 5 Problem | | 4 level | | Translation (assembler) | Operating system machine language | | Partial interpretation (operating system) | Instruction set architecture level | | Interpretation (microprogram) or direct execution | Microarchitecture level | | Hardware | Assembly language oriented Translation language level | (compiler)













which identifies the instruction such as ADD or BRANCH. called gates. A digital circuit is one in which only two logical values are present. Tiny electronic devices. Device level explains the operation of the gates. The ISA level defines the interface between the compilers and the hardware. This level forms the interface between the hardware and the software.l0 Digital logic level Details el 0: At the bottom is the digital logic level. This makes it possible to execute programs written in different higher level languages. This contains a microprogram which fetches. A signal between 0 and 1 volt represents one value (binary 0) and one between 2 and 5 volts represents the other value (binary 1). Voltages outside these ranges are not permitted. The programs are translated to ISA level and the hardware can then execute them. This was the first developed level. The first is the opcode (short for operation code). el 1 The next level is the microarchitecture level which implements the Instruction Set Architecture (ISA). can compute various functions of these two-valued signals. So a computer architect while designing a machine must consult with both compiler writers and hardware engineers to incorporate the features both of them require at the ISA level. They must also make it compatible so that can run old existing programs. This is a building block for the higher levels. Thus a good ISA should define a set of instructions that can be implemented efficiently in current and future technologies. resulting in cost-effective designs over several generations. It is a language that both of them have to understand. . The second field specifies the operand (which variable). A transistor can be made to operate as a very fast binary switch. These gates form the hardware basis on which all digital computers are built. The higher level programs are compiled to an ISA program. This ISA program is then executed by microprogram or hardware. decodes and executes instructions Each instruction has one or two fields to serve some specific purpose. the level above it. which is the computer's real hardware. el 2 This level is between the microarchitecture level and the operating system level (level 2).

They should also provide a clean target for compiled code. In a pure assembly language. Assembly language uses symbolic names for memory locations while machine language needs numerical values. the operating system carries it out step by step. if reading data from file. etc. . MUL. They ranslated into lower level languages by compilers. what registers there are. The OSM level is always interpreted. FORTRAN. The compiler writer must know what the memory model is. SUB. el 5 e are high-level languages such as BASIC. COBOL. This includes all Instruction Set Architecture level instructions and a new set of instructions that the operating system adds called system calls. At the ISA level. it is called a compiler. For instance. or DIV. Java. An assembly language can only run on one family of machines (each machine has its own assembly language) while a higher level language can run on many machines. while for high-level language. el 3 The Operating System Machine (OSM) level is is a complete set of instructions available to application programmers. while the user mode runs application mode and does not permit execution of certain sensitive instructions (those that directly manipulate the cache). C++. Pascal. el 4 Every language must be converted into machine language. than their corresponding numerical values in machine language. Assembly language which uses mnemonic codes is easier than machine language using binary or hexadecimal codes. and what data types and instructions are available. If the source language is a symbolic representation for a numerical machine language (Assembly language) the translator is called an assembler. Translators are of two types. each statement produces exactly one machine instruction (oneto-one correspondence between machine instructions and statements in assembly language). So an n-line assembly language will produce an n-word machine language program. most machines operate on two modes: Kernel mode runs the operating system allowing all instructions to be executed. The assembly language can directly test if there is an overflow bit while a higher level language cannot. It is easier to remember ADD. in the same manner a microprogram would carry out an ADD instruction. ISA-level code is what a compiler outputs.

Sign up to vote on this title
UsefulNot useful