screen_ 计算机组成与体系结构 _ 第 9 周 _ 星期四 _ 第 2 大节 _ 原文 2026 年 01 月 01 日 16:38 有的高的内部接触是吧?我也都接近相关,除了之外所有。那你高的那两个高的那种已经处理了。这个一个人证明。第二个,你怎么设计来决定这三书?重叠也罢,不重叠也罢,都是对的。但是前期看。

那没处理完了,那就是处理。一般来说,他首先是对于地址,对吧?

好,应该来说这一周在座的各位应该是开始只学习了一些新课,正好咱们学校应该来说正常教学时间。前八周就结束了,今天开始是后八周的课程。我发一下教学时间安排,咱们在十一是放了一次,放掉了一次课。后来我看了一下,今年的咱们最后一次课是第 16 周的,最后一次是元月 1 号,又要被放掉一次,也就是咱们 48 学时变成了 42 学时。那么我们教学任务还是比较重的。

尽管我们是把第五章基本要结束,今天今天会花两节课左右会结束。但是后面我们还有实验内容,还有基于华为鲲鹏处理器 ARM 架构的一个 CPU 的一个结构分析。事实上这个时间是非常紧张的,我们习题课也就上了一个前第二章、第三章。因此后半后半周实际上就是后期多。

我们的内容后期是 21 学时是吧?我们内容还是比较多的。那么实验有可能按照以往会安排到课后,而且按照那按照这些大纲的话,我们会可能会安排两个软件的实验,然后还有大作业,这些都是按算到你的最后的综合成绩里面。这个我先给大家出一个分,我会在下周或者下周把第六章我们讲完之后,把相关的内容给大家布置。大致其这些工作我们会就是因为我们后面有两个实验,肯定是客户练习,我没有时间去讲。除此之外我们有鲲鹏处理器的分析,这个我们也要讲,考试中肯定是要有涉及的内容。

这个希望大家下去以后要完成。这种作业一句话你可借鉴的东西比较少是吧?事实上这块到时候咱们再看吧,但是他肯定是按照我们之前所说的,是要算到你总评成绩里面。好,我们把后面的时间这个安排大概跟大家讲一下。

好,咱们上节课核心的一件事就是讨论了有关主存储器的设计问题。我们细分为自扩展和未扩展两类进行了一个讨论。我们说对于这种类型的题,事实上我们的切入点是两块。一个是求解总片数的计算公式,利用它我需要。知道在使在座各位知道我们总的存储器所需要的芯片的数量,以及行是几行列是几列。同一行我进行未扩展,不同行我进行自扩展。也是我们要根据这个计算公式,叫大家一个宏观的知道我们的这个芯片是怎么进行自扩展,怎么进行未扩展。这是第一块,这是你需要在草稿纸上我们要计算的。

除此之外我们还有一张表,三行三行三列或者三行若干若干列若干行三列。这在这个表里面描述了存储器存储芯片容量,地址线的条数,数据线的条数。根据这个我们就很容易就很清楚芯片和我们存储器芯片他需要的片内寻址是多少根。超出来的存储器的那那个高位地址作为片选输入是吧?当然我们这种是非常宏观的。如果大家做了做过课后作业的话,对于这种片选信号的处理,它的变化我想大家都已经通过作业经比较过了,这个是我们需要大家一定要掌握的。

上节课我们讲到最后,我们重点讨论的是存储芯片的地址信号线的一个处理问题,也就是说我们片选信号的选通问题。在咱们教科书上,对于片选信号的处理,我们给出了三种方案,分别是限权法、权益码法和部分一码法。那么上节课我们讲完了前面两种限权法和权益码法。限权法它的特点是什么?我的存储器所给定的地址信号线远多于我存储芯片的实际需要,就包括债权。

在这个前提下,大家可以看一下,这一张图纸线权法的片选信号的连接。也就是说每个芯片的 CS 片选端直接连接高位地址信号线。比如说这里的零号芯片,它接 A11,一号芯片的就零号芯片的片选端接 A11 这个地址信号,一号芯片接 A12,就片选端接 A12,二号芯片 CS 接 A13,三号芯片接 A14。那么这种方式是将我们多余的高位地址直接与芯片的片信号相接。

但大家发现,因为我们一般是 CS 什么 CS 非也就是说它是低电平有效,CSC 是低电平有效。那么低电平有效,大家看一下,对 A11 到 A14,那么四位二进制状态,四位二进制是吧?四位二进制数能够描述 16 种状态。其中这十种状态中,只有我 PPT 上显示的这四种状态是合法有效的,其他的 12 个状态,二进制的状态都是非法的。也就说这里给出了我们现有人一个最大的问题。也就是说我们存储器的地址是跳跃变化,是不连续的。那么对于我们现代计算机存储空间不连续,这是现在计算机是无法接受或忍受的一个事情。

也就是说现约法最大的问题是什么?我的地址范围不连续,原因就是在于高位地址。比如这里的四位只有四个状态是有效的,剩下的 12 个状态是无效的,导致了我的芯片的地址延迟。

这个相关注意一下,当然我们这个地图延迟是站在存储器这个宏观的角度。那么每个芯片在它整个主访问中间是一片一片的是间断的。当时就单个芯片一旦成功时候,它的这个联系,比如说这个 700 到 77FF 这是 6800 到 623。大家看一下,这中间是有的是有是有偏差的是吧?它不连续,这是希望大家一定要注意一下。这个我们就给大家讲,这是第一种。

第二种方法我们称为权益码法。这个大前提也就是说我们存储器所给的地址信号线的条数,充分满足这个存储芯片片地址以及片选信号的需求。有可能出现比如说我重新给了 20 位地址,而我按照咱们前面实际的四位扩展,我们只是用到了 13 位。那么高出来的 A13 到 A19,那么这七位地址我是什么?多出来我是对他进行一个管理,把它这 A11、A13 到 A19 我通通接地,使它变成 000。尽管我们说我们存储器所给的地址信号远多于存储芯片所需要的,但由于存储器的每一根电信号点的输出,我都有明确的值得给力。对于这个我们我们称为全一麻烦。

所谓的部位一麻烦,就是说这里的 A13 到 A19,我不管你爱多少是吧?因为这七位 2 的 7 次方 128,也就是说这是我对于权益麻烦。对 A13 到 A19 我通过接近把它相当于全部置零是吧?那么如果不管的话,你想这七位有 128 个状态,大家可以看一下。

对于部分英拉法会产生什么地址重叠现象,这什么意思?一个实际的存储单元,它有多个地址。大家可以看一下这一个物理的存储单元,它有多个地址,它的特点是什么?第 10 13 位是相同的,而高七位不一样。那么这些物理的存储单元的地最大的特点就他的低位值是确定的,而高位是不确定的。这种是相当于 128 个地址,我映射一个物理单元,这就是所谓的第级别现象。

这个应该没什么好说的,这是部分的麻烦。大家可以看下他的一个简单介绍,咱们书上教科书上也瞄也对其中相关内容进行了描述。大家想自己看一下,那个困难其实大家一说都明白。好,下面咱们看一下存储器与 CQ 的连接。这也是因为我昨天因为备课,我还顺便看了一下 408 的考研大纲。

408 考研大纲对于主存储器与 CPU 连接作为一个关键点进行一个讨论。首先大家明确 CPU 与主存连接是通过三类信号线,三类总线分别是地址总线、数据总线和控制总线。这三类控制控制总线比如说片选、RU 操作等等等等。

大家注意一下,在实际的我们主存储器与 CPU 进行通讯过程中,我们需要用到两个特定的寄存器,分别称为 MAR 和 MDR。MAR 是什么?存储器地址寄存器 MAR,存储器数据寄存器 MDR,也就是说所谓的 CPU。向。向主存进行读写操作。比如说我要写的数据,只需要 CPU 将相应的地址信号地地址信息、数据信息分别写入到 MLMDR,他的任务就完成了。

大家注意一下,这张图描述了 MARMDR。在整个物理空间的存放位置。那么这张图大家发现,首先大家明确从逻辑上 MARMDR 属于主存储器的组成部分,就从逻辑上它属于纯净。但是物理的它是被嵌入到 CPU 内部,这个向大家一定要清楚。比如说 MDR,MDR 这两个寄存器属于 CPU 内部的,抓住寄存器物理位置在 CPU 内部。而且属于 CPU 内部的专用寄存器。但是从我们功能模块划分的角度,这两个是属于存储器的组成部分,这点请大家注意一下。

好,下面咱们看一下 MCPU 是如何利用 MARMDR 完成读或者写操作的。那么你 CPU 要和要完成这些操作,首先我们要通过什么总线将 CPU 和主存连接起来。这张图就是告诉大家雾的连接线,大家看一下 MARMDR 在 CPU 这边,其中所谓的总线是由 MAR 输出,然后通过地址总线把地址信号送给主存储七这是大家看一下数据,地址信号是一个单向的,是 CPU 发出存储器接收。而 MDR 它描述的 CPU 与主存之间的数据交换是可能读,也可能是写。因此大家看一下数据总线,我们标注的是双向箭头。然后 CPU 发出的读写命令是单向 CPU 发出,接收端是存储器。

最后一个叫 MFC 等待存储器完成信号就是 memory finish control,就是存储器完成操作的一个信号。这个信号是由主存储器发给 CPU 是吧?那么这是物理的,就是你要储存和 CPU 要进行通讯访问的话,物理的信号线就是这么多是吧?有了这个物理的信号线的前提下,我们看一下它的读写访问的控制逻辑。

下面咱们看一下 CPU 要完成对主存的读写操作要干什么呢?第一,CPU 要发出地址信号,就 CPU 通过安排 DR 地址总线将地址信号发给主存,这是第一件事。我发出毒。读的操作,虽然这个写的不太准是吧?你应该分为读和写。因为你要写读的话,我发出地址信号,发出读的命令,然后我 MDR 是接收数据就行了。如果写的话,实际上是我的地址信息和数据信息同时要准备同时准备?我再发出写信息,地址信号通过地址总线发给存储器数据信息,将写入的数据信息通过这个数据总线发给这个主存储器?

对发展过程,大家可以看一下,虽然我们在这里的描述的时候是跟如何写操作的,那么读操作大家看一下我们的信号是怎么给的。首先 CU 将地址信息通过 MDR,通过地址总线?相当于把这个电器由 CPU 发出,主存储器接收,这是第一部分。第二个这个操作完成以后,那么 CPU 发出读者令,然后什么等待 MFC 信号,等待存储器工作完成一个反馈信号。什么监视图是从主存中接触去,你看根据 MGR 提供的地址,我找到主图单元,从主图单元里面获取信息,通过地址总线通过数据总线把信息写入到 MDR。MDR 这是这是读操作,那么大家可以看一下它这个动态演示,对吧?

你说 CQ 通过 MDR 通过总线加一焦电子信息写个储存器,然后发出读指令,然后等待 MFC 最后再接收从主存储器来的数据。这数据接收端是 MDR 是吧?就是读操作。写操作跟读操作不太一样。大家可以看一下,那不一样的等于说在写操作这个动作要执行的时候,我要把需要写入的主单元的地址信息写个数据,分别通过 MDR、MAMMAR 和 MDR 从分液通过地址总线数据总线传送为存储器。C 主存储器接收到地址信息,他先激活找到相应的补充单元,然后 CPU 再给他发出写操作。

就刚才我们说了,我们激活了找到了存储单元,而且他又介绍了接收到了 CQ 发出的写的命令,然后再将数据写入指令甚至单元。这个操作结束之后,他要反馈一个 MFC 信号,完成写操作,这个信号要给 CPU。实际上在这 CQ 等待的 MFC 这个信号,这个 MIC 信号应该是到网上这张图里面是不是没有告诉大家,对吧?我的 MFMFC。是由主存发的 CPU。

这里我就有个小小的问题,大家总结一下这个 MFC 的信号。发给 CPU,CPU 上面哪个部件接收 msci?这个可以大家再做一个小小的疑问。

我们再讲第七张 CPU 的时候会解决这个问题。有人说其他部件发出的控制信号,不是说这不应该是空信号,就反馈信号是吧?就这一个反馈信号,以及我前面第四章我加减乘除,比如说 CN 加四有进位的输出信号,这些信号 CPU 是怎么监控的?这个就是说你说其他部件我玩一些操作,那么它会比如说运算过程中我可能有定位,也可能什么除数为零,也可能结果溢出等等,有很多这种反馈信息。这些反馈信息是我由其他部件送给 CPU,那么 CPU 接收这个信息的附件是什么东西?这个大家可以琢磨一下。

好,这样我们它的控制逻辑我们就讲完了。但是目前 CPU 和主存,应该来说我们 CPU1 代代的发展,我们主存现在也是在在发展是吧?从我看一下,从 30 年以前,1995 年到现在,我们的内存发展了五代 ddr 一代、ddr 2 代、ddr 3、DDR4,一直到现在最近 ddr 5 是吧?这其实这五代是咱们现在能看到的,在这之前我们还有这些,我们就不翻读历史了。这无论发展到我们就过去的 DR 比如咱们目前大家用的这个笔记本,大部分都是 DGR4 代的,是吧?你可以看一下它的工作频率,只要 3200 以下的都是低调了。DDRDDR4,您说这个 DDR2,这个 DDR3,DDR4 上,你讲个按钮给我看看。比如说 DDR4。

内存的标准频率是 1233 到 3 有的,标了 3600 是吧,这 ddr 3,DDRDDR3?应该是,我看是 1800。到转正 1066 是吧?你这说明了他的工作频率。因为我们说 CPU 在发展内存在发展,但是我们说到了 2025 年的今天,我们依然给出的还是这样的结论。

这个也说这个 PPT 我们显示的内容已经在我在咱们蒋汉文讲话是一句话,目前 CPU 和主存的速度是不匹配的。换句话说是高速的 CPU 低慢速的主存。这是尽管我们说我们 CPU 在发展,ddr 的内存也在发展。但是发展这么多年始终依然我们对于 CPU 的速度,对于主存的速度依然给的是什么?他们二者之间诉讼储备是高速 CPU 和低速主存之间的一个关系。这就是为什么在过去的二十几年里,我们开始大行其道,也说咱们现在一般比如英特尔 CPU 或者这个 G2M 家的 CPU 都是分为一级开始、二级开始、三级开始。为什么?它的基本原因就是这个问题,就是高速的 CPU 与低速的储存的处理速度不匹配。

那么我们想怎么想办法去优化这个储存速度?大家发现传统的内存这种处理方案已经理解了是吧?尽管我们说有优化有提高,但是比起高速 CPU 差的很远。我们就是另辟蹊径,就引入了我们的态势。

开始一句话是我们 CPU 内部的通用寄存器组。早期 8086CPU 通缉存器只有十几个是吧?8086 是 1980 年到现在,快半世纪了。我们 CQ 内部的控寄存器原来只有十几个,现在发展成几百 K 几兆几十兆。也就通过 50 年的将近半个世纪的这种跃迁,CPU 内部的同期存器组的容量有十几个?连一 K 都没有。

就我所说十几个就每一个也就是 16 位计算器,有十几个变成了几百 K 这是一级几兆?二级是吧?几十兆是三级是吧,就说这个就一个处理。在这为了解决我们速度差别的一个是一个同步和异步的问题。一般来说我们主要还是以臀部为主,内部是有点问题的。

那么好,有关主存储器第五章的内容我们就介绍到这里。咱们教科书上 123 页讲有关储存的校验,以及后面的主存储器储存的发展等等等等。这些下自己看一下对吧?咱们主要是现在这块讲的比较少,我就不啰嗦了。

好,下面咱们看一下第六章。第六章在过去如果是清华大学这个教材的话,那么相对来说目前咱们北邮教材中第六章的内容相比较而言,就这个蒋老师第一他把开始单拿出来了。但是你可以看一下这个第六章的 PPT 长达 236,是让我们过去教学这部分内容所讲的内容不超过 50 页。因为很多东西都是有冗余的,是吧?有冗余。但是说难听的讲,你就是把这个第六章 PPT 看明白了。

第六章的课后作业,第六章咱们给的课后作业 90%,你不会做 90%。那么你可以看一下他讲的那些东西,基本上在座各位这个基本上我觉得难度还是比较大的。也就是说第六章的课后作业,我们上次已经说过了,基本上是 408 那 1 年,就是从 2006 年开始进行统考之后的年的考研真题难度是比较大的。但是你光说是你看第六章的教材,你说你挑战一下课后作业,我觉得难度还是比较大是吧?这个希望大家要注意一下。

那么第六章怎么学?其实这样我第六章回头讲,这是北邮邮咱们人民邮电人民邮电出版社配套的教材所提供 PPT,我觉得写的不是特别好。下去以后我会把人民邮件这本教材配套第六章 PPT,以及咱们清华版蒋老师的那个清华原片的那个第五章的 PPT,我一并传给大家。大家就结合来看?因为我换句话说,我对于贾老师献给我们的燃油版的第二张 PPT 我是不太满意的。但是尊重大家的这个劳动成果,我就也给大家是吧也给大家,大家自己去评价。

那么这个内容大家最关心的是什么?考试吧?考试我们会跟往年的差别不大,而开始的计算。换句话说,咱们书上第六章的课后作业我们就不做要求,第六章的客户作业不做要求。

那么第六章的考核,实际上他所第六章所遇到的一些例题,第六章课后作业的习题我们不做要求。但是第六章考核的习题全在 PPT 里面。只要你能把 PPT 讲一些问题你会做,我们就基本上算是过关了,好吧,这个难度我们会会降不少。因为第六章说难听的讲,你们去看大部分的同学都会。好。当然我说这刚才我说这句话我是负责的,也不是打击在座各位,真的因为我有相应的数据支持。

好,咱们看一下第六章的内容。第六章大家注意一下,贾老师第六章的题笔记总共长达 236 页上,他描述了两个问题。第一个是有关存储系统的构成,说白了就是我们经典的三级存储系统的设计,就是开始储存这三级存储系统中的设计问题,就说每一层我解决的目标是什么,这是第一点。第二节病因整理系统我们不做要求。第三节开始我们会讲经典理论,第四节虚拟存储系统。

我也是因为这个属于操作系统的内容是吧?操性对虚拟词组有很多算法,但是由于这块内容属于。这个计算机组成原理和计算机组成原理和操作系统有点交叉而已。基本上我是跟你们的这个组成员里的老师也沟通过是吧?基本上就他来讲,我就不讲。应该是你们下学期学抄写的是下学期。对,因为计算机那边是这个学期,你不是下个学期。当然我们说这个虚拟存储器的相关的一些算法,大家的在咱们这个 PPT 里面看到,其实我们不深入讲。因为你们操作系统在这里你乱讲,我记得有很多题要大家去做,我们没有时间去弄。

好,下面咱们看一下第一个问题,有关计算机的存储系统。整个系统我们说首先大家要定位一下,计算机的存储器是属于计算机系统的核心部件。也就说你要保证计算机正常运行,除了 CPU 就是运算器和控制器之外,用于正常数据保存的器件就是存储器。它包含了我们原始数据程序的基本概括,长时间计算机里面正在保存,主要这个是我们的这个存储器?储存。除此之外,在运行过程中 CPU 打交道的是我的主存和我的 touch。因此我们说它是非常重要的。

我们目前对于计算机存储系统的需求和对存储系统的要求是什么?高速低价、大容量。这个应该来说每个同学都能够理解。但是问题来说那在哪呢?高速低价这就是个矛盾问题,你高度的东西价格一定会很贵是吧?那容量大的价格也是很贵。像现在大家可以谈这个,拿出你的手机,你可以看一下是吧。

咱们先不说内存了,咱们就看一下辅助存储器硬盘,你们可以看一下硬盘是吧?我们硬盘现在是两类,其中一个已经翻了篇,基本上要淘汰了是吧?说白了就是固态硬盘和机械硬盘。固态硬盘最近价格涨得很厉害?一 TB 的固态硬盘,一 TB 的固态硬盘大概是 500 来块钱。那么你 500 块钱如果买机械硬盘,能够大致其应该是在 2000 以上,两 T 翻一倍是吧?而且大家可以看一个非常轻薄的一个大包,一小半斤是吧?肯定是不一样的。

我的固态硬盘代表是高速,但是它价格就不低是吧?机械硬盘传输速率慢,但是它容量大。也就是说这是我们对于存储器的追求目标,高速低价、大容量。为了满足这几个条件,我这不是这几个件,满足这几个实际的需求。

现代计算机的存储系统是由多种存储设备我共同构成一个存储体系,利用不一样价格的产品分别实现高速低价大保证。这点相当明确。就说高速低价、大容量这几个需求既是人们的合理的期望,也是一个矛盾体。我们怎么办?我们采用不同部件发挥它特定的一些优势?忽略他别的一些缺点,通过可使用多种存储设备来实现我们这几个目标。

大家可以看一下这张图大家可以看一下,它描述了我们目前存储设备速度和容量之间的一个关系。大家可以看一下,这都是英文,是蒋老师从眼角选择,速度最快的是 register 寄存器,是 CPU 内部的通用寄存器,它的运行速度最快是吧?大家可以看看这个部分。紧接着是开始,因为这两个寄存器的开始实际上是一样的生产工艺。只不过是我们把外这个计算器进行行扩充以后,我们得到了相应的 cash 是什么?

储存 memory,储存然后什么固态硬盘,然后就是磁盘机械硬盘、磁表面存储器,然后什么包含什么磁带的 P 这个速度是越往上速度越快,越往下速度越慢。但是这个容量越往下,它的容量越大对对,它是符合。因此我们说我们宏观的,当然我们说这好好休息五分钟,待会再见。

今天不交,明天下午下雨。

好,咱们一起来看一下。这张图事实上我刚才说过了,他是包含了我们经典存储系统的三大块。其中 register 寄存器算属于 CPU 内部的部件,它不算存储系统,它只是用于 CPN 内部的数据临时存放。开始属于 C 是我们存储系统中最为顶尖上最为顶尖的部件。开始因为由于它的生产工艺,就是我们制作寄存器的生产工艺。换句话说,开始的物理速度等同于 CPU 访问它内部寄存器的速度非常快,但价格最高的。第二部分是属于速度稍微慢一点,容量再大一点。

对我们的补充,也是我们第五章重点讨论的是储存武器储存剩下的无故论述我的固态硬盘、机械硬盘、光盘。在我们计算机系存储系统有一个关键名词叫辅助存储器。实际上我们的第最后一章、第九章,第八章应该是第八章,就咱们讲的后面改了一下他的内容。对,第第第现在应该是第八章。第八章的第二节外部通讯设备其中有一块就是这个外存,只能就对接,就无论是固态机械光盘、丝带机都属于我们的外部是吧?第八章的第二节有专门小题去描述它。

在过去我们的一单会讲测文档存储器的技术。写这波新图,现在新版的这张没了,三天没了,那就咱也不做要求。好,下面咱们看一下存储器的分类。存储器的分类我觉得难度也不大,大家觉得不行就自己看一看,因为也没有什么好说的。

首先大家要明确我们目前所讲的基于什么冯诺依曼型计算机。也就是说冯诺依曼型计算机最经典的是叉 86 结构是吧?冯诺依曼型计算机它是一个经典的是以运算器为中心的硬件设计。也就是说混动一般型计算机就已经强调是计算功能。而现在计算机应该来说硬件是以存储为中心的。

因为 CPU 传统是单 CPU 的处理,但是现在都是以多核 CPU 进行一个并计算。它的处理方式跟原来的这种单体变化很大,包括我们经典的英特尔的 CPU。也是多核对,尤其这两年被 ARM 价格的大小和的处理手段逼的,他也是强调了多个不同的处理芯片?不同的处理器它起到的作用是有差异的。

他的分类我们自己看一下,我这是多啰嗦了是吧?但是存储器的基本构成大家一定要要明确。事实上我要求大家掌握开始主存储器和辅助存储器这三类存储部件。但是在这儿希望大家要区分这几个概念,就存储器的概念。

这里列了三种存储器,但比较容易混淆的概念分别是主存储器它描述是什么?大家看一下定义,主存储器存放正在运行的程序和数据,正在运行辅助存储器存放等待运行的程序和数据,通用寄存器组存放最经常用到的数据。这三个大家在比如说我出考试的时候,这个最典型的就是要出一个选择题,再来去辨析一下不同的概念。

后面我们还有一个 cache?等我们学完 cache 原理以后,你就知道开始里面存放的是什么信息。向大家注意一下,我们。这些有关其他这些指标,你们下自己看一下。

好,下面我们去学习有多种不同速度、容量,生产工艺构成的计算机的存储系统。说白了我们讨论一下我们三级存储系统的特点。三级存储系统应该来说这张图是最为经典的。我们三级存储系统分为两个层次,其中这里所讲的虚拟存储系统是由我们的库存去构成的,是虚拟测试系统。

这个最核心的就是我们经典操作系统的主存管理,就讲的虚拟存储器他解决什么问题?他解决的是我们内存空间不足。内存空间不足,比如说 32 位地址是吧?32 位地址。32 位地址。32 位是因为我们有 32 位或 64 位的操作系统。比如 32 位地址,大致其它能访问 4GB 的储存空间。4GB 那么大概我们计算硬件突破 4GB 主动空间的访问,物理 4G 的主动空间访问。从突破 4GB 存款到现在也就是什么 15 年时间,就 2010 年前后,就是说我们站在硬件设计就构成这个角度来说,我们突破了 32 位地址的访问的物理空间自己。

也就是说在 2010 年之前,你家里的老式机器的内存基本上没有超过 4G1 般都是 2G1 个 GT 像我们 08 年在做项目的时候,你一台机器有个两 G 空间就已经非常大了是吧?再比如说 4G 也就说真正物理的就是 G 空间。也就是在 08 年之前,当时的这个就是在 2010 年之前,当时是什么?我计算机设计的访问的地址空间是 32 位或 64 位,而实际的总空间远远小于我们的理论计算值。怎么办呢?我利用虚拟存储系统,利用地址变换将主存和辅存融为一体,进行一个虚拟存储空间的管理。也是说站在用户角度来说,他的只要我的什么访问的存储单元地址是足够大的,那么他就认为是一种无限大的补。这是所谓的虚拟存储性。

然后这块我就简单说一下,你们在学习操作系统的主动管理的时候,有一半就讨论这件事是吧?就是虚拟存储管理解决的是什么?利用硬盘去扩充主动空间,而这种扩充是按照访问地址的位置进行扩充?你有 32 位地址,我认为他的物理的房空间是 4GB 比如说 64 位,现在我们 64 位地址,那么访问空间应该是多少 G?

它它是有一个变通的一个手段?这是一个层面。还有层次是态势层次。开始这个层次主要是解决高速 CPU 访问低慢速主存的问题。利用态势这种制造工艺与 CPU 内部通用寄存器一样的生产工艺造成的小容量的存储设备。利用它来弥补这个慢速的主存,去迎合 CC 的高速访问,这是态势这一层。

虚拟存储主要解决一个流量问题,也就是说使用户感觉到它有无限大的储存空间。只要你的访问储存的地址位数是足够的。他罗将军认为你有无限大储存空间。那速度它的特点,速度接近于主存,容量接近于储存,这什么意思呢?也就是说这个容量只要根据你的什么,访问的地址空间的位数 32 位,就意味着你储存空间是 4GB 那 64 位,你的总空间大概有多大是吧?你可以算一下,再给出 32 位地址空间大概是什么时候?也就是我们 windows 操作系统从 95 年 windows 95 出现以后,就是一个 32 位的操作系统。

你想 95 年我们的内存,家里的计算机的内存也就是。69 就是 60 兆是吧,64 兆,128 兆我借我 2000 年。在在原告宣传的时候,当时我们提前算好的 256 兆是吧。

这个就是其主要是你说白了虚拟存储空间核心的是什么?只要你的访问存储器的地址的位数是足够的,那么你就是理论上讲你的这个储存空间是无限大的。但实际的容量是就是我的储存的大小,对吧?这是这一块。

当时说我们储存到储存之间的数据的交换是借助于软硬件共同进行的映射。所谓的软件说白了主要是我们的操作系统,对吧?硬件然后是一些地址变换的一些装置。比如说我们前面的基址寄存器,基址寄存器就是虚拟的地址空间到真实的物理的主题空间的一个地址变化计算的关系。你怎么说主存到主存之间的这种转换依赖于我们辅助的软硬件来进行。这个应该来说对应用程序员来说,普通的大家就是开发程序员说这个层次是透明的是吧?换句话说,只要你知道你的数据是多少位,那么你就认为这个主存空间是足够大的,是吧?

至于你这种逻辑上的地址空间访问的从存储单元到他物理的位置确定。这就是我们用到操作的虚拟存储管理的一些东西。也是鉴于我们操作系统来实现我的存储管理,接入操作系统的内存管理来实现存储管理。主要实现什么?地址变化与程序的定位?这个是主要的一块。这个层次就要解决容量问题。

第二个层次就是开始储存,这个层次就要解决存取数的问题。就刚才我说了高速的 CPU 低速的储存,他们两个存在就有差别。我们的策略是加装一个生产工艺与 CPU 内部供给存储组这个级别的 cache。这个级别的 cache 的读写速度等同于 CPU 访问它内部的通信电器,这个是以硬件映射为主,这个我就简单说一下。每个目的去解决什么?一个是速度,一个是容量,是吧?就是两个层次。

好,实际上这块内容可能讲这个我觉得他有点儿就是他就比较啰嗦,内容有点多。可能回头他在这有一个访问时间的问题,这个我们一般用到那个。开始计算用的是第一个公式。咱们的这个例子不是很好,比如说加入一下我们第六章这几个例子,大家一定要。

一定要记住,就第六章 PPT 里面的例子,大家一定要比如说例一,假设某计算机存储系统有开始和组成构成某程序执行,总共访存 1000 次,其中访问开始失效次数为 50 次,问开始的命中率。那么这个叫利用我们前面这里所列的公式,去进行一个命中率是吧 H。等于。这个。大家看一下,这个就看你怎么去说了。RR1 除以 2,R1 除以 R1 加 R2。那么命中率的话应该就是说我的次数就结合到咱们这道题,就是什么我一千次里面有 50 次是没有命中,那么命中次数是 950 次,就 950 除以总的房 1000,意思他们命中率是 95%。这块加上前后有一点。就是有讲这样这个我觉得。

好,实际这块内容像我们老的 PPT,我觉得要比现有 PPT 更为精准。事实上有关开始的计算,比如说命中率,我们这里直接描述的很清楚,那么命中率 H 等于 NC 除以 NC 加 NM。那么 NC 是完成的是描述什么?利用开始或进行访存,而 NM 是利用主存精华缓存,也就是说 NC 加 NM 是总的访存次数,对吧?就是这个计算公式,我们给出了三个,一个是一个是刚才命中率,然后是一个开始储存这一层次的这个效率。用访问看时间去除以平均缓存时间再乘以 100%。

其中平均访问时间实际上我们在这给你是不是。TC 就防就是这个 TC 是我进行一次开始访问,他时间的花费,他的命中率加上什么。TM 是我进行一次主存访问的时间乘以一减去 H 那么这个时间可以称 CU 平均保存时间和保存时间就或者保存时间就不能算是吧?

那么像这个是我们早期对于大家的一个要求,就是说白了是计算态势的。但是当时这个 PPT,我我我这个账,我下去以后,我会把咱们贾老师,就是人民邮电版的第六章的 PPT 和我们这个清清华版蒋老师的这个配套 PPT,我同时发给大家。那么对于态势这部分的学习,我建议你们看清华版的就 OK 了,情况板就够了。相关的计算说白了就是集中在我们这两张 PP 也就是第一这个就这一页和这一页就所有的有关开始计算就这些是吧?没就不需要扩充。那么蒋老师这块是你可以看一下,你们自己看一下,他前面也是讲的讲了一些东西。但是。可能位置我觉得放的可能不是不不是特别好,你们回头回头看一下。

第二节 6.2 节并行存储器,这个我们不做要求。这一节说白了就是解决一个存储器是由多就是存储器主存储器是由多个存储体构建的。最常见的一种存储存储体的设计就是比如说我们早期 8086,它有两个存储器,其中一个存储器存放所有。地址最后一位为偶数的对,就最后一位是地址。我在这村里写的地址是这位为零。另一个存储器的地址,最后一个零一就是所谓的是一个一个奇数位的存储器,这个存的是偶数位的存储器是吧?利用这种多个媒体进行数据访问,这是 8086 是这么干的。

80 38 类或者奔腾机是吧?奔腾机是八个组合体,64 个它是八个成一体,它有一个处理手段,过去轿车若是有的三房,现在这因为这次改版好像改的跟前面说的,把这块好像加上去精简了不少。我们只能说一下。

好吧,既然加上这边伤了以后,事实上老板清华版的教材,因为网上也都有电子版,大家下去自己看一下这个电机存储系统的设计,大家知道怎么可能?好,下面我们简单说一下有关开始系统。开始系统应该来说是现代计算机,无论是 8086 架构,而基于 ARM 架构或者基于 risk five 的 risc 架构。现代计算机在我们这个硬件计算机系统设计过程中,无论哪一类计算机设计都不会少掉开始存储系统。

那为什么?它主要是解决了高速 CPU 如何访问低数据储存的问题。也是不管你是 CPU 是什么架构,但是你访问主存这个套路是一样的。那么我怎么去解决呢?就是利用 cache 利用它来实现。CPU 对于储存空间的一个快速访问。

说白了,我们之所以可以进行开始访问,只要遵循了我们这里所用到程序执行的局部性。原程序执行的基本原理分为时间局部性和空间局部性。时间局部性比如说是我们程序设计的某些算法结构决定的,主要是什么?我在程序设计过程中,我会设计各种循环操作是吧?循环操作中的循环体,他的访问就具备这里所讲的时间周期。因为在一段时间内循环停留不得,每条语句在很短的时间内被大量的重复执行。这是因为我们的这种程序设计的原因,我们把这种最终结果归纳为时间履行期。

空间局部性也是对我们程序设计的另外一种设计方案造成的执行结果作为归纳总结,也就所谓的程序的顺序执行。因为我们程序执行就是三顺序循环分支?对于循环,对于顺序执行,我们都给出了相应的现象的一个总结,分别称为时间局部性和空间局部性。空间局部性也就是说就是对于储存空间的访问,根据程序顺序执行的特点,当某个空间被访问,那么这个空间临近的其他空间,大概率也会被罚。依据于我们程序执行的顺序执行,这是两种。

除此之外,对公安局不信,还有一种解释是什么?我们的数据结构?比如 C 语言的数组,当然不是说是 python?一般说 C0C 加加 java 的里面的就普通数组,它具有也具有空间主体?因为你数组访问的你数组保证数据,那么可能在短期内对于数组我可能要便利访问,那么它也是具有空间辅助性,这个相当说一下,正是由于程序执行过程的局部性的特点,使得我们使用开始成为可能。具体的讲,首先咱们看一下高速缓存,存储器态势是一种小容量的存储器。他说白了就是用生产 CPU 内部寄存器的那种材质工艺生产出来的。

一般大家听一下开始的物理位置在什么地方,在 CPU 芯片内部。这里的 CPU 芯片内部是指的什么?你去中关村买个 CPU,那个铁盒子分装的,我们称是 CPU,而并不是我们我们冯诺依曼结构的 CPU。因为冯诺依曼结构的 CPU 是指的是由运算器和控制器组成的 CPU 而这里的指的 CPU 指的是市场上买到的那个金属方片。是就这个是中欧市场的 CPU 和我们诺依曼 T9 的 CPU,这是两个不同的概念是吧?粉末一般的 CPU 它是按器件构成的,而市场上买的 CPU 是有运算器,有控制器,除此之外还有态势?而且这个市场上卖的这个 CPU 除了这个 CPU 的主频工作速度有差别之外,更大的价格的差异主要体现在我们的开始容量的大小。

大家我就说明白了也就说我们开始物理的被分装在市场上所销售的 CPU 这个铁盒子。由于我说了它的工艺,就是我们 CP 内部通用寄存器的生产工艺,因此态势的访问速度可以匹配 CPU,这是最核心。为什么要分到一起?因为它生产工艺是一样的,因此它的速度和 CPU 访问它内部寄存器的都是一致的。

开始是存放当前最急需需要处理程序的程序和数据。说白了是我们储存空间中最为活跃的数据的副本,也是 copy。也就开始里面的信息一定你会在主存中某一个空间里面找到。但是你说态势容量才多大,我的储存容量才多大,也就说那么也就是说主动中间的东西很多,我要优中选优,找到那些当前 CPU 可能基于程序局部性原理的规则,需要未来一会儿可能就要去交访问的数据是吧?

但是大家一定要明确,开始存放的数据是储存空间某些数据的副本。这什么意思?大家一定要弄清楚是吧?储存的数据就开始中的数据,你一定会在补充中找到。这点请大家注意一下。

下面咱们看一下,我们开始这张图。大家看一下,它描述了 CPU 要发出访存申请之后。CPU 发出了我们组成的这个请求。按照刚才我们第一阶段讲的话,CPU 是通过 MARM。比如说我读,通过 MDR 发给主存 OK 这条线,最上面这条蓝线告诉你,这跟过去完全一样,这是主存这是 CPU 这是主存是吧?CPU 通过 MAR 是不是把地址发给组成了?

但如果这个计算机系统如果有开始的话,那么大家发现 CPU 还是通过 MDR 发出地址信号。只不过发出的地址信号的接收端,我们有个分叉,一端还是储存,另一端变成了开始。而且发给什么主存与开始的理论社机构。因为我们发出的是主存?这个地址并不适合于开始你要做的某种变化?你变化以后大家发现,如果变化以后我发现这个信息在我的快递里面有。这意味着我可以先出直接从开始中获取我所需要的数据,直接送给 CPU。又由于刚我说了开始的读写速度要快于储存,就意味着当开始完成了我这个读写操作,是不是咱咱们说现在咱们说读吧,咱们先不说写,读操作,我完全不操作,那么 CPU 会放弃对于主题的操作,因为我数据得到了,CPU 不会领会 MFC 这个动作是吧?

因为这里的 case 的读写速度就跟 CPU 访问它内部的通用寄存器的速度是一样的,远快于 CPU 范围开是吧?这就是运作。比如说说什么叫运作?

就是说 CPU 需要的数据在开始里面有,我们称为运作。还有一种可能性,开始是独立的不命中。不运动的话。也说开始没有,是不是刚才我这个地址是不是一端给到开始另一端的那就老老实实的从主城里面读数据是吧?这个速度跟原来是完全一样的。但是在这如果不腻步,我们我们实际上我们的想法要提高计算机访问某一段数据的一整体速度。

那么不命中的话,那么我就要启动一种开始数据与主观数据的一个交换机制?进行开始中的数据切换。就在完成主存数据读写读操作的同时,我还要改成什么?开始与组成数据的一个切换。始终在开始中存放的是储存空间最活跃数据的副本是吧?这个过程我说的很清楚了,当然我说的是读。现在咱们就问一下铁,我为什么要把读和写分开呢?是吧?

写操作,大家看一下。因为我刚才说了,开始中的数据是主存中的数据最活跃的数据的副本。那你写操作就意味着你要改变修改储存空间的数据是吧?如果我只修改态势不修改储存,是不是出现开始的数据不是组成的库,那么一般情况下这种对偷懒的办法是什么?写值打法就所谓的直接写主存。因为我直接写主存尽管速度慢,但是我保证开始的数据和组成数据是一致的,那么刚刚我们去在写入操作,刚刚说过了,最笨的办法我要满足。

最经典的开始是储存空间,对活跃数据的复盘要满足这一点再写入操作。意味着我同时将数据写入开始写入主存。这样的话就写了这个与态度无关。一个因为我的因为写 CPU 写入数据,写入的开始的速度要远慢于写入开始速度远快于写入是吧?但是我们这个操作是以写入主题的时间花费为准,那个写入开始就忽略了。当然说你要这种方案,这种方案这个是太不命中,实际上这个就算命中了。一般情况下我们这称为写字方法是吧?命中不命中,你要满足这一条,我一定要去这么做。

还有一种方案,因为大家发现如果写入操作,我要保持这两个数据是一致的话,就意味着我有开和没开始性能是一样的。那我优化环境我干什么?一种方案就现在计算机为了进一步提高速度,他把数据写入到开始,写入到开始就存在一个光写入开始不写储存就存在数据块的不一致的问题。

那么怎么解决呢?实际上也有解决方案。第一,我会把储存对应的看你原来那个副本那个位置要做标记,这第一件事。第二件事开始在进行换出的时候,我在进行数据的同步。因为你标记数据就在补充中间,你标记的位置就那几个是吧?我标记的默认以这个为准,他就这个一个写内存,写开始和写写过程两种。这个我们后面好像刚说有讲,但是讲完了这个 PPT,反正我觉得好,下面咱们看一下我们真实的这个开始的一个就开始你主存的交换?刚才我们只是宏观的说,你不运动了,我们把主存中的某些模块装入了开始,但是怎么去装?下一步要解决问题。

这个映射或者这个就是说白了先满足我们交换,交换明白了以后,后面的定位切换这些都都好办。大家可以看一下,我们先用这张图跟大家去描述。事实上这种开始空间的管理,其实在没有开始出现之前,我们就有相应的技术解决方案。

这要回到我们操作系统的种族空间的管理。种操作系统的左侧中间的管理分为段式夜视和段页式三种形式。到了区城市虚拟钻石虚拟夜市虚拟段页式。

那么段所谓的主动空间的按照段就按照我程序所需要的空间,你需要多少,我给你划分多少是吧?这是断齿,就是根据储存空间,根据程序需要你多大的劲。就比如这个程序装载,比如说是一个 3d max,我装载需要两个 G 的空间。这个是一个 RNR 解压缩软件,可能需要一兆中间?我按照需要这个程序装载需要我更是需要进行一个划分,这叫断食是吧?但是断这个好,咱们休息五分钟之后再再讲。

好,第二章内容讲,刚才我们说过了,我们现在计算机常见的有断式断页式页式和断页式。段刚才我们说了,根据他最大一个组织管理的特点是什么?根据实际装载的用户成本大小,我进行有效的空间的分配?但是我们说了按需分配是段式管理的优点,但它也有缺陷,缺陷体现在哪?当我们进行长时间的计算机运行,那么主持空间被多次分配释放,最后有可能会出现这个主动空间出现不连续的空闲块。不连续空闲块之后你再装在新的程序,有些程序流程比较大,它需要连续占用这个完整的一段空间,那么这段的缺陷就暴露出来了是吧?也说你没有尽管总的空闲空间满足特定程序的需要,但是这空闲空间不连续,你装在任何一个新程序你都没法装装起来。

那么怎么办呢?我们就给出了第二个主题,空间的管理。就想做夜市,就是我们在主空间,首先我把它划分成等大小的若干的矿是吧?煤矿那么都是等大小。我对于这个那么没刚才我说等大小这块,我们计算机储存管理过程中,我们称为这叫一页是吧。我们在分配的时候,你这个程序你需要多大空间,我按每一页容量去除。比如需要 50 页,我们就分布分配 50 个等大小的毒液液?占款便于程序使用,释放再使用,便于后期的灵活的管理。

事实上正是由于我们组中间有夜市管理,我们把这种机制直接拿过来用于我们开始的管理。大家可以看一下,首先对于态度管理,对于主动管理,我们的基准都是基于夜市管理。比如说我这里说我开始有四块储存,有 32 块,这么一块都是 4K,这一行为代表的 K 给他一个地址。大家看一下,这是基于我们夜市管理的特点。

对于这种业主管理,按照我们之前的这个说法,我们分为业内址地址和页面。到开始同样一件事,我们称为块内地址和块号是吧,页页面地址和页面地址,块块号和块内地址其实就是一个写一个套路。一句话储存和 K 之间的这个映射,它的基本出发点就是我们主村中间最低点的夜市管理业务管理。由于都是等大小,储存加载到开始开始加载载到储存,由于大小不相等,便于他们信息交换是吧。那么基于这种特点,我们将页面管理,就是主存的页面管理这种逻辑直接拿过来,就形成了这里所谓的块号和块内地址,实际上是块号变成液号,块内地址变成业内。就跟我们第三章进行存储地址中就是有效的计算的时候的业内地址的计算就完全相同的对吧?

大家可以看一下,大家发现我们的态势地质结构和组织地质结构这完全一致。我这里指的是完全一致,指的是什么?业内地址都是一样大小。因为我分析分块的人映射的表是一样的,唯一不一样的快号就是开始中的快号,这个块号是组成的符号,所谓的地址变换变换的就是块号的变换,这快递地址不做变化,那么我们的这个工作量就降低了是吧?大家看一下我们的具体结构,大家一眼可以看出来好吧,这是一个最核心的。

下面咱们要讨论一下开始和储存的我们进行开始信息交换的方式方法。一般来说主存与开始进行。这个等大小的块进行一个替换的时候,我们有三种处理方案。这三种就是当我们刚才说了当我们某个 CPU 发出的访问信息开始没有命中是吧?没有命中。我需要从主存中装载特定的矿到开水面。那么这装载原则是什么?

我们这里给出了三种解决方案,那么这三种解决方案是不是又是一个三板斧原则?如果是三板斧原则,大家也能够猜到这三种方案哪种好,哪种不好,是吧?OK 咱们分别看一下咱们书上这三反腐原则是不是在这我们依然能用得上。

好,第一种方案我们称为全相连映射的变化。这种方案意思是说它映射规则是主存中的这一块可以加载到 K 中的那一块很随意。因为我们开始和储存就是等大小的框或者等大小的。那么我开始我主存中的这一页,我加载到开始中的这一页没有问题是吧?没有问题。这种方法我们称为全相联映象是吧?全相连的。

这种方式核心的我要实现地质变化。大家都想我们在开始中任何情况下都需要一个变化,为什么?是因为我们 CPU 通过 MAR 发出的是一个主存地址信息,通过地址变换机构,我需要把主存的地址信息变换成开始的地址信。这个大概一样明确,我 CPU 始终发生主存地址信息。

大家可以看一下,他主要通过这里说存放在及这个相联存储器的目录表就在这。这个目录表里面实际上有 N 多行,每一行就是两列。一个是快号储存的,就那个块号,这是组成的块号,那一列是这一列你应是你是映射到太空的任意一个位置上?因为这个任意位置是不规则的,你是随意的。因此通过我这个目录表描述这二者之间的一个对应关系。因为我们说这种全相连的你很随意,因此我们说这个地质变化主要根据,因为你没有规则可言?我只能说你映射完了以后,再通过目录表,我记录主存中的这一块到底放到 K 中的哪一块,就是它的这个块号之间的一个对应关系,这是全相连的。

这个最大一个特点就是说损益储存的这一块可以加载到开始中的任意位置。那么这种方案大家说一下它的优缺点。优缺点是优点很方便是吧?哪家有空闲我就安装,这是一个。最大的一个缺点是什么?你多次变换以后,就意味着你的目录表的大小会动态的变得是超级大。而且目录表到底是多大没有人知道是吧?由于它需要一个相联存储器,它的代价比较高。那么相连就通过这个目录表去进行一个地址转换,它花费一定时间,因此它会影响我们访问开始的速度,是吧?

这是第一种方案。因为你在地地址映射过程中需要一个访问目录表的一个动作是吧?因此他花了一定时间。当然你这个时间是相比较我后面发表。这是第一种方案。

第二个方案叫直接印项目的一种方案,这种规则是什么?主存中的煤矿只能装到看每一个。大家说这个是怎么去做到的呢?事实上在这我已经把弓给大家,大家一看这里的 MOD 是什么操作?是不是求余操作?用主存的块号 MOD catch 的指标快速是吧,我取一个图示。大家可以看一下,比如这里我们给了几个,比如说一。

04 我这里有若干个框是吧?比如说这个储存中的 1234,不是说错了,零就这里的这个储存编号,这个主就主题的单号 01234567,这八主存中出现这八个账号,我 IOD4,那么大家发现组成中的电源块第四块映射到开始中的电流块,主存中的第一块编号为一编号为 5 的 MOD4,映射到看中的第一块就映射了第二个就映射第三块。那么这种方案大家发现我们是利用求余运算,就求模运算是吧?用它来实现。

这个主存快到开始的映射。这种方式由于是利用一个计算公式来算的,显然他提高了我的概数。因为他在地址变更过程中,不存在我利用目录表进行一个比较或者查查找那个过程是吧?实际上对查找是按目标查找,目标不要查找,查找也是花比较多的时间?

这种方式大家看一下,我们说了我们开始就主旋律每一块都有明确的态势的映射位置?这个我们用动画给大家展示一下。这种方式说白了它的映射是最为简单的。

大家琢磨一下它的缺陷是什么?由于这种方案是主存中的块只能固定到态势中的特定位置上,是吧?这是机械性的映射,会引起快冲突概率广告。

什么叫快冲突?也就是说当前我开始已经用满了。如果比如说我刚才用到的是。因为刚才我们说了,我们刚看到这个态势是有四块是吧?比如说当前我开始中这四个都占满了当我访问到,比如说当此时第零块我。对应的是第四块的数据是吧?

第四块的数据当我发出一个请求操作,我发现开始上没有,而这个数据恰恰。对应的是我的五分钟的电源块是吧?按照这个规则我要映射到看这个模块定一块。但是我刚才我说了,我上一个操作数据是对于我的这里的第四块,你现在。下列操作就第一个操作就说完了,就是说我 CQ 要访问主存中的第四块,这是第一步是吧?

第二步,C 被告访问主存中的电容况。比如我完成一个跳转,按理说我直接把看中的第一块替换了就可以。但是因为我刚才刚使用过开始就这里面这一块这东西?按照程序执行的局部性原理,有可能我在过这过一会儿可能还要访问原有的这第四块的信息,对吧?但是你们换出去了,就是我再去访问第四块的对组成的第四块信息,是不是你还要把这个开始中的内容块的东西替换?这就对应着根据这个程序执行的执行原理,这可能不是符合我们期望,会产生跨访问的冲突?因为根据程序执行执行性原理,不应该把这一块去替换。但是因为你直接这种映射这种方式很机械,我才不管你这你当前是否,我按机械的进行替换就行了。

因此我们说第二种方案直接映像这种形式最主要的一个缺陷就是跨冲突的概率是比较高的。因为它是做一个机械的映射。第一种很自由,但是有一个目录表挺麻烦,会浪费时间。第二种解决了目录表的访问时间花费,但是造成我访问冲突对吧?那么怎么办?我们就提出了主相连的映射的一种方案。

这种方案。是我们第一种方案和第二种方案的一种结合优化。具体讲大家看一下,他们将主从的开始按相同大小分成块,这种块相当于我们前面的夜市管理。但是这个夜市管理的力度有点小是吧?原来是一页对应一页而组相连的。

刚才我说了主存和开始按照相同大小分成块,这就是所谓的叶是吧?这个叶的力度有点小我把若干页,比如说四月或者八月构成一个小组,比如说这一块相当于每个同学都是北京农大学睿信书院的哪个班的同学,大家都平等。但是我们做某一些实验的时候,一个人的力量比较麻烦,我可以截成两人一组的实验小组或者四人一组的实验小组。这所谓的就是把若干个,比如说两页或者 4 页构成一小组。

构成一小组之后。我在信息交换的时候。还有这样的。这个跟刚才的那个关系,就跟我们无论全相连还是直接这种直接映射的这两种就是不太一样。大家先看一下,它是这样的。

这个一句话总结起来就是说在储存中的任何一块?因为他已经组成小组,我在映射的时候。我只能映射到开始中的特定组。原来我是一页,就是第一第二种方式是按照叶对叶一块对应一块,而主销量这种映射关系我升级一下,原来人对人的映射,现在是小组对小组的映射。也就是说开始储存中的这一块只能放置到开始中的唯一意义。

这个就前提说首先主存中的这一块属于特定的某一个组,特定这个组与态势中的特定组之间是有求模运算的这个规律。比如说这个组的无论几块,你要映射到看里面一定要特征这个宏观的位置关系我们是给定,那就是直接给定。但是组里面你又有多棒,但是一个组里面你到底装的这一小组的哪一块,你可以用什么全相连的方式进行一个任意的映射。说白了组件采用直接映射,组内采用全相连的式是吧?也就说大的块里面是唯一指定的,但是大的块里面的局部是随意指定。用这种方案大家可以看一下。比如说这里的组是吧?

大家可以看一下,这里就是说跟原来相比要比原来复杂了?对于此时我们开始理念,既有就是首先大家看一下这我们用颜色,不要就某一个长方形的矩形块容量都是一样的,但是映射时候也是这等大小的映射,但是它们映射关系发生了一种变化。比如说组成我们前面这几块是一组,那前面这两块是一组,然后它有一个映射关系,看你们怎么去去设计。

比如说我们开始组号是用主存的,块号是 MOD 组的数量?比如说这里是四组,那么就 MOD4 就是所有的块号?M14 你分别有一个,就比如说这里面的这个块号不是写的 3,可以看是 012。大家看一下这主存中的块号,它是从零加到 15 16 个编号,是那么这里 MOD 组的数量。

大家看一下,我分成了四组?组一组、二组、三组四。那么我的快号去 MOD4,对于每一块我都能给出与之对应的组号。第一组、第二第零组,第一组、第二组、第三组,这也是?

这里就通过这个计算公式,我建立了开始中每一块映射到主存的大致的一个位置区间。比如这里这比如这里开始中的第一第零组,它相当于是两块?因此当你这个开始的这一块就第零块映射出你映射到开始中的第零组的这两个的任意一个就可以了?这是避免了我的基于纯这个程序局部性的我的快充?这个他他是他的映射关系,就说白了通过计算我们预测,那么就说是就是组与组之间映射是固定的,但是组内你到底映射哪一块是随机的,这个是我们最为常见的一种方案。这个计算也比较简单,过去我们银行是我我是会给大家出一道题的。好,这个大家看一下,好像也都没什么问题。好,这个就是有关开始的计算的问题。

那么。这样我们第六章我们就讲这些,基本上我们有关计算机的存储系统的内容我们就算讲完了。过去这是一张,现在咱们讲了变成两张了。给大家的一个学习建议。首先第五章内容,主要讲一个存储器的设计问题,这个加上 PPT 是没有问题的。第六章开始的计算主要讲一个 case 它的计算第一我已经说过了,第六章的课后作业不做,这是第一点。

第二点,我们期末考试对于第六章是有考核的那考核内容刚才咱们的 PPT 里面什么已经是什么?从例一到例 7。讲了七个的小题,这七个例子题希望大家要掌握。就说第说白了第七不是七个例子,这后面还有一个字,那么建议第六章的学习一句话,把第六章所有的例题搞会搞明白就 OK 了。好吧。郭毅说的很很直白吧,你把第六章的例题搞会,因为第六章我觉得蒋老师他那个顺序是不够清晰。

这个第六章的例题基本上是过去老的清华出版社出版那套,教那版教材的例题,以及课后作业有关态势的计算的习题中。我们例 6-16-2 那些都是早期展览室,教材里面是没有的,但是考研时候加的那这个咱们就不多啰嗦了。这是我们的学习要求,可能大家发现第六章的 PPT 太多是吧?那么怎么办?我会把老板就是贾老师清华出版社这一版的教材的第五章的 PPT,我同时上传到咱们的艾贝里的钉钉群里面,大家参考去看。

尤其是第六章里,我觉得讲的太多了,太啰嗦了,直接看老板的 PPT5 则就够了。这就是有关第六章的学习,咱们就这么说一下。呃。

下面咱们看一下第七章,第七章是 CPU 和中央处理器这一章。CPU 按照冯诺依曼体结构,我们知道 CPU 是包含两部分,主要是包括运算器和控制器。第六在第四章我们已经学过了运算器工作原理以及它的设计。那么第七章的中央处理器讲什么?我想在座的各位都很清楚了,是讲。CPU 的另一大构成部分控制器的内容也是第七章。事实上你写的控制器的学习也没有问题。

在第七章里面,我们这是蒋老师新版教材。在过去大家可以看一下,我们第七章学到微人与控制原理就 OK 了。流水线技术应该是我们 408 考试要求,贾老师也加进去了。在历年的教学过程中,这个流水线这块我们也是要求大家掌握基本原理。没有相应的习题,但是现但是讲了好像我记得是有利有习题,回头拿起来看一下。

首先咱们讲些简单的,就讲一讲 CPU 的概述。第一节是 CPU 的概述,主要讲一些基本概念。第一个概念就是 CPU 的功能。这里的所谓的 CPU 的功能说白了对应的是什么?主要讲的是控制器。控制器和运算器的功能说白了就两块。CPU 宏观的讲,它的功能是包含两部分的。

剑鸣之意控制器和运算器就知道我们 CPU 完成控制和运算的具体的控制。包括指令控制?就是通过指令的执行实现程序执行的顺序执行、循环执行和分支跳转操作,这是程序的执行。

第二个是操作控制,通过分析指令产生完成指令所需要的功能信号。这控制操作控制说白了是我们第七章最为精华的内容。怎么讲?它实现了电子设备的能够自动高速运行的一个核心。也就是说操作控制实现了对于二进制 0101 这种二进代码转变成电子设备的具体的动作,由逻辑到物理的一个转化,就是操作控制,这点相当一定要明确。这也是我们对于指令解析最为关键的。

当然我们说操作控制的这种解析,我们在教材上只讲其中一种所谓的微程序控制器这种解决方案。而还有基于门电路的转换,应该是你们上学期学数电路所要解决的问题。但是我想你们输出电路以后可能没有讲这么些是吧?

我们说操作控制是本章第七章最为核心的。他是解决 0101 抽象的信息符号到我的物理设备的具体的动作,就这个转换,这是最为关键的。除此之外。我们还有什么时序控制、数据加工、中断处理等等。

那么持续信号说白了什么叫持续控制?说白了是由 CPU 发出高频震荡波之后,我们把这高频震荡波变成矩形波,根据矩形波的上升沿下降沿来同步我各部件的动作,这是实时控制是吧?那么数据加工很好说,就是算命的算,逻辑的算。那么 CPU 的组成,这个应该是复习的东西了是吧?因为我们第一章就学过了 CPU 控制器和运算器构成。第四章我已经学过了运算器的工作原理以及它的物理设计。那么第七章只能学控制器的内容,这个答案正确。

控制器的功能大家可以看一下,这是咱们本章最为关键的控制器的功能。描述了三点。第一,从储存中取出指令,并且指出下一条指令所在的位置。就是通过这个操作对应的是我们取指令操作取指令,并且修改指令计数器 PC 的值的取值。第二个动作是什么?指令的分析,通过对于指令的什么 OP 操作了是吧?实际上我们第三章对于指令的操作数,我们有操作数地址 EA 的有效地址 EA 的计算,那个已经解读了,就指定最简单的操作数的获取我已经完成了。

那么在第七章我们重点是对于指令的 OP 操作码部分的解析,通过它来实现具体的工作。比如将比如加法操作、减法操作、除法操作。这个说起来很简单,但是我要问 java 操作,你要完成一个加法操作,你需要给 CPU 各国家发出什么样的信号?在这就要明确的指出了是吧?

Java 操作实施一条机器指令,我们在控制器里面需要对机器指令转变成对于计算机 CPU 内部各个部件的具体的一些指令动作。这个诊所是非常具体了,比如说我给运算器的 CN 输入端加一个质疑的信号?咱默认一般是我加入计算器,静谧信号 CN 应该是默认为零,我默认为一行不行,我给他加一个质疑的信号行不行?那 OK 就是说我要对这样很具体的操作,他跟我说了,我对 CN 的这个定位信号的输入我质疑还有我某个寄存器,比如说 PC 这寄存器的这寄存器的输出门打开 PCR 是吧?这个寄存器的输出门打开 PCR 的最新,我要在这通过这个指令的解析,我要描述这些具体的东西是吧?具体分析。有了这几个动作以后,通过这些具体动作执行会指挥和透明 CPU 储存 I 效率之间的数据流动。这个数据流动是我们第二步的一个执行的结果,每一条苹果都这样,是不是就形成了数据的 ok。

我们说第七章重点是放在这部分内容。在这我们描述一个抽象 CPU 模型。在 CPU 模型里面我们包含了几样东西,大家一起来看一下。一个是 AFO 算逻辑单元,就是说白了计算器。那么这个 CEOO 这一部分事实上是就 AIU 这个数据。这个总线右侧的这一部分,我们可以看成我们的控制器的构成。控制器的构成最核心的是 CU 控制单元他发出的被动信号。除此之外比如说 IR 指令寄存器这个 MDRMAR 存储器数据寄存器,存储器地址寄存器。

除此之外 PC 程序计数器是吧?这个 RD 指令译码器。AC 累加器是。这是 CPU 内部两个主要件,ALUCU 这两个部件。剩下刚才我说的这些都是寄存器,而且是除了 AC 之外,除了 AC 之外,其他的都称为我们的专用计时器。

RRMDR 这个 PSWR 程序状态进行器。PCML 其乘以状态计算器。事实上就是我刚才给大家提个问题,with MFC 它的返回的信号谁接收或写入到哪?大家注意一下,with MFC 的这个返回信号是要放入到这里的。程序状态也是工具器随时定时的循环去看程序状态寄存器里面的值的变化,来判定我的任务是否完成,或者我的运算。当前进入到这个图是最为关键的。好吧,今天咱们课上到这,好,下课。

对,然后这个是啊昨天晚上八点。

照照的话。

有关于 918 个。那大概八千。属下是吧。

我每个芯片给你取 4 分之 1,这个 8K8K 机是四个两个芯片,因此它每个芯片。

他只是说个大概,你要真正具体讲是每一个名单就是有 20。是意思,知道啥意思。对对对,是说。算是在是很准确,应该是很。

是的,金属。不对,这个就是我们做的时候,比如说映射的钱,他确实是拿了一部分当做开始的攻击会这是一个多少?就是类似于业主管理,业主管理他的那个页号是不一样的,它不是就是说他确实是拿到一个当标记的,但是他和同一张纸是不是一不是一个概念。一般同一边的黄,一般的空间是储存和外设做的空间,这主食和菜是没有,你说这概念从来就没有。这个机会,但是他不是很对。就所谓统一编制定指的是主存和外设,储存和外设要么是同一片区,要么是独立,就它应用的范围不一样,你看我们。