目前我在学习David Money Harris 和 Sarah L. Harris 所编写的《数字设计和计算机体系结构》的第六章 体系结构,这里以MIPS体系结构为例。
体系结构
以下是书中给出的论述:
体系结构是程序员所见的计算机,它由指令集(汇编语言)和操作空间(寄存器和存储器) 定义。
针对不同特性(性能,功耗优化等),一种体系结构可以有多种微结构实现。
汇编语言
我认为,汇编语言是指令集和指令的正确序列(就像词汇与语法)。不同体系结构的汇编语言像一种语言的不同方言。
指令
由操作码与操作数组成,是计算机的单词。可以向下直接转换为机器语言,传达给计算机,令其实现加法、减法、跳转等相应操作。就好像机器语言的人类易理解形式。
例如:
add a, b, c
#其对应高级语言代码为 a = b + c
注意,汇编语言中只支持单行注释,用#开头直到一行结束。
在这里add为操作码,意为这一个指令将实现加法操作。(不同操作码通过编码对应不同操作)
a,b,c 为操作数,代表加法操作用到的操作对象。
操作数
操作数来自操作空间(寄存器和存储器)或者直接来自指令本身。
指令集
指令的集合,计算机的单词表。