A. 指令和数据都存于存储器中,计算机如何区分它们
计算机区分指令和数据有以下2种方法:
1、通过不同的时间段来区分指令和数据,即在取指令阶段(或取指微程序)取出的为指令,在执行指令阶段(或相应微程序)取出的即为数据。
2、通过地址来源区分,由PC提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数。
存储器中的每段存储空间都会有一个地址,每个指令都包括一段操作数和一段空间地址,cpu会根据操作数去处理地址所指的数据。
一般计算机先读取存储器最开始的内容(这一部分是指令),然后加载操作系统(先是LOADER)后由操作系统对硬盘文件系统结构(即是数据)以判断其他数据和指令的位置
(1)指令和数据在存储器中地位相同吗扩展阅读:
构成存储器的存储介质,存储元,它可存储一个二进制代码。由若干个存储元组成一个存储单元,然后再由许多存储单元组成一个存储器。一个存储器包含许多存储单元,每个存储单元可存放一个字节(按字节编址)。
每个存储单元的位置都有一个编号,即地址,一般用十六进制表示。一个存储器中所有存储单元可存放数据的总和称为它的存储容量。
假设一个存储器的地址码由20位二进制数(即5位十六进制数)组成,则可表示2的20次方,即1M个存储单元地址。每个存储单元存放一个字节,则该存储器的存储容量为1MB。
动态存储器每片只有一条输入数据线,而地址引脚只有8条。为了形成64K地址,必须在系统地址总线和芯片地址引线之间专门设计一个地址形成电路。
使系统地址总线信号能分时地加到8个地址的引脚上,借助芯片内部的行锁存器、列锁存器和译码电路选定芯片内的存储单元,锁存信号也靠着外部地址电路产生。
当要从DRAM芯片中读出数据时,CPU首先将行地址加在A0-A7上,而后送出RAS锁存信号,该信号的下降沿将地址锁存在芯片内部。接着将列地址加到芯片的A0-A7上,再送CAS锁存信号,也是在信号的下降沿将列地址锁存在芯片内部。然后保持WE=1,则在CAS有效期间数据输出并保持。
当需要把数据写入芯片时,行列地址先后将RAS和CAS锁存在芯片内部,然后,WE有效,加上要写入的数据,则将该数据写入选中的存贮单元。
由于电容不可能长期保持电荷不变,必须定时对动态存储电路的各存储单元执行重读操作,以保持电荷稳定,这个过程称为动态存储器刷新。
PC/XT机中DRAM的刷新是利用DMA实现的。首先应用可编程定时器8253的计数器1,每隔1⒌12μs产生一次DMA请求,该请求加在DMA控制器的0通道上。当DMA控制器0通道的请求得到响应时,DMA控制器送出到刷新地址信号,对动态存储器执行读操作,每读一次刷新一行。
参考资料来源:网络-存储器
B. 指令和数据都存于存储器中,计算机如何区分它们
计算机区分指令和数据有以下2种方法:
通过不同的时间段来区分指令和数据,即在取指令阶段(或取指微程序)取出的为指令,在执行指令阶段(或相应微程序)取出的即为数据。
通过地址来源区分,由PC提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数。
C. 程序中的指令、数据是如何在存储器中存储的
数据和指令都以二进制代码的形式存储在存储器中,从代码本身无法区别它是数据还是指令,CPU在取指令时把从存储器中读取的信息都看作指令,在读取数据时把从存储器中读取的信息都看成是数据。为了区分运算数据和程序中的指令,程序员在编写程序时需要知道每个数据的存储位置以及指令的存储位置,以避免将指令当作数据或者将数据当作指令.
D. 计算机存储器中的数据和指令怎样区分
一般计算机先读取存储器最开始的内容(这一部分是指令),然后加载操作系统(先是LOADER)后由操作系统对硬盘文件系统结构(即是数据)以判断其他数据和指令的位置
E. 存储器中的指令和数据有区别么
通过不同的时间段来区分指令和数据,即在取指令阶段(或取指微程序)取出的为指令,在执行指令阶段(或相应微程序)取出的即为数据。
通过地址来源区分,由PC提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数。
F. 指令和数据都存于存储器中,计算机如何区分它们
通过不同时间段来区分指令和数据:即在取指令阶段取出的是指令,在执行指令阶段取出的是数据。
通过地址来源区分:由PC提供存储单元地址取出的是指令,由指令码部分提供存储单元地址取出的是操作数。
存储器注意事项
编程器要想正确使用,必须安装打印机驱动程序才行(以便打印端口输出指令信号),可以随便安装一个驱动,大容量存储器可代替小容量,小容量不可以代替大容量存储器。
对于AT,ST,BR公司的24系列存储器,在工作时,其7脚需接低电平。而KOA,KOR,KS公司的24系列存储器,其7脚需接高电平。否则不能存台。如遇到存储块出现只能读不能写的情况下,可改变7脚的电平试试(通过10K电阻接电源正极或直接接地)。
G. 指令和数据都存于存储器中,计算机如何区分它们
有以下2种方法:
方法一:通过不同的时间段来区分指令和数据,即在取指令阶段(或取指微程序)取出的为指令,在执行指令阶段(或相应微程序)取出的即为数据。
方法二:通过地址来源区分,由PC提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数。
H. 指令和数据在内存中的区分
计算机加载的第一条肯定是指令,然后根据这条指令去取二进制数,如果这条指令要取操作数,那么取出来的就是操作数;如果这条指令要取下一条指令,那么取出来得就是指令。
把指令和数据分开放是为了安全和逻辑结构清晰。
随便指令和数据存放的格式一样,但是访问他们的时机不同
在取指令时期,cpu通过指令流取指令,存放在指令寄存器,
然后解释并执行指令,在执行指令时期,cpu通过数据流取数据,
存放在数据寄存器。
所以指令流取的是指令,数据流取的是数据。
其实很简单,在取指令周期取得就是指令,读数据周期读的就是数据了。
I. 冯.诺依曼计算机工作方式的基本特点是什么
冯.诺依曼计算机采用二进制形式表示数据和指令:在存储程序的计算机中,数据和指令都是以二进制形式存储在存储器中的。从存储器存储的内容来看两者并无区别.都是由0和1组成的代码序列,只是各自约定的含义不同而已。
计算机在读取指令时,把从计算机读到的信息看作是指令;而在读取数据时,把从计算机读到的信息看作是操作数。数据和指令在软件编制中就已加以区分,所以正常情况下两者不会产生混乱。
为了控制指令序列的执行顺序,设置一个程序(指令)计数器PC(Program Counter),让它存放当前指令所在的存储单元的地址。
如果程序现在是顺序执行的,每取出一条指令后PC内容加l,指示下一条指令该从何处取得。如果程序将转移到某处,就将转移的目标地址送入PC,以便按新地址读取后继指令。
(9)指令和数据在存储器中地位相同吗扩展阅读:
局限性
存储器是线性编址,按顺序排列的地址访问,这是有利于存储和执行机器语言,适用于数值计算。但高级语言的存储采用的是一组有名字的变量,是按名字调用变量而非按地址访问,且高级语言中的每个操作对于任何数据类型都是通用的。
不管采用何种数据结构,多维数组、二叉树还是图,最终在存储器上都必须转换成一维的线性存储模型进行存储。这些因素都导致了机器语言和高级语言之间存在很大的语义差距,这些语义差距之间的映射大部分都要由编译程序来完成,在很大程度上增加了编译程序的工作量。
J. 在存储器中指令和数据在形式上有什么区别吗
变量可以存储在存储器中的不同位置,这取决于它们的存活。在外部函数中定义的变量(全局变量或静态外部变量)和函数内部静态变量的定义,它的生存正在运行的整个过程中,这些变量存储在,数据段,数据段(datasegment)留在存储器中的一些固定大小的空间,它分为两部分这些变量的,其中的一部分被用来初始化一个变量来存储其他部分被用来存储一个未初始化的变量。开始,当程序退出块,直到
当函数中定义的自动变量从程序(不使用定义的关键字static变量)的生存开始在一个代码块执行它。只存在于调用函数的周期函数的参数作为变量。这些变量被存储在所述的栈(stack)。堆栈的存储器空间的一部分,启动小,然后,直到它到达一个预定义的边界逐渐自动增加。在DOS下,如没有虚拟内存(virtualmemory)系统,此限制是由系统决定的,通常是非常大的,所以程序员不必担心堆栈空间的枯竭。