体系结构是程序员所见到的计算机,它由指令集(汇编语言)和操作数地址(operand location)(寄存器和存储器)来定义。如x86、MIPS、SPARC、PowerPC等。
理解计算机体系结构的第一步是学习它的语言。计算机语言中的单词叫做指令(instruction),词汇表叫做指令集(instruction set),在同一台计算机上运行的所有程序使用相同的指令集。即使是非常复杂的软件应用(如webstorm、myeclipse等)最终都会被编译为一系列诸如加法、减法或跳转的简单指令,计算机指令包含需要完成的操作和要使用的操作数,如MIPS汇编代码:add a, b, c用高级语言表示就是a=b+c;
1.汇编语言
因为计算机用电路的通断处理信息,所以计算机硬件只能理解二进制信息,指令也会被编码为二进制,这样微处理器才可以读取并执行指令需要完成的操作,但是变成了二进制我们人去阅读就会很枯燥并且麻烦,所以就用符号格式来表示指令,称为汇编语言(assembly language),所以汇编语言是计算机机器语言的人类可阅读表示,每条汇编语言指令都指明了需要完成的操作和操作所处理的操作数,操作数可以存放在寄存器或者存储器中,也可以作为常数存储在指令自身当中,访问寄存器和指令自身的操作数会很快。
汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。
许多汇编程序为程序开发、汇编控制、辅助调试提供了额外的支持机制。有的汇编语言编程工具经常会提供宏,它们也被称为宏汇编器。
汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。在今天的实际应用中,它通常被应用在底层,硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。
机器语言
编程
寻址方式
编译、汇编和装入
x86结构