Вы находитесь на странице: 1из 3

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)







Digital logic level


el 0: At the bottom is the digital logic level, which is the computer's real hardware. This is a building block for the higher levels. A digital circuit is one in which only two logical values are present. 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. Tiny electronic devices, called gates, can compute various functions of these two-valued signals. These gates form the hardware basis on which all digital computers are built. Device level explains the operation of the gates. A transistor can be made to operate as a very fast binary switch.

el 1 The next level is the microarchitecture level which implements the Instruction Set Architecture (ISA), the level above it. This contains a microprogram which fetches, decodes and executes instructions Each instruction has one or two fields to serve some specific purpose. The first is the opcode (short for operation code), which identifies the instruction such as ADD or BRANCH. The second field specifies the operand (which variable).

el 2 This level is between the microarchitecture level and the operating system level (level 2). This was the first developed level. This level forms the interface between the hardware and the software. This makes it possible to execute programs written in different higher level languages. The programs are translated to ISA level and the hardware can then execute them. The ISA level defines the interface between the compilers and the hardware. It is a language that both of them have to understand. The higher level programs are compiled to an ISA program. This ISA program is then executed by microprogram or hardware. 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. 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.

They should also provide a clean target for compiled code. ISA-level code is what a compiler outputs. The compiler writer must know what the memory model is, what registers there are, and what data types and instructions are available. At the ISA level, most machines operate on two modes: Kernel mode runs the operating system allowing all instructions to be executed, while the user mode runs application mode and does not permit execution of certain sensitive instructions (those that directly manipulate the cache).

el 3 The Operating System Machine (OSM) level is is a complete set of instructions available to application programmers. This includes all Instruction Set Architecture level instructions and a new set of instructions that the operating system adds called system calls. The OSM level is always interpreted. For instance, if reading data from file, the operating system carries it out step by step, in the same manner a microprogram would carry out an ADD instruction.

el 4 Every language must be converted into machine language. Translators are of two types. If the source language is a symbolic representation for a numerical machine language (Assembly language) the translator is called an assembler, while for high-level language, it is called a compiler. In a pure assembly language, 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. Assembly language which uses mnemonic codes is easier than machine language using binary or hexadecimal codes. It is easier to remember ADD, SUB, MUL, or DIV, than their corresponding numerical values in machine language. Assembly language uses symbolic names for memory locations while machine language needs numerical values. The assembly language can directly test if there is an overflow bit while a higher level language cannot. 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.

el 5

e are high-level languages such as BASIC, Pascal, FORTRAN, COBOL, C++, Java, etc. They ranslated into lower level languages by compilers.