计算机组成原理相关知识
本文最后更新于: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时任斯坦福大学的教授。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!