计算机系统抽象层

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. 计算机系统基础(一):程序的表示、转换与链接
在计算机组成原理中,计算机系统抽象层次可以用分层的图表来描述,以下是常见的抽象层次及简单的描述: ### 应用程序层 这是最接近用户的一层,用户直接与之交互,例如使用办公软件、游戏等。它调用操作系统提供的接口来完成各种任务。 ### 操作系统层 负责管理计算机的硬件资源,为应用程序提供服务。它包含进程管理、内存管理、文件系统管理等功能。例如,用户在应用程序中请求打开一个文件,操作系统会负责从磁盘读取该文件。 ### 指令集架构层(ISA) 定义了计算机的指令系统,包括指令格式、操作码、寻址方式等。软件开发者编写的程序需要被翻译成该架构的机器指令才能在计算机上执行。不同的计算机架构(如x86、ARM)有不同的ISA。 ### 微架构层 描述了如何实现指令集架构,包括处理器的内部结构,如寄存器堆、算术逻辑单元(ALU)、控制单元等。微架构决定了处理器的性能和功耗等特性。 ### 逻辑电路层 由各种逻辑门(与门、或门、非门等)组成,用于实现微架构中的各种功能模块。逻辑电路的设计基于布尔代数。 ### 物理层 涉及计算机硬件的物理实现,如芯片制造工艺、电路板设计、电子元件等。 以下是一个简单的Python代码示例,使用`graphviz`库来绘制上述抽象层次的图表: ```python from graphviz import Digraph dot = Digraph(comment='Computer System Abstraction Layers') dot.attr(rankdir='TB', size='8,8') # 添加节点 dot.node('A', '应用程序层') dot.node('B', '操作系统层') dot.node('C', '指令集架构层(ISA)') dot.node('D', '微架构层') dot.node('E', '逻辑电路层') dot.node('F', '物理层') # 添加边 dot.edge('A', 'B') dot.edge('B', 'C') dot.edge('C', 'D') dot.edge('D', 'E') dot.edge('E', 'F') # 保存并渲染图表 dot.render('computer_system_abstraction.gv', view=True) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值