伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

计算系统基础(四)

来源:本站原创 浏览:87次 时间:2022-04-21
计算系统基础(四)
一、指令集结构

在上一章,我们讲述了计算机的硬件组成部分:从它最基础的电子元件到整个冯诺依曼体系,C语言可以为我们了解我们认识之中的编程语言是如何对计算机下指令的。但是在C语言与硬件之间还存在一个代沟:机器指令。机器指令可以简单理解为:被赋予了意义的二进制序列。由于计算机的电路结构,机器只可以读懂二进制序列。而c语言必须根据规则被翻译为机器指令,才能够被机器读取并执行。这一段有意义的二进制序列集合,被称作指令集结构(ISA)。

书中概念:指令集结构指明了一台机器上编写软件时所要注意的全部信息。

二、从软件(或C语言)出发…

我们将模拟一个简单的计算机:DLX来进行计算机原理的学习。(因为真实情况下的计算机由于超进化复杂的多!)

总的来说,DLX规定了三种类型的指令:

操作码[31到26位]:规定了指令的种类和区别,当它为000000时表示指令为R类型;其他情况下为I或R类型。

而根据指令的不同类型,会有如图所示的各种规定,下面解释名词:

  1. SR1/SR2:表示源寄存器,一般用来写入或读取寄存器内数据

  2. DR: 表示目标寄存器,一般用来写入计算后的数据

  3. Imm16:表示十六位的立即数;PC: 表示控制单元的进程,这将放到下一章 基址+偏移量部分讲解

  4. 函数:I类型的内部分类,6位数字与R类型的分类基本相同。如:000001表示加法

下图列出了DLX的一些基本指令,可以自行对照:

三、从硬件出发…

我们对DLX的存储器进行排列,并标上序号:x00000000, x00000001 …… x40000000 …… xFFFFFFFF。这恰好对应了C语言中的指针,但是要注意的是,C语言对应的存储器是大端存储,而DLX的存储器则是小端存储。用一个例子形象表示两者区别:

0001 0010 | 0011 0100 | 0101 0110 | 0111 1000

在C语言对应的存储器中,表示x78563412。

DLX的存储器中,则表示x12345678。

寄存器在CPU周围,存储临时数据,加快运行速度。对于DLX来说,这样的寄存器有通用型32个,浮点型32个。我们主要讨论通用寄存器,它们以唯一的标识符表示:R0,R1,R2,……R31

注意:我们规定R0中的值一直为0,因为如果不留一个寄存器用来清空寄存(归0操作),就无法重置整个寄存器堆了

四、仍然一头雾水?来个简单的例子

上图中表示了一条怎么样的指令?

答案是将R0与R1中的值相加,存储到R2中,由于R0恒为0,所以其实这条指令用C语言的思维表示应该是value(R2)=value(R1)。

上图中,前6位是000001,表示I类型,value(R4)=6,立即数为14,那么表示的是value(R1)=value(R4)+14,即将20写入R1中

五、注意事项

指令集中包含着许多二进制独有的运算,甚至还有指针与引用,解引用的类似操作,一定要对它们有所了解并掌握,才能理解计算机底层运算逻辑,并安全度过期末考试。

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net