Relations microarchitecture instruction set architecture and assembly language

Recent always encounter x86 IA32 MIPS corresponding assembly of what is there are several, I feel very lost. Then check the information to clarify these concepts as follows (most of the content from Wikipedia, Xie correct me if wrong!)

Microarchitecture instruction set architecture and the relationship of these three assembly language something like this, we were to introduce

Instruction Set

Command is to command the computer to perform certain actions.

From the hierarchy is composed of computer instructions into microinstructions (micro-level program instructions, hardware genus), macro (consisting of a number of machine instructions genus software) and machine instructions (the instructions therebetween).

We shall discuss only machine instructions, machine instructions each instruction may perform a separate operation of an arithmetic or logic operations (such as addition and subtraction shift, etc.).

A set of computer instructions in the instruction set of all machines. It exists in the internal CPU, to guide and optimize CPU operation.

From the instruction set, the computer into the familiar CISC (complex instruction set computer) and RISC (reduced instruction set computer). Both the design and the advantages and disadvantages of each are not the same, not to undertake here.

Microarchitecture

Micro-architecture, the processor core implementation, is the (instruction set implemented) method with a given instruction set architecture executed in a processor.

Generally believed that only an independent micro-architecture research and development capabilities of enterprises considered have the CPU R & D capability.

Instruction set architecture (processor architecture)

Is a computer architecture and programming related part, it contains the basic data types, instruction set, register, addressing modes, system memory, interrupt, exception handling, and external I / O. Assembly language instruction set architecture and compiler designers seen.

Several common architecture (for details and a lot of similarities and differences between online presentation)

  • The 32-bit x86 -> IA32 CISC 
    • Intel 32-bit architecture (English: Intel Architecture, 32-bit, abbreviated as IA-32), often referred to as i386, or x86.
    • Introduced by Intel in 1985 instruction set architecture. It is an extension of version 8086 architecture supports 32-bit computing, the first application in the Intel 80386 chip.
    • For many programming language, IA-32 is synonymous with the i386.
  • The 64-bit x86 -> x86-64 / x64 / amd64 CISC
  • IA64 is Intel co-developed with hp 
    • This architecture with x86 and x86-64 and incompatible operating system and software need to use a special version of IA-64.
    • Rare
  • ARM architecture (Advanced RISC Machine) RISC
    • Mainly used in mobile and embedded end, low-cost, low energy consumption.
  • MIPS架构(Microprocessor without interlocked piped stages)RISC
    • Godson
    • For electronic products, network equipment, personal entertainment device and business equipment
  • PowerPC架构(Performance Optimization With Enhanced RISC – Performance Computing) RISC
    • It has been used for Xbox, Mac and server processors

Assembly language

Assembly language is machine language mnemonics, so closely associated with the instruction set architecture. Several of these architectures each have their own corresponding assembly language, not to undertake here said. Incidentally compilation style 

x86 and x86-64 / x64amd64 two compilation style (the table below)

  • Intel assembly Microsoft Windows / Visual C ++ use
  • AT & T compilation of GNU / Gas Use

Guess you like

Origin www.cnblogs.com/yilang/p/12145416.html