计算机组成结构化方法笔记⑴ 多层次计算机

多层次计算机的抽象
 

为方便程序员用更加适合人类的语言来描述算法,我们设计一种比内含的机器指令更便于人们使用的新的指令集合,将这些新的指令集合构成的语言称为L1,对应地把机器中内含的机器语言指令构成的语言称为L0。
 

我们可以通过解释和翻译这两种方法让只能执行用L0写的程序的计算机执行用L1写的程序。

翻译:将全部的L+1级指令转换为L级指令后,抛弃旧的L+1级指令,执行新的L级指令
解释:逐条解释L+1级指令为等效的L级指令后并执行,解释一条就执行一条,再依次取得下一条指令

 

想像存在一种以L1为机器语言的假想的计算机(虚拟机),定义其为M1,相应的把原来以L0为机器语言的计算机定义为M0。
 

我们用L1写程序,编写的程序先经由M0上的解释器解释过再执行,或翻译成L0后执行。
为使翻译或解释现实可行,L0和L1之间的差别不能太大,意味着L1并不足以达到我们最初的目的。于是我们发明一种比L1更人性化的指令集,称之为L2,对应的虚拟机称为M2。

 

像这样不断发明新的语言,每种新的语言都以前一种语言为基础、使每一种新的语言都比原来的语言更加好用的步骤,可以无限进行下去,直至最后找到一种合适的语言。我们可以把使用这种技术的计算机看成一系列的层。不同的层次之间以使用不同的语言作为区分。
 

 

 

 
 

现代多层次计算机
 

第-1层:设备层,是一个硬件层
 

第0层:数字逻辑层,为硬件层,主要包括门、存储器、寄存器。由硬件直接执行微指令
 

第1层:微体系结构层,为硬件层,主要包括寄存器组、名为ALU的电路。由微程序解释机器指令系统或由硬件直接执行

这些寄存器和ALU相连形成数据通路,数据通路的基本操作是选择一个或两个寄存器,在ALU操作之后将结果存回某个寄存器
有的计算机由软件控制数据通路,采用一个叫做微程序的程序充当第2层指令的解释器,微程序通过数据通路逐条对指令进行取值、解码和执行;而有的计算机没有采用微程序逻辑,此时是由硬件直接控制数据通路

 

第2层:指令系统层或ISA(Instruction Set Architecture)层,由微程序解释或由硬件直接执行机器指令
 

第3层:操作系统机器层,是一个混合层,增加了新的指令集和一些新的功能,大部分指令和第2层相同,部分指令微程序解释执行或由硬件直接执行部分指令操作系统解释执行
 

第4层:汇编语言层,用汇编语言编写程序,由汇编语言支持和执行。汇编语言实际上是低级语言的符号表示。用汇编语言写的程序首先被翻译成第1、2、3层的语言,然后由相应的虚拟机或硬件解释执行。

汇编器:完成翻译过程的程序
 

第5层:面向问题语言层,由高级语言编译支持和执行。一般用高级语言写的程序先由编译器翻译成汇编语言或第3层语言后执行,偶尔也会解释执行(如Java,它是翻译后解释执行)

 

 

 

 

 

一些概念:
 

数字计算机: 指通过执行人们给出的指令解决问题的机器
 

程序:描述如何完成一个确定任务的指令序列
 

算法:指明如何做某事的详细指令
 

原始指令:由每台计算机的电子电路能够识别和直接执行的有限的简单指令
 

机器语言:由计算机的原始指令构成的、供人和计算机之间进行交流的语言
 

结构化计算机组成:把计算机结构化为一系列抽象机,使每台计算机都建立在下层计算机抽象计算机基础上的方法
 

体系结构:由每一层抽象机的数据类型、操作和特性构成
 

计算机体系结构(计算机组成):是研究如何设计计算机系统的学科
 

硬件:由电路、存储器、输入输出设备等构成,是具体的对象
软件:由算法及其在计算机中的表示即程序组成。本质上是构成程序的指令的集合

 

 

 

一个重要观点:
 

软件和硬件在逻辑上等同: 任何由软件实现的操作可直接由硬件完成;任何由硬件实现的指令可以由软件来模拟

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值