精华内容
下载资源
问答
  • 指令字长、存储字长、机器字长、时钟周期、机器周期、指令周期、取址周期、存取周期的关系 考研做题途中遇到这些问题,发现自己掌握的很模糊,遂写下此篇,加深记忆。 1、机器字长、存储字长、指令字长 机器字长:...

    指令字长、存储字长、机器字长、时钟周期、机器周期、指令周期、取址周期、存取周期的关系

    考研做题途中遇到这些问题,发现自己掌握的很模糊,遂写下此篇,加深记忆。

    1、机器字长、存储字长、指令字长

    机器字长:CPU一次能够处理的数据的位数。通常等于寄存器的位数。例子:windows 64位/32位,这里的64位和32位指的就是该操作系统的机器字长。

    存储字长:计算机存储器中一个存储单元可以存储的位数。例子:某某计算机按照字节编址,即说明该计算机的存储字长为1B=8位。

    指令字长:计算机内一条指令的位数。这里通常指的定长指令。

    1. 机器字长与存储字长:两者没有必然的联系

    2. 机器字长与指令字长:两者没有必然的联系。它既可以等于机器字长也可以大于或者小于机器字长。通常把等于机器字长的指令称为单字长指令。把等于半个机器字长的指令称为半字长指令。把等于两倍机器字长的指令称为双字长指令。

    3. 存储字长和指令字长。各位可能经常看到这样的字眼:某某计算机按字节编址,指令长度为16位/32位。通常为了方便取址规定指令字长为存储字长的整数倍。现在的计算机指令长度基本都是存储字长的整数倍。

    2、时钟周期、机器周期、指令周期、取址周期、存取周期

    时钟周期:某某CPU的处理频率为3GHz,那么该数字的倒数即为时钟周期。也称为CPU时钟周期。

    机器周期:也称为CPU周期。由若干个时钟周期组成。因为在一个时钟周期下很难完成一个完整的基本操作,那么为了方便管理,通常将CPU完成一个基本的操作所用的时间规定为一个机器周期。==什么是一个完整的基本操作呢?==例如:CPU通过数据总线从主存中取出一个存储单元对应的信息,所用时间即为一个机器周期。因此不要将CPU处理完一个机器字长数据所用的时间当作机器周期,两个时间是没有必然关系的。

    存取周期:上面在机器周期里说道CPU从主存中取数据。实际上两个存取操作(指存取一个存储单元)所需要的时间间隔即为存取周期,而在计算机中,通常使用存取周期来确定机器周期,就是说可以认为机器周期等于存取周期

    指令周期:CPU从取来一条指令到指令完成,所需要的时间称为指令周期。指令周期划分为四个阶段:取址周期、间址周期、执行周期、中断周期。

    取址周期:是指令周期的第一个阶段。主要用来根据PC(PC中存放的是指令的地址)到主存中取指令。我们在一个特定的情况下具体说明:某某机按字节编址,指令字长32位。那么这个时候取址需要4个存取周期(即机器周期)。这就是为什么指令字长要等于存储字长的整数倍,这样方便计算机取址。

    展开全文
  • 4、双口RAM多模块存储器思维导图存取周期双端口RAM(解决问题1)多体并行存储器(解决问题二)取几个存储体合适呢?单体多字存储器 思维导图 存取周期 1、存取周期 = 存取时间 + 恢复时间 2、DRAM芯片的恢复时间...

    思维导图

    在这里插入图片描述

    存取周期

    在这里插入图片描述

    1、存取周期 = 存取时间 + 恢复时间
    2、DRAM芯片的恢复时间可能是存取时间的几倍
    3、在恢复时间期间,CPU不可以访问主存
    4、俩个问题:
    问题一:多核CPU都要访存,怎么办?
    问题二:CPU的读写速度比主存快很多,主存恢复时间太长怎么办?

    双端口RAM(解决问题1)

    在这里插入图片描述

    多体并行存储器(解决问题二)

    在这里插入图片描述

    1、连续访问:在实际运用中,大多数地址访问方式是连续的
    2、当采用高位交叉编址,且地址连续访问时,由于连续访问中是访问同一个存储体,而同一个存储体由于恢复时间的原因又不能连续访问;所以这种方式并不会提高访问主存的效率,只是扩容的作用;如图所示,访问5个存储单一要5T的时间
    3、当采用低位交叉编址,且地址连续访问时,由于连续访问中是访问不同的存储体,所以在访问第一个存储体后可以不用等待恢复时间直接访问第二个存储体,所以访问主存的效率大大提高。如图所示,连续取n个存储字耗时T+(n-1)r(流水线)。

    取几个存储体合适呢?

    在这里插入图片描述

    1、取T = 4r,当存储体取3个时(m<T/r),当3块存储体访问一遍后本应该接着访问一号存储体,但是由于一号存储体需要3r的恢复时间;所以在第三块存储体访问完成后需要等待一段时间(第一块剩余的恢复时间),然后才能继续访问一号存储体。
    2、T = 4r,当存储体取5个时(m>T/r),当访问完成4号存储体后,1号存储体已经过了恢复时间,但是你要接着访问5号存储体,所以,一号存储体就会被闲置一段时间。
    3、最优:T = 4r,当存储体取4个时(m=T/r),性能最优

    单体多字存储器

    在这里插入图片描述

    展开全文
  • 又因为内存就一套地址译码片选装置,刷新与存取有相似的过程,它要选中一行,这期间片选线、地址线、地址译码器全被占用着。所以刷新与存取不能并行。同理,刷新操作之间也不能并行,意味着一次只能刷一行。 ...
      

    常见的动态RAM的共同特点是都靠电容存储电荷的原理来寄存信息,电容上的电荷一般只能维持1~2ms,因此即使电源不掉电,信息也会自动消失,所以必须在2ms内对其所有存储单元恢复一次原状态,称为刷新,刷新是一行一行进行的。又因为内存就一套地址译码和片选装置,刷新与存取有相似的过程,它要选中一行,这期间片选线、地址线、地址译码器全被占用着。所以刷新与存取不能并行。同理,刷新操作之间也不能并行,意味着一次只能刷一行。

    (1).集中刷新

    指在规定的一个刷新周期内,对所有存储单元集中一段时间逐行进行刷新。(一般是刷新周期的最后一段时间)
    例如:对64*64的矩阵刷新,存取周期是0.5us,刷新周期为2ms(占4000个存取周期)。
    则集中刷新共需0.5*64=32us(占64个存取周期),在这段时间内存只用来刷新,阻塞一切存取操作,其余3968个存取周期用来读/写或维持信息。
    这64个存取周期称为“死时间”,所占的比率64/4000*100%=1.6%称为死时间率。
    这种方式的优点是速度高,缺点是死时间长。

    (2).分散刷新

    指对每行存储单元的刷新分散到每个存取周期内完成。其中,把机器的存取周期分成两段,前半段用来读/写或维持信息,后半段用来刷新。
    例如:对64*64的矩阵刷新,存取周期是0.5us,则读写周为0.5us。
    刷新周期为:64*1us=64us。<2ms , 在2ms丢失电荷前就会及时补充。
    优点是没有死时间了,缺点是速度慢。

    (3).异步刷新

    指不规定一个固定的刷新周期,将每一行分来来看,只要在2ms内对这一行刷新一遍就行。
    例如:对64*64的矩阵刷新,存取周期为0.5us。
    要使每行能在2ms内刷新一次,即每隔 (2ms/64us) 刷新一行,也就是对这一行来说,下一次对它进行刷新的间隔,期间要经过64次内存刷新周期才又轮得到它。
    每行刷新的时间仍为0.5us,刷新一行只停止一个存取周期,但对每行来说,刷新间隔在2ms以内,死时间缩短为0.5us。

    另外补充解释## 标题

    为什么刷新与存取不能并行?:因为内存就一套地址译码和片选装置,刷新与存取有相似的过程,它要选中一行——这期间片选线、地址线、地址译码器全被占用着。同理,刷新操作之间也不能并行——意味着一次只能刷一行

    分散刷新为什么没有死区,其实是因为存取周期周期变成1μs(这1μs中包含了读写时间,也包含了刷新一行的时间,所以才没有死区)
    若是将存取周期变成0.5μs,则不包含刷新的时间,若是这个时候还是一个读写,然后刷新一次的话,就有死区,死区的时间是0.5μs

    原因:设DRAM中电容的电荷每2ms就会丢失,所以2ms内必须对其补充。补充电荷是按行来进行的,为了【全部】内存都能保住电荷,必须对【所有】的行都得补充。
    假设刷新1行的时间为0.5μs(刷新时间是等于存取周期的。因为刷新的过程与一次存取相同,只是没有在总线上输入输出。顺便说一下存取周期>真正用于存取的时间,因为存取周期内、存取操作结束后仍然需要一些时间来更改状态。——对于SRAM也是这样,对于DRAM更是如此)。
    并假设按存储单元(1B/单元)分为64行64列。
    (64×64个单元×1B/单元 = 2^12个单元×1B/单元 = 4KB内存)。

    集中刷新:快到2ms的时候,停止一切对内存的读取操作,使用0.5μs×64对64行依次刷新。这将占用3.2μs。在这3.2μs中,内存只用来刷新,阻塞一切存取操作。

    分散刷新:在每个存取操作后绑定一个刷新操作。这样存取周期就成了0.5μs + 0.5μs = 1μs。它延长了存取周期。但是由于与存取操作绑定,就不需要专门给出一段时间来刷新了。这样,每有64个读取操作,就会把0-63行(共计64行)全部刷新一遍。又因为刷新是不间地断循环着的——循环对64行依次刷新,所以对于同一行,每64次读取就会轮到其被刷新——它的刷新周期是1μs × 64 = 64μs <2ms ,在2ms丢失电荷前就会及时补充。

    异步刷新:分散刷新的刷新周期64μs ,其实根本不需要这么频繁,有些浪费,异步刷新就是恰好卡在2ms这个时间点上。对于每行以2ms为刷新周期足够了,刷新循环到它需要64刷新次操作, 2ms ÷ 64 作为【每次刷新的周期】,(注意每次刷新周期与特定行的刷新周期的不同:每次刷新间隔指对于内存来说它隔多长时间就进行一次刷新操作,轮着刷新时,刷新的行是上一次刷新的行的下一行——是不同的两行,但对于全局内存来说确实是两次刷新操作间隔。特定哪一行的刷新周期:下一次对它进行刷新的间隔,期间要经过64次内存刷新周期才又轮得到它。)过64次刚好保证每行的刷新周期为2ms。刷新操作周期为2ms ÷ 64 。但是这个时间并不是绑定在存取周期内,所以仍然是拒绝存取的死时间。但是它已经很小了。所以这种刷新策略非常可行。

    展开全文
  • 总线周期(通过总线完成一次内存读写操作或完成一次输入输出设备的读写操作所必须的时间):CPU从内存中读取指令,向内存中存取数据,对外设端口读写数据,执行总线周期;总线周期通常包含4个 T状态(时钟周期):T1...

    时钟周期:也成为振荡周期(T周期/节拍脉冲);定义为时钟频率的倒数。时钟周期是计算机中最基本、最小的时间单位,在一个时钟周期内,CPU完成一个最基本的动作。

    时钟周期在CPU的描述里也叫节拍,即 将一个机器周期划分为若干个相等的时间段,每一段仅完成一个基本操作,用一个电平信号宽度对应。

    总线周期(通过总线完成一次内存读写操作或完成一次输入输出设备的读写操作所必须的时间):CPU从内存中读取指令,向内存中存取数据,对外设端口读写数据,执行总线周期;总线周期通常包含4个 T状态(时钟周期):T1,T2,T3,T4。时钟周期是CPU执行操作的最小单位。

    机器周期(CPU周期):通常用从内存中读取一个指令字的最短时间来规定机器周期,也即CPU完成一个基本操作所需的时间,一个机器周期由若干个S周期(状态周期)组成。

    状态周期:在8051单片机中把一个时钟周期定义为一个节拍(用P表示),两个节拍定义为一个状态周期(用S表示)。

    指令周期:执行一条指令所需要的时间,是从取指令,分析指令到执行完指令所需要的全部时间。一个指令周期一般由若干个机器周期组成。

    指令周期(1-4个机器周期)>机器周期>总线周期>状态周期>时钟周期

     

    寄存器:是距离CPU最近、访问速度最快的存储介质,用来做一些最基本的指令和地址存储。高性能,高耗电特点。

    缓存(Cache):Cpu频繁访问的数据存储在缓存中,一般有一级缓存,二级缓存。。。

    内存:ram和rom,内存是CPU和外部存储设备之间的桥梁,用来存放那些将要被CPU处理的数据

    缓存和内存一般称为主存。

    外存:闪存(flash),包括SD卡和SSD;磁盘/硬盘/CD...:长时间、大容量保存数据、价格低

     

    硬件设计原则:1、成本节约(最根本,最重要)

    2、低功耗设计

    3、系统效率(CPU/存储器处理数据效率)

    4、信号完整性(高频/高速信号)

    5、可靠性设计(保证长期可用性/安全性)

    展开全文
  • 栈: 栈中存储着基本数据类型的变量以及引用变量 栈中元素在超出其生命周期后会自动销毁栈中元素一经创建,系统会为其分配内存空间,在其内存空间里存取的值是真值(真实存放的值)栈中元素互不影响 每个在栈中的变量...
  • 栈: 栈中存储着基本数据类型的变量以及引用变量 栈中元素在超出其生命周期后会自动销毁栈中元素一经创建,系统会为其分配内存空间,在其内存空间里存取的值是真值(真实存放的值)栈中元素互不影响 每个在栈中的变量...
  • storage工程演示了Android常用的几种数据存储方式,包括:共享参数SharedPreferences的键值对存取、数据库SQLite的关系型数据存取、SD卡的文件写入与读取操作(含文本文件读写图片文件读写)、App全局内存的读写、...
  • ServletContext是一个web应用的上下文,是一个全局信息的存储空间,代表当前web应用。其在web应用(服务器)启动时创建,在Web应用(服务器)关闭时释放,即Application生命周期。 Struts2获取方式为: ...
  • 计组(三)存储系统

    2020-04-21 22:42:43
    1、存储器的层次结构体现在哪儿?为何要分这些层次?计算机如何管理这些层次? 主要体现在cache-主存和主存-辅存两个存储层次上。 cache-主存的这个层次,主要对CPU访存起到加速的...存取周期和存储时间的主要区别...
  • 就是小程序里面存取数据 回顾localStorage与sessionStorage 使用 localStorage.setItem(key,value) //存,value必须是字符串 localStorage.getItem(key)//取 localStorage.removeItem(key) //清除指定key的存储 ...
  • 文章目录一:php链接数据库的增删改查二·HTTP协议2·1:定义:2·2:请求方式:2·3:常见的响应状态码三·cookie3·1:定义3·2:cookie的生成过程3·3:cookie的创建使用四:js对cookie进行存取的操作4·14.2:...
  • 生命周期为关闭浏览器窗口(关闭浏览器之后,所存储的数据也就随之清空) (2).以键值对形式存取使用 (3).在同一窗口(页面)下数据可以共享 存储数据 sessionStorage.setItem(key,val) 获取数据 sessionStorage.s.....
  • nandflash的地址周期

    2014-05-10 15:34:44
    随之而来产生的SCSI、FC、SAN、iSCSI、IPStorage数据生命周期管理等崭新的领域,更给计算机技术网络技术赋予了蓬勃的生命力。存数性能的提升通常是通过在基础结构上增加更多的物理磁盘驱动数目或者采用更快转速...
  • Nand Flash 地址周期

    千次阅读 2009-10-19 15:44:00
    随之而来产生的SCSI、FC、SAN、iSCSI、IPStorage数据生命周期管理等崭新的领域,更给计算机技术网络技术赋予了蓬勃的生命力。存数性能的提升通常是通过在基础结构上增加更多的物理磁盘驱动数目或者采用更快转速...
  •  程序在计算机上跑着,就难免会占用内存资源来存储在程序运行过程中的数据,我们按照内存资源的存取方式将内存划分为堆内存栈内存。  栈内存,通常使用的场景是:对存取速度要求较高且数据量不大。  典型的栈...
  • 1.内存存取的程序序为了优化带宽、功耗及编程容易,C6000 DSP结构支持强排序松散排序存储模型的组合。这些定义是相对于由特定的编程序列隐含的内存操作顺序。这些顺序被称为内存存取程序序。 C6000 DSP每个周期...
  • 常用的几种浏览器缓存方式使用的总结 现在进行总结一下,对于cookie,localStorage,sessionStorage进行一个简单的比较。 对比差异 特性 cookie localStorage sessionStorge 储存大小 4k 5M(浏览器不同而...
  • cnblogs.com/MaMaNongNong/p/11945161.html不用程序员操心的堆 — 托管堆程序在计算机上跑着,就难免会占用内存资源来存储在程序运行过程中的数据,我们按照内存资源的存取方式将内存划分为堆内存栈内存。...
  • 目录前言存储系统的概念Cache存储系统(Cache-主存存储层次)的组成以及目的虚拟存储系统(主存-辅存存储穿层次)的组成以及目的主存的组成存取时间与存取周期的概念动态RAM的刷新知道芯片容量求出地址线数据线...
  • 层次结构存储系统

    2020-10-08 23:58:49
    存储器分类: 按存储元件分类 半导体存储器 磁表面存储器 光盘存储器 按读取方式 随机存取存储器 顺序存取存储器 直接存取存储器 相联存储器 按信息可更改性 ...地址译码器将地址寄存器中的地址在记忆单元中...存储周期
  • 不用程序员操心的堆 — 托管堆 程序在计算机上跑着,就难免会占用内存资源来存储在程序运行过程中的数据,我们按照内存资源的存取方式将内存划分为堆内存栈内存。 栈内存,通常使用的场景是:对存取速度要求较高...
  • 不用程序员操心的堆 —托管堆程序在计算机上跑着,就难免会占用内存资源来存储在程序运行过程中的数据,我们按照内存资源的存取方式将内存划分为堆内存栈内存。栈内存,通常使用的场景是:对存取速度要求较高且...
  • 不用程序员操心的堆 — 托管堆程序在计算机上跑着,就难免会占用内存资源来存储在程序运行过程中的数据,我们按照内存资源的存取方式将内存划分为堆内存栈内存。栈内存通常使用的场景是:对存取速度要求较高且数据...
  • 不用程序员操心的堆 —托管堆 程序在计算机上跑着,就难免会占用内存资源来存储在程序运行过程中的数据,我们按照内存资源的存取方式将内存划分为堆内存栈内存。 栈内存,通常使用的场景是:对存取速度要求较高且...
  • 攻城的狮cnblogs.com/MaMaNongNong/p/11945161.html不用程序员操心的堆 — 托管堆 程序在计算机上跑着,就难免会占用内存资源来存储在程序运行过程中的数据,我们按照内存资源的存取方式将内存划分为堆内存栈内存...
  • 文章目录存储系统存储器的层次结构存储器的分类按作用分类按存储介质分类按存取方式分类按信息的可保存性分类存储器的性能指标存储器的层次化结构多级存储系统半导体随机存储器半导体存储芯片半导体存储芯片的基本...
  • java六大存储区域

    2019-09-17 19:50:41
    创建程序时候,JAVA编译器必须知道存储在堆栈内所有数据的确切大小生命周期,因为它必须生成相应的代码,以便上下移动堆栈指针。 3 堆(heap):位于RAM中,存放所有new出来的java对象, 堆不同于栈的好处是:编译器不...
  • 静态存储变量

    2012-05-08 10:59:47
    静态存储变量 内部静态变量作用域是在函数体内或者块结构内有效,当内部静态变量离开...外部静态变量作用域为文件域,只能在本文件内被访问和存取。实例代码如下: #include"stdio.h" void func(); int main() { st

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 375
精华内容 150
关键字:

存取周期和存储周期