Instruction set architecture specification
暂无分享,去创建一个
System-level design requires some sort of specification for a system at the level of abstraction of the system. When the system (or sub-system) is a processor, the appropriate level of abstraction is the instruction set. However, there are no good approaches for describing processors at this level.
Nevertheless, this type of specification has a number of benefits: it is more concise (and thus less error-prone) than more general alternatives; it can be re-used in later re-implementations; and it provides support for efficient system-level simulation. Furthermore, such specifications can support software codesign through generation of software development tools (such as compilers).
Therefore, the concept of an instruction set description language (ISDL) is introduced and is demonstrated through the design of a language called L scISAS. The power and advantage of an ISDL such as L scISAS is that it concisely and directly describes the behavior of an instruction set architecture (ISA) using ISA-level abstractions. In contrast hardware description languages (HDLs) and compiler machine description languages (MDLs) describe ISAs indirectly: an HDL by programming a simulation of the ISA, and an MDL by specifying a code generator for the ISA. This indirection makes it impossible to use either HDLs or MDLs as vehicles for general-purpose ISA specification.
There are four major characteristics of L scISAS that, combined, are largely responsible for its power: (1) separated specification of operands and operations in instructions; (2) instruction operand manipulation through "pointers" rather than directly as values; (3) architectural data types; and (4) specification of instructions as functions from one processor state to another. This power is demonstrated through L scISAS descriptions of the Intel i386, the Texas Instruments TMS32014, and the Digital Equipment Corporation Alpha.