计算机组成原理相关知识

本文最后更新于:2019年12月21日 中午

概览:计算机组成相关知识,计算机系统的组成、系统抽象层图、ISA的介绍与MIPS。

计算机系统

计算机系统的层次结构

计算机系统抽象层的转换

程序执行结果不仅取决于算法、程序的编写。而且取决于语言处理系统、操作系统、ISA、微体系结构。

计算机系统的不同用户

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

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

ISA

处理器最主要的功能是负责解释和执行指令,假设处理器A与B支持的指令不同,为处理器A编写的程序不能直接在处理器B上使用,需要重新编写,然后再次编译、汇编后才可使用,减低了软件的移植性,且极为不便。

IBM为了让自己的一系列计算机能使用相同的软件,免去重复编写软件的痛苦,在它的System/360计算机中引入了指令集架构(ISA:Instruction Set Architecture)的概念。

将编程所需要了解的硬件信息从硬件系统中抽象出来,这样软件人员就可以面向ISA进行编程,开发出来的软件不经过修改就可以应用在符合该ISA的所有计算机上。

ISA用来描述编程时用到的抽象机器,而非这种机器的具体实现,从软件人员的角度来看,ISA包括一套指令集和一些寄存器,知道它们就可以编写程序了

ISA —— Instruction Set Architecture 指令集体系结构

  • ISA指Instruction Set Architecture,即指令集体系结构

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

  • 可执行的指令的集合,包括指令格式、操作种类以及每种操作

对应的操作数的相应规定;

  • 指令可以接受的操作数的类型;
  • 操作数所能存放的寄存器组的结构,包括每个寄存器的名称、

编号、长度和用途;

  • 操作数所能存放的存储空间的大小和编址方式;
  • 操作数在存储空间存放时按照大端还是小端方式存放;
  • 指令获取操作数的方式,即寻址方式;
  • 指令执行过程的控制方式,包括程序计数器、条件码定义等。

ISA和计算机组成(微结构)之间的关系

架构与指令集

MIPS指令集架构

目前并没有一种统一的ISA为各个处理器厂商所接受,而是存在多种ISA,就像这个世界存在多种语言一样,但是主要的语言只有几种:汉语、英语、法语、俄语等。主要的ISA也只有几种:x86、ARM、SPARC、POWER、MIPS,除了x86是CISC ISA外,其余都是RISC ISA。

MIPS的含义是无内锁流水线微处理器(Microprocessor without Interlocked Piped Stages),是上世纪80年代诞生的RISC CPU的重要代表,其设计者John Hennessy时任斯坦福大学的教授。