1 计算机系统抽象层

计算机系统抽象层
功能转换:上层是下层的抽象,下层是上层的实现底层为上层提供支撑环境!

我们需要知道程序执行结果不仅取决于算法、程序编写,而且取决于语言处理系统、操作系统、ISA、微体系结构。


2 计算机系统的不同用户

计算机系统抽象层
计算机系统的不同用户:

  • 最终用户工作在由应用程序提供的最上面的抽象层。
  • 系统管理员工作在由操作系统提供的抽象层。
  • 应用程序员工作在由语言处理系统(主要有编译器和汇编器)的抽象层。
    • 语言处理系统建立在操作系统之上。
  • 系统程序员(实现系统软件)工作在ISA层次,必须对ISA非常了解。
    • 编译器和汇编器的目标程序由机器级代码组成。
    • 操作系统通过指令直接对硬件进行编程控制。
  • ISA处于软件和硬件的交界面(接口)。

ISA是对硬件的抽象,所有软件功能都建立在ISA之上。


3 指令集体系结构(ISA)

ISA指Instruction Set Architecture,即指令集体系结构,有时简为指令系统。

ISA是一种规约(Specification),它规定了如何使用硬件:

  • 可执行的指令的集合,包括指令格式、操作种类以及每种操作对应的操作数的相应规定;
  • 指令可以接受的操作数的类型;
  • 操作数所能存放的寄存器组的结构,包括每个寄存器的名称、编号、长度和用途;
  • 操作数所能存放的存储空间的大小和编址方式;
  • 操作数在存储空间存放时按照大端还是小端方式存放;
  • 指令获取操作数的方式,即寻址方式;
  • 指令执行过程的控制方式,包括程序计数器(PC)、条件码定义等。

ISA在通用计算机系统中是必不可少的一个抽象层,Why?

  • 没有它,软件无法使用计算机硬件!
  • 没有它,一台计算机不能称为“通用计算机”

ISA和计算机组成(Organization,即MicroArchitecture,微结构)是何关系?
不同ISA规定的指令集不同,如,IA-32、MIPS、ARM等。计算机组成必须能够实现ISA规定的功能,如提供GPR、标志、运算电路等,同一种ISA可以有不同的计算机组成,如乘法指令可用ALU或乘法器实现。

ISA是计算机组成的抽象。


参考资料:

  1. 计算机系统基础(一):程序的表示、转换与链接

相关文章: