内存基本工作原理_第1页
内存基本工作原理_第2页
内存基本工作原理_第3页
内存基本工作原理_第4页
内存基本工作原理_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

内存基本工作原理演示文稿现在是1页\一共有67页\编辑于星期六(优选)第五讲内存基本工作原理现在是2页\一共有67页\编辑于星期六计算机的数学理论模型-图灵机现在是3页\一共有67页\编辑于星期六可计算性对于一个问题,如果存在一个机械的过程, 当我们给定一个输入,这个过程能够在有限步内终止并给出正确答案,那么,这个问题就称为是可计算的/具有可计算性。现在是4页\一共有67页\编辑于星期六计算机理论的发展历史图灵研究了可计算性提出了图灵机和图灵机能解决的问题类证明了存在着图灵机无法解决的问题类冯·诺伊曼给出了现代计算机的设计蓝图提出了数字计算机的组成原理和体系结构对指令、指令周期、指令系统和存储式程序控制原理都给出了明确的方案库克(StephenA.Cook)研究了计算复杂性有一些问题,虽然可计算,但随着问题规模的增加,就连最快的计算机用几百年也不能结束计算现在是5页\一共有67页\编辑于星期六图灵机(TuringMachine)1936年由英国数学家阿兰·图灵提出一种抽象的计算模型现代电子计算机的理论基础基本思想:用机器来模拟

人类用纸和笔

进行

数学运算的过程人用纸和笔进行数学运算的两种简单动作:在纸上写下或擦除某个符号把注意力从纸的一个位置移动到另一个位置同时,人的下一步动作依赖于两个因素:此人当前所关注的纸上某个位置的符号此人当前的思维状态现在是6页\一共有67页\编辑于星期六图灵机的构成成分(1)1.一条无限长的纸带TAPE纸带被划分为一个接一个的小方格每个方格存储一个来自一个有限符号集合的符号纸带的两端可以无限延伸图灵机的符号表…bcdefg……uvwxy……………TAPE现在是7页\一共有67页\编辑于星期六图灵机的构成成分(2)2.一个读写头HEAD能读出当前位置的方格里的符号能在当前位置的方格里写入一个符号能向左、向右移动一次移动一个方格的宽度…bcdefg……uvwxy……………HEAD向左移动向右移动现在是8页\一共有67页\编辑于星期六图灵机的构成成分(3)3.一个控制器CONTROL一个状态寄存器REG记录了图灵机的当前状态一个图灵机具有有限数量的可能状态一个控制规则表TABLE规定了图灵机如何在不同的状态之间进行迁移/转换…bcdefg……uvwxy……………CONTROL有限状态控制器现在是9页\一共有67页\编辑于星期六图灵机的运作方式图灵机的每一步动作取决于四个因素控制器中的当前状态qi读写头的当前位置(在哪个方格上)当前位置的方格内存储的符号si控制规则表中的规则控制器根据qi、si、以及控制规则,决定:1.向当前方格内写入的符号

2.读写头的移动方向(左移,右移,不动)

3.控制器新的当前状态(START,……,HALT)停机状态启始状态现在是10页\一共有67页\编辑于星期六控制规则表的结构当前状态当前方格中的符号写入方格的符号读写头移动方向新的当前状态START………………………qisisi+1左移qi+1………………………HALT每一行存储了一条控制规则现在是11页\一共有67页\编辑于星期六图灵机—实例1…………CONTROL当前状态=START符号表:{0,1,*}状态集合:{START/开始,ADD/相加,CARRY/进位,OVERFLOW/溢出,RETURN/返回,HALT/停机

}**101**请同学们观察这个图灵机的功能是什么现在是12页\一共有67页\编辑于星期六…………CONTROL当前状态=START**101**ID当前状态当前符号写入符号移动方向新的状态01START**左移ADD02ADD01右移RETURN03ADD10左移CARRY04ADD**右移HALT05CARRY01右移RETURN06CARRY10左移CARRY07CARRY*1左移OVERFLOW08OVERFLOW**右移RETURN09RETURN00右移RETURN10RETURN11右移RETURN11RETURN**不动HALT控制规则表现在是13页\一共有67页\编辑于星期六…………CONTROL当前状态=ADD**101**ID当前状态当前符号写入符号移动方向新的状态01START**左移ADD02ADD01右移RETURN03ADD10左移CARRY04ADD**右移HALT05CARRY01右移RETURN06CARRY10左移CARRY07CARRY*1左移OVERFLOW08OVERFLOW**右移RETURN09RETURN00右移RETURN10RETURN11右移RETURN11RETURN**不动HALT控制规则表现在是14页\一共有67页\编辑于星期六…………CONTROL当前状态=ADD**100**ID当前状态当前符号写入符号移动方向新的状态01START**左移ADD02ADD01右移RETURN03ADD10左移CARRY04ADD**右移HALT05CARRY01右移RETURN06CARRY10左移CARRY07CARRY*1左移OVERFLOW08OVERFLOW**右移RETURN09RETURN00右移RETURN10RETURN11右移RETURN11RETURN**不动HALT控制规则表现在是15页\一共有67页\编辑于星期六…………CONTROL当前状态=CARRY**100**ID当前状态当前符号写入符号移动方向新的状态01START**左移ADD02ADD01右移RETURN03ADD10左移CARRY04ADD**右移HALT05CARRY01右移RETURN06CARRY10左移CARRY07CARRY*1左移OVERFLOW08OVERFLOW**右移RETURN09RETURN00右移RETURN10RETURN11右移RETURN11RETURN**不动HALT控制规则表现在是16页\一共有67页\编辑于星期六…………CONTROL当前状态=CARRY**110**ID当前状态当前符号写入符号移动方向新的状态01START**左移ADD02ADD01右移RETURN03ADD10左移CARRY04ADD**右移HALT05CARRY01右移RETURN06CARRY10左移CARRY07CARRY*1左移OVERFLOW08OVERFLOW**右移RETURN09RETURN00右移RETURN10RETURN11右移RETURN11RETURN**不动HALT控制规则表现在是17页\一共有67页\编辑于星期六…………CONTROL当前状态=RETURN**110**ID当前状态当前符号写入符号移动方向新的状态01START**左移ADD02ADD01右移RETURN03ADD10左移CARRY04ADD**右移HALT05CARRY01右移RETURN06CARRY10左移CARRY07CARRY*1左移OVERFLOW08OVERFLOW**右移RETURN09RETURN00右移RETURN10RETURN11右移RETURN11RETURN**不动HALT控制规则表现在是18页\一共有67页\编辑于星期六…………CONTROL当前状态=RETURN**110**ID当前状态当前符号写入符号移动方向新的状态01START**左移ADD02ADD01右移RETURN03ADD10左移CARRY04ADD**右移HALT05CARRY01右移RETURN06CARRY10左移CARRY07CARRY*1左移OVERFLOW08OVERFLOW**右移RETURN09RETURN00右移RETURN10RETURN11右移RETURN11RETURN**不动HALT控制规则表现在是19页\一共有67页\编辑于星期六…………CONTROL当前状态=RETURN**110**ID当前状态当前符号写入符号移动方向新的状态01START**左移ADD02ADD01右移RETURN03ADD10左移CARRY04ADD**右移HALT05CARRY01右移RETURN06CARRY10左移CARRY07CARRY*1左移OVERFLOW08OVERFLOW**右移RETURN09RETURN00右移RETURN10RETURN11右移RETURN11RETURN**不动HALT控制规则表现在是20页\一共有67页\编辑于星期六…………CONTROL当前状态=HALT**110**ID当前状态当前符号写入符号移动方向新的状态01START**左移ADD02ADD01右移RETURN03ADD10左移CARRY04ADD**右移HALT05CARRY01右移RETURN06CARRY10左移CARRY07CARRY*1左移OVERFLOW08OVERFLOW**右移RETURN09RETURN00右移RETURN10RETURN11右移RETURN11RETURN**不动HALT控制规则表现在是21页\一共有67页\编辑于星期六图灵机—实例1这个图灵机的功能是什么?启示:计算机程序执行的顺序性f(x)=x+1现在是22页\一共有67页\编辑于星期六ID当前状态当前符号写入符号移动方向新的状态01START**左移ADD02ADD01不动HALT03ADD10左移CARRY04ADD**右移HALT05CARRY01不动HALT06CARRY10左移CARRY07CARRY*1左移OVERFLOW08OVERFLOW**不动HALT09RETURN00不动HALT10RETURN11不动HALT11RETURN**不动HALT现在是23页\一共有67页\编辑于星期六CPU的内部结构和工作原理现在是24页\一共有67页\编辑于星期六CPU—中央处理器CentralProcessingUnit微型/个人计算机的CPU又被称为:MPU(MicroProcessorUnit)微处理器计算机系统中的核心硬件设备主要功能:执行程序与其它部件协同工作CPU内存显卡现在是25页\一共有67页\编辑于星期六CPU的内部结构算术逻辑运算器程序控制器寄存器组中断处理器CPU内部总线现在是26页\一共有67页\编辑于星期六CPU的内部结构算术逻辑运算器程序控制器寄存器组中断处理器CPU内部总线现在是27页\一共有67页\编辑于星期六CPU的内部结构—寄存器组由一组寄存器组成的高速存储单元用于暂时存放

运算数据或其它信息整数类型的操作数或运算结果浮点数类型的操作数或运算结果指令指令地址各种内部标志信息存取速度CPU寄存器现在是28页\一共有67页\编辑于星期六CPU的内部结构算术逻辑运算器程序控制器寄存器组中断处理器CPU内部总线现在是29页\一共有67页\编辑于星期六CPU的内部结构—程序控制器ProgramControlUnit,CPU的控制中心分析/解释指令根据分析/解释结果向其它部件发出命令控制CPU的工作进度和工作方式具体而言,当一条指令进入CPU后,程序控制器:分析/解释该指令的编码内容;确定为执行该指令应该完成的动作;确定指令相关的参数;例如:对于一个“加法指令”,需要确定两个被加数的地址将所需的数据从主存储器读取到CPU的寄存器中;要求算术逻辑运算器进行相关的运算动作;指示算术逻辑运算器将运算结果放入寄存器或主存储器中。现在是30页\一共有67页\编辑于星期六CPU的内部结构算术逻辑运算器程序控制器寄存器组中断处理器CPU内部总线现在是31页\一共有67页\编辑于星期六CPU的内部结构

—算术逻辑运算器ArithmeticLogicalUnit(ALU),主要进行算术运算和逻辑运算加法指令的例子一条加法指令(其中包含了两个被加数/操作数的地址)进入CPU;程序控制器分析该指令,判断两个操作数是在寄存器内,还是在主存内;如果在主存内,程序控制器从主存内读入操作数;程序控制器将加法运算提交给ALU;ALU

进行加法运算;ALU

根据程序控制器的指示,将运算结果存放到寄存器或主存中。现在是32页\一共有67页\编辑于星期六CPU的内部结构算术逻辑运算器程序控制器寄存器组中断处理器CPU内部总线现在是33页\一共有67页\编辑于星期六CPU的内部结构—中断处理器问题背景:在CPU执行一般程序运算的过程中,如何处理紧急出现的事件?比如:鼠标移动事件发生一个紧急事件

触发一个中断信号中断信号的处理:当发现中断信号后,程序控制器暂停正在运行的程序,保存该程序的运行现场(CPU内的各种状态信息);程序控制器根据中断信号的编码,从特定位置启动中断处理程序(由操作系统提供);中断处理程序运行完毕后,程序控制器恢复被暂停的程序。现在是34页\一共有67页\编辑于星期六CPU的内部结构—中断处理器中断信号的产生:各种软硬件,比如:鼠标、键盘、其它外设…中断信号的接收:中断处理器负责中断信号的接收,并将中断信号的编码、中断处理程序的起始地址传给程序控制器中断信号的检测程序控制器在每条指令执行完毕后,都会检测是否出现了新的中断信号现在是35页\一共有67页\编辑于星期六中断的启示中断设置:应对紧急情况中断处理程序预案与灾难例子:手术过程中出现大出血,处理大出血,继续手术现在是36页\一共有67页\编辑于星期六CPU的主要性能指标工作主频:CPU内部的时钟频率;1.7GHz~3.0GHz运算字长:CPU一次能够处理的二进制位数;32位/64位运算速度:每秒钟执行的指令数;例如:1000MIPS(MillionInstructionsPerSecond)现在是37页\一共有67页\编辑于星期六指令系统现在是38页\一共有67页\编辑于星期六2023/4/22北京大学39早期计算器现在是39页\一共有67页\编辑于星期六指令系统指令(programinstruction)组成程序的基本单位。每一条指令:规定了CPU执行指令应该完成的工作(运算、或其它控制动作),控制CPU的相关部件执行微操作,从而完成指令所规定的功能。现在是40页\一共有67页\编辑于星期六指令系统CPU的指令系统是CPU芯片的硬件与使用它的软件之间的一种严格的协议,反映了CPU能够完成的全部功能。CPU的“指令系统”规定了:它所能执行指令的全部类别,指令的编码方式和每一类指令所涉及的参数等。现在是41页\一共有67页\编辑于星期六指令系统每一条指令用若干字节的二进制编码表示,包括它要完成的动作及其相关的参数00000001加法指令的分类:存储访问指令算术运算指令逻辑运算指令条件判断和分支转移指令输入输出指令其他用于系统控制的指令现在是42页\一共有67页\编辑于星期六指令工作周期程序控制器按照“读取指令—执行指令”的周期循环地工作读取指令执行指令开机关机现在是43页\一共有67页\编辑于星期六指令工作周期一个指令周期一般需要占用多个CPU时钟周期/时钟节拍CPU时钟周期/时钟节拍CPU完成一个原子动作的基本时间单位如果一个CPU的时钟频率是yGHz,那么这个CPU的时钟周期/时钟节拍是1/y10-9

秒现在是44页\一共有67页\编辑于星期六指令工作周期一道应用题:一个CPU能够在4个时钟周期/时钟节拍内完成一个指令周期。如果这个CPU的时钟频率/主频是2GHz,那么,这个CPU在一秒之内能执行多少条指令?这个CPU的运算速度是多少?答:一秒中内可以执行的指令个数为2109Hz1秒/4=5108

个运算速度为500MIPS现在是45页\一共有67页\编辑于星期六进一步理解指令RISC精简指令集,只包含100多条指令,不同CPU支持的指令数有稍微差异。计算机只有少数的上百条指令,为什么却能够做各种各样的事情?初步理解“函数”的思想现在是46页\一共有67页\编辑于星期六令人吃惊的事实现在是47页\一共有67页\编辑于星期六试试让计算机比较两个1-bit二进制数是否相等,只用前面提到的运算,如果需要,可以使用辅助的bits.现在是48页\一共有67页\编辑于星期六xyeqEqualitytest(x,y)zeroeq;flipeq;/*equalityontestxflipeq;testyflipeq;/*equalityononlyturntwiceIfx=yeq=1Otherwiseeq=0你能将这个操作扩展到,比如,

32位内的整数吗?现在是49页\一共有67页\编辑于星期六稍微增加一点操作计算两个1-bit二进制数的和xyz1z0tx+yadd(x,y)1.zeroz0;2.zeroz1;3.equalitytest(x,y);4.testeqgoto75.flipz0;6.exit;7.zerot;8.flipt;9.equalitytest(x,t);10.testeqflipz1;如果只允许原来三个基本操作,能完成这个任务吗?现在是50页\一共有67页\编辑于星期六多层次抽象用一位的加法“间接操作”可以实现普通加法操作;加法操作又可以作为一步操作用在更复杂的“间接操作”中。一步步的“间接操作”,不断的接近我们看到的程序。这些“间接”的设计,类似于程序中的函数设计现在是51页\一共有67页\编辑于星期六主存储器

及其与CPU之间的信息传输现在是52页\一共有67页\编辑于星期六主存储器/内存由基于大规模集成电路的存储芯片组装而成,存储CPU可直接访问的数据和程序主存储器的工作速度和容量对计算机系统整体性能影响极大一次读写大约在几十纳秒(ns)左右1纳秒=10-9秒主存储器容量的基本计量单位为字节(Byte),目前常见的计算机标配内存容量多为512MB、1GB和2GB随机访问存储器(RAM—RandomAccessMemory)访问时间不随访问地址的不同而不同也即,读写任意地址的存储单元,其所需时间是一样的顺序访问存储器主要功能:存储数据和读写数据现在是53页\一共有67页\编辑于星期六存储空间的管理为了更有效地进行管理,通常以8个比特(一个字节)为一个存储管理单元(简称:存储单元)每个存储单元都有其特定且唯一的地址,称为:存储地址存储地址为整数编码,可表示为二进制整数由主存储器的所有存储单元的地址构成的集合,称为地址空间表示地址空间所需的二进制位数,称为地址宽度内存容量越大,地址空间也就越大,地址宽度也必须相应加大现在是54页\一共有67页\编辑于星期六主存储器的访问方式地址访问方式给出想要访问的存储单元的地址,从该地址的存储单元中读数据,或向其中写入数据CPU的字长一般是4个字节或8个字节,因此CPU读写内存数据的方式是每次4个或8个字节在一段程序中,变量和存储单元相对应变量名字对应于存储单元地址变量内容对应于存储单元中的数据指针型变量:专门存放存储单元地址的变量这真的对我有用么?现在是55页\一共有67页\编辑于星期六主存和CPU之间的信息传输通过存储总线进行信息传输存储总线由三组总线构成数据总线:用于传输数据地址总线:用于传输存储单元地址地址开关控制总线:用于各种控制信息的传递(读、写等)控制开关现在是56页\一共有67页\编辑于星期六CPU内存地址总线数据总线控制总线现在是57页\一共有67页\编辑于星期六主存和CPU之间的信息传输CPU从主存中读取数据的过程CPU

把存储单元地址写入地址总线;CPU

通过控制总线发出一个“读”信号;主存收到“读”信号,根据地址总线上的地址信息,把连续几个存储单元的数据读出,送到数据总线上;(需要一定的时间)在等待一段时间后,CPU

从数据总线上获得数据。现在是58页\一共有67页\编辑于星期六主存和CPU之间的信息传输CPU向主存写入数据的过程CPU

把存储单元地址写入地址总线;CPU把数据写入数据总线;CPU

通过控制总线发出一个“写”信号;主存收到“写”信号,根据地址总线上的地址信息,把数据总线上的数据写入到相应的存储单元中(需要一定的时间)现在是59页\一共有67页\编辑于星期六总线的宽度一条总线上一次可传输的二进制位数数据总线的宽度一般和CPU的字长相同目前CPU一般采用32位或64位的数据总线数据总线宽度决定了一次传送数据量的大小CPU的地址总线宽度决定了主存储器地址空间的大小16位地址(64K);32位地址(4G);64位地址(天文数字)现在是60页\一共有67页\编辑于星期六计算机程序的基本控制结构现在是61页\一共有67页\编辑于星期六程序的基本控制结构程序(Program)由若干条指令按照一定的顺序排列组成,是为信息处理任务而预先编制的工作执行方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论