- 博客(144)
- 收藏
- 关注
原创 408第三季part2 - 计算机网络 - 应用层
无状态就是说,你第一次打开这个网站和你下一次打开这个网站不会发生变化。然后注意这里主机到本地都是递归查询,其他的服务器就分别是递归和迭代。这个记一下就行,用户代理到发送端服务器再到接收端服务器都是SMTP。双方建立连接2个0.5RTT,请求和接收2个0.5RTT。本地先查根,然后返回,再查顶级,然后返回,再查权限。流水线就不需要第一个请求得到响应,所以可以连续的发。客户机不能直接通信,要通过服务器才行。非持续连接就是每次传输都要握手手。keep-alive是持续连接。注意都是服务器的端口号!
2025-07-06 22:24:09
313
原创 408第三季part2 - 计算机网络 - 传输层II
但这并不是一下子跳过去的,而是一个一个加的,比如1到2确认了1次ACK,2到4确认了2次ACK,4到8确认了4次ACK。只要拥塞了阈值就会降为原来的一半,然后拥塞窗口降为1,再次开始慢开始和拥塞避免的组合技。每经过一次传输轮次RTT,cwnd指数增长,也就是1,2,4,8这样。然后服务器发送了3个冗余ACK,一直没找到自己想要的ACK。就是1KB - 2KB - 4KB - 8KB - 9KB。16KB发生了超时,说明使用慢开始,然后阈值变成8KB。这里会接收数据了,所以经过4个RTT,选最小的是1KB。
2025-07-06 21:38:48
312
原创 408第三季part2 - 计算机网络 - 传输层
这里如果ack_seq = 701,然后下一个的seq优先是以之前的序号往后走701为主,发现他们都是701,说明甲发送的乙已经收到了。seq是x+1有2种理解,一个是上一个是x,那下一次发送就是x+1,另一个理解就是上一个确认号想要的就是x+1,那序号就是x+1。A发送了100B給B,B的接受窗口是1000B,占了100B,还剩900B会告诉A,它还剩900B可以接受。seq是序号,ack是确认号,确认号就是下一个字段的序号,就是x+1。如果是一般人会以为下一次的序号会是上一次的确认号,即501。
2025-07-06 20:27:43
328
原创 408第三季part2 - 计算机网络 - ip地址II
switch会从表里进行一个端口的转发,所以隔离了冲突域,但如果你收到了广播地址,又会从每一个端口转发,所以没有分隔广播域。原IP地址因为在我们自己家中,所以可以写自己的,目的ip地址就不能写web服务器的地址了,要写对应的路由器的地址。终于到目的地R2了,这里源地址依旧是不能被外界看见的,但目的地址到了路由器的里面就可以用私有内部的IP地址了。到R1这里之后,因为R1是普通的路由器,不是NAT路由器,所以IP地址不变。但A只知道C的IP地址,但IP地址是网络上的逻辑的地址,所以还得广播。
2025-07-06 16:50:24
778
原创 408第三季part2 - 计算机网络 - ip地址
子网号可以继续划分,这里我们划分1位的子网号,然后每个子网可以有2的7次方-2个主机。这个真题好久没用了,但要注意一下,这个前缀问题,就像哈夫曼树一样,得有识别度。这里子网是30,目的地址主机位是11,是广播地址,所以所有主机都能收到。上一次那个课后题说的如何确定目录号与页号,答案给的就是进行and操作。如果是192.168.4.1就选1个,就自己能收到。主机号全1就说明源地址发的信息ABCD都能收到。所以子网个数是32,每个子网主机是6个。然而就2主机 2的2次方-2。子网号是可以全0和全1的。
2025-07-06 06:18:01
183
原创 408第三季part2 - 计算机网络 - ip分布首部格式与分片
开拆,注意8B的整数倍,这里780是不行的,余了4B,所以数据位是776B,后面还有分片所以MF是1。然后看一下首部里的MF是表示后面还有没有分片了,1表示后面还有分片,DF表示能否被分片,0表示可以。这里乘以4是因为首部长度的基本单位是4B,总长度的基本单位是1B,片偏移是8B。我们先看一下这个IP的数据报的标识是干什么用的,原来是防止拆分后不认人。每行是4B,首部也不一定是20B,还有可选字段,可以变的更大。然后片偏移我们知道他的基本单位是8B,然后看每个分片的首地址。这里有个4000B的IP数据报。
2025-07-06 04:49:22
176
原创 408第三季part2 - 计算机网络 - 交换机
然后因为交换表找不到B,所以A会把BCD全部肘一遍(广播),最终只有B会回应,然后交换表纪录一下B,B再回应A(单播)这里H2要到H4,表有没有不知道,但肯定要经过hub,hub无脑转发给h4,h3。a1给c1发数据,表里找不到c1,所以都肘一遍,就是2和3,并把a1记录在表里。然后c1确认帧,表里有,直接接口1,并把c1记录在表里。最后h4开始确认,h4到集线器后会无脑给向h3和交换机。交换机有表,但集线器就很无脑了,只要有数据就全部转发。那你完了,因为这种叫存储转发。这里交换机表里记录过h2了。
2025-07-06 04:05:16
285
原创 408第三季part2 - 计算机网络 - 局域网
之前我们学过上一层的会变成下一层的数据,所以温暖的IP数据报变成了冰冷的数据。也就是下面的地址1是接收地址 = AP地址。注意有3个地址,地址4没有意义。所以IP数据报是网络层的。地址2是发送地址=源地址。地址3是目的地址也就是B。如果是AP发送的线则是。AP到B就是来自AP。
2025-07-06 03:38:30
192
原创 408第三季part2 - 计算机网络 - CSMA-CD
这时候A知道有冲突则需要2个传播数据,B知道有冲突是马上就知道的,就是那一点点距离的时间,虽然在发送中,所以这就是边听边发的特性。然后这里A因为发现了有冲突,则后面的数据都不会在发了,前面的数据也就作废,这就是冲突停发,随机重发就是随便找个时间重发。先听再发,AB这里都认为信道是空闲的,然而并不是,等AB发送到另一端的时候才知道冲突了。然后再说一个极端的例子,这里A差一点就到B了,然后正巧B以为信道没人,开始发数据。所以冲突不是立马能检测到的,所以A和B要花费一个传播时间才能检测。然后我们会拿一个临界的。
2025-07-06 02:29:13
252
原创 408第三季part2 - 计算机网络 - 信道利用率
可以发现t的传输时间越小,k的窗口越大就越牛逼,效率就越高。这里数据帧和确认帧长度是一样的t1= t2。V速率不变,L越小则t的传输时间越小。所有条件都知道,所以k算出来后。最高就是100%,思路很简单。然后把t1的传输数据算出来。t1算好后,求数据帧的长度。任何题目会有以下几种情况。t1是发送帧的传输时间。t2是确认帧的传输时间。这整个过程就是发送周期。确认帧忽略t2 = 0。下面是速率,上面是长度。但那个范围应该选哪个呢。
2025-07-06 01:20:14
241
原创 408第三季part2 - 计算机网络 - 滑动窗口
然后接收大于发送没有任何意义,你发5个接7个没有任何意义,只有发送和接收是一样的是最快的 ,最快的就是都是2的n-1次方。这个累计确认的意思就是发送了1 2 3,只有3确认了,说明前面的1,2也没问题。这里发送是4个窗口,每个窗口对应一个编号,当接受完移动的时候这些编号会重复用。A控制B,B控制C,C控制D,但D无法控制A,这就是相邻节点。01确认了,2出错了,后面全部重发。最后4不接收后面是不能接收的,额。超时重发就是,超时了就重新发一遍。存下来就行,等2好了,就直接好了。abc在发送的过程中发送完了。
2025-07-06 00:09:47
149
原创 408第三季part2 - 计算机网络 - 物理层
第五个是1是前半部分是前一个二进制的后半部分,0是前半部分是前一个二进制的后半部分的相反。注意:曼彻斯特也可以用相反的编码,比如前高后低是0前低后高是1,答案最终也只有一个。这里有8个波形,每个波形代表一个马原,一个马原代表多个比特,这里3个比特。10BaseT速率是10Mb/s 是以太网,所以用曼切斯特编码。第二个是高位是从高到零(归零),地位是从低到零。这块记两公式就行,一个下面一个上面。第四个是1是前高后低,0是前低后高。这里要的是传输率,公式写上。第一个是高位是1,低位0。第三个是1不变,0跳变。
2025-07-05 23:29:23
288
原创 408第三季part2 - 计算机网络 - 计算机网络分层结构
这里断点下载的意思就是,你下载东西的时候网络断了,再连回来的时候会接着下。PCI会放一些控制信息,源地址目的地址都在里面。其他层会加个头部,链路层是既会加头部也会加尾部。链路层这里是头和尾加起来是20B,所以别乘2。每一层的SDU都是上一层的PDU。网络层有时候也叫IP数据报。物理层是把数据放过去。
2025-07-05 22:49:44
177
原创 408第三季part2 - 计算机网络 - 计算机网络基本概念
然后传输时间是t,所以三个分组总的就是3t+2t,n个分组就是nt+2t。然后这个很容易看懂,一个一个传输,到各种的位置,一个设备只能占一个。然后这里传输时间是分组大小/传输速率 再乘以10的3次方变成ms。存储转发的意思是A先发给B,B再发给C,就这样。这里不考虑传播时间,所以从一端到另一端直接闪现。以后发数据只会往近的发,不可能往下面的远的发。这传一下就是800ms,所以乘以2为1600。这里缺点比如A很大,你给B缓存开销大。然后这里公式就可以秒杀了。上面是分组,来看一下报文。然后区分一下这2个区别。
2025-07-04 23:30:01
194
原创 408第三季part1 - 操作系统 - 输入输出管理
然后上面那个公式理解就是, 先看柱面号,找到柱子之后找盘面号,找到后就是扇区号。就是不需要到最左或者最右边才调头,书上那个没改进的scan算法就有这个臭毛病。1 这里b/N就是代表转多少圈,再乘以一圈的时间1/r。2 这里就是告诉你一个磁道多少扇区,然后传输时间直接算。3 最简单,就是告诉你数据量和速度,直接算。可以看见,图被分成了很多的扇区。最下面的大公式是总平均存取时间。然后逻辑格式化我们好好看一下。再怎么找平均也就是半圈的时间。然后这个蓝色的地方就是柱面。然后是磁盘的存取时间。注意200也算进去了。
2025-07-04 18:22:05
303
原创 408第三季part1 - 操作系统 - 磁盘空闲块管理
这里只有6,7,8,9有东西,每个东西都可以存4个数据也就是4bit。所以看向原题,一个盘块会有8192(1024*8)个数据。然后这些位要放到簇里面,一个簇已经知道是4kb。所以在第32 + 50个盘块第下标12个的数据。所以 0-7是0 8-15是1,所以在1这里。用肉眼看可以知道是删第9个的第3个数据。只有位示图是取决于整个磁盘块有多少。直接 6 + 3 的下标为2的位置。然后块内就是每个块里装的8个数据。那要删第14个数据怎么办。有数据是1没数据是0。还有文件分配表的-2。可以知道这是簇的个数。
2025-07-04 17:42:21
153
原创 408第三季part1 - 操作系统 - 文件物理结构
一个磁盘块能存下惊人的1024B,所以1234是直接索引,然后307400是在第300个磁盘块的200位这里,是二级索引。这里只要看着表取就行了,不用顺序存储,所以可以直接访问。索引块是256B,每个地址项有4B,所以有64个磁盘块。这个取决于有多少个磁盘块,因为每个磁盘块都可能选到。比如2级索引会访问3次磁盘块,数据块也算的。文件分配表有多少行也取决于有多少个磁盘块。缺点是簇可能会导致分不完,导致内部碎片。簇就是好几个盘,比如这里就分了4个簇。一个二级索引对应了16个数据块。索引表也放在磁盘块里。
2025-07-03 02:25:13
234
原创 408第三季part1 - 操作系统 - 文件基本概念
然后FCB就会变的很简洁,索引编号对应的索引节点记录着各种文件名,文件信息什么什么的。I 就像你每个文件的浏览的位置不一样,所以指针不能保持相同。然后索引节点还有其他东西种文件名,文件信息什么什么的。C 每一个进程都有自己的读写指针,来看读到哪里了。一个10一个20,确实是各自的用户打开文件表。A 快捷方式删了源文件还在,只不过你无法点开。D这个没学到,等会学,索引节点也有计数器。很清晰,软链接的索引节点是保存的路径。A 是可以写的,不过同时写要互斥。只要给的索引节点一样的就行了。C不就是删了和A差不多。
2025-07-02 23:11:37
314
原创 408第三季part1 - 操作系统 - 虚拟存储器
每行数据占5位,32个地址,按字节编址,所以是32B,然后是标记20位,有效位一定有个1,脏位1位,替换位1位,都是bit。这里有坑,这里是十六进制,一般人看见82这里存在位为0,会选D,但82要换算成十进制才行是130。可以看见行号是3,对应的是105,并不是04C,所以没有命中。页面大小4kb,180H是偏移量,剩下的即使页号,也是标记。存在位为1说明这里是页框号,为0说明是外存的地址,共用的。这里说虚拟地址空间是32位,给的虚拟地址也确实是32位,组号是3位,会有8组,又因为是二路组,所以是16行。
2025-07-02 17:47:32
395
原创 408第三季part1 - 操作系统 - CLOCK
找到后访问位变1,指针到下一位,在置换一次,然后找了一圈没找到00,并回到了自己,第二圈就找01并把访问位变为0,这里把自己置换了。然后虚拟地址选的是02是缺页状态,要选一个置换,而01是先置换的。这里也是转了2圈,也是把访问位变成了0,然后重头00开始找。就是刚才那个图,就是按00,01,10,11来的。只有在被替换的时候,指针才会到下一位。然后这里只有2个在内存,分别是3和4。替换的时候,访问位1变0,为0替换。访问位变1,修改位变0,再置换。然后你又访问0了,访问位为1。想要置换了,先找00。
2025-07-02 03:03:52
303
原创 408第三季part1 - 操作系统 - 虚拟内存与页面置换算法
有一个缺点就是,比如3要换了,这里把最先进入的0换了,但之后立马又要0了,很显然,这个方法有问题。这里2要换,和那个换就往后看,7是最后才会再次用,是最久的,所以换7。比如说驻留集是3个就是说分了3个页框,工作集是6个肯定不够用。然后就是驻留集,你分的越少就会缺页,越多就会浪费空间。这里就是往前看,到2要换谁,7是用的最久的,所以换7。这里内存只有2个页框,而进程有4个页框怎么办。工作集这里就是往前数5个然后去掉重复的。打勾是缺页,打星是置换,下划线是命中。然后页号是不需要存储的。页表项多了4个状态位。
2025-07-02 02:27:43
349
原创 408第三季part1 - 操作系统 - 二级页表
然后11是原页号,除以4得到2是页目录项里的100,3是100号页框里的第3个页框号。之前我们知道,进程在内存中是随便放的,很没规矩,于是需要页表,页表得是连续的。二级不需要存,算就行了,虚拟地址就是逻辑地址,最终访问肯定得是物理地址的。业内偏移量是12位,也就是说有2^12个地址,每个地址有字节编址个大小。页表大小是4MB,页框大小是4KB,所以会有1024个页框。二级页表叫页表项,一级页表叫页目录项。所以商是一级页号,余数是二级页号。无论一级页表还是二级都是在内存。就是这个画圈圈的是00301H。
2025-07-02 00:56:17
286
原创 408第三季part1 - 操作系统 - 基本分页II
比如这里是11个地址,你如果突然来个12,除以4后发现是3并不存在3个页面号,所以判断为越界,然后那个应该是大于等于才对,不是大于。页表寄存器里面的东西分别是起始地址F,和页表长度M,这个页表长度M是看F有没有超出范围。这里做2个,一个是4097一个是9000,答案在下面。如果是2328H,那将会超级的快。页表可以看成数组,都是连续放的。页表里的东西是页表项。
2025-07-01 22:55:56
114
原创 408第三季part1 - 操作系统 - 基本分页
把进程很程序划分位固定大小的分区,左边划分的是页面号,右边是页框号。通过逻辑地址算出页内偏移量2和页号1,通过页号查找页表的页框号为0。这里说了内存空间被分为固定大小的分区,所以有内部碎片。先4*4得到页框号首地址,然后加上相对地址3就得到了。页面大小为4KB按字节编址,说明每个页面有4K大小。页号边页框号 1变成4,然后偏移量不变就是答案。进程是有逻辑的地址的,每一个逻辑地址可以重复。这里逻辑地址的11到19是怎么算出来的呢。然后再运用下面的公式直接得出物理地址。然后就是我们要讲的地址变化了。
2025-07-01 19:30:07
393
原创 408第三季part1 - 操作系统 - 内存管理概念和连续分配管理
这里有个重定位寄存器,改变它就可以动了,这里一开始先把地址空间的值存入存储空间,然后通过重定位把它指向的地址给指出来,然后你可以通过修改重定位来修改相对地址,这里就修改为2000了。这里我们想访问逻辑地址的100,一块确实是小于199没问题,然后找到重定位寄存器的首物理地址是300,我们就能访问到300+100 = 400的内存地址了。这里按字节编址,一个存储单元能存8位,所以里面能存40k个地址,后面也是一样的,这里画的都是空闲空间。然后这里就是静态重定位的图,左边是相对地址,右边是绝对地址。
2025-07-01 17:28:26
354
原创 408第三季part1 - 操作系统 - 死锁
这个就是每个进程都少1个,然后会发现在这种极端情况下会发生死锁,如果你加了1,就会发现无论给谁都可以解除死锁。P1先拿2,P2拿1,P3拿1拿不到,拿不到的话P3后面的全别执行了,这就是按编号递增的顺序请求。这里就是先把所有资源给一个进程爽爽,然后让它释放就行了。请求并保存条件这里就是说你有欲望,你想要得有。R2有一个剩余资源,给了P1后P1释放了。检测有了,然后就是如何避免了,简单了解。往外指的是分配边,内指的是请求边。然后是破坏死锁的几个方法。然后是死锁避免的知识点。然后是死锁的检测和避免。
2025-06-30 01:16:23
132
原创 408第三季part1 - 操作系统 - 生产者与消费者
可以看见就一个进程,没人的话就不会去取,而full是判断里面没有人还出来的情况,这个没用,不用判断,因为没人自然就不会有人出门了。因为你mutex上锁之后,如果执行empty发现是0,放满了,你也就不动了,导致你会一直上着锁。所以定义3个信号量,mutex是互斥,empty一开始n个空位置,full是0个位置。最后变成这样,如果你拿会发现P(full)是0,减1就堵塞了,因为没有东西。第二列是服务员,这里有人才会有叫号,叫完号后空座位+1,然后为客户服务。往A信箱放,往B信箱取,典型的生产者和消费者。
2025-06-30 00:53:42
157
原创 408第三季part1 - 操作系统 - 互斥与同步II
a:线程1和线程2都有属于自己的a,不会互斥,读可以同时,但写不行。进程1和2都有属于自己的x,因此如果看见有关x的对比就不会互斥。这里题目是当前值是1,说明还要空的,所以有1个可用,0个等待。这里有3个进程(p1,3,5)同时进入临界区,并导致堵塞。d:都不再同一进程,而且x都属于自己进程的,不会互斥。b:线程3和线程4是a,b,呃,肯定不会互斥。就两线程,比如C这里只用看A就行,不用看B。c:这里的x都属于同一个进程的,会互斥。先执行R1后执行R2 是 1。注意看题,a和b的位置。
2025-06-29 18:32:10
214
原创 408第三季part1 - 操作系统 - CPU调度
我们注意到,我们洞察到,我们突然可以知道,IO和CPU并行的时候明显IO型进程要快写,所以优先级要高。b选项 IO操作本来是堵塞态的,进程把CPU让出来了,进入就绪队列之前就已经等了很长时间了。这里响应比是(等待时间+执行时间)/执行时间 ,最后可以化简成右边的样子,很强。响应时间P1是 0 ,P2也是0,一到达直接就上了,先不管它有没有做完。默认没说就是非抢占式的,然后一开始是作业号1到达,所以作业号1先执行。,然后在非抢占式中,等待时间就是对应的响应时间。然后看一看反馈队列吧,兄弟们,还是二级的。
2025-06-24 00:36:53
346
原创 408第三季part1 - 操作系统 - 进程与线程
如果没有线程,那么CPU只会按照聊天,打电话,朋友圈这样顺序的执行,一旦有了线程,他们就相互独立了,也就是说,你既可以一边聊天,一边打电话,就这个意思。然后解释一下这里的虚拟,可以看见在虚拟地址的情况下,父进程只是占有了少部分的子进程,大部分还是无法共享,但映射到物理地址之后却可以一样。堵塞态那里等待某一事件而暂停运行的意思就是说 打印机准备打印东西,但打印机正在被使用,所以要暂停运行。C IO操作很费时间的,得把CPU让出来,是堵塞。很多都是后面会说到的内容,但不妨碍,来做。
2025-06-23 17:31:13
357
原创 408第三季part1 - 操作系统 - 基本概念II
A 程序计数器只要是程序切换,我们都要把下一条指令先存下来,无论中断处理或子程序调用都会,为了能回来。太可怕了,缺页可得了,你必须要让操作系统狠狠的解决一下这个问题,怎么解决后面说。III 系统调用本质就是一种中断,上面也说过了是切换到内核的。命令解释程序吗,就是简简单单解释一下,不需要内核态。存储保护错就是访问的地址是其他进程的,会存储保护错。B 中断的第二步是保存断点和程序状态字,所以但凡有操作系统帮忙的,大概是内核态。B 就是保护现场,是由操作系统完成的。切换是在操作系统完成的,在内核态。
2025-06-23 01:46:41
484
原创 408第三季part1 - 操作系统 - 基本概念
这里P1的操作是先CPU后IO,如果没有中断技术,那就只能按部就班的先CPU后IO了,现在有了中断技术了,也就是说,当CPU执行完后立即中断给到P2这个程序,这时就可以CPU和IO并行工作了。虚拟就是你有个破电脑有1GB内存,你要运行GTA6这个1000PB的游戏,然后只有300MB是经常用的放入内存,需要时再放入其他数据到内存,这就是空间局部性的虚拟。III 单CPU也可以使用多任务操作系统,不就是要么运行P1,要么运行P2,有啥不能用的,而且题目没说的话就是默认单CPU。用户态想进入内核态的门?
2025-06-23 01:39:50
782
原创 408第二季 - 组成原理 - IO方式III
这里c选项 数据块在传送的过程中,周期挪用是以单字传送的,所以CPU是有机会访问到内存的,如果是停止CPU访存这个方式,这个方式是以块进行的,那这就对了。然后第二问就是,数据传输的速度太快,中断只能用于低速的设备,因为要不断中断响应处理,反正改用DMA了。这里是设备B,根据上面的也算好了,可以看见,传一次要0.1微秒,这恐怖的速度。这题注意是不包含前三步的,然后是单级中断,所以会少1对开关中断的中断嵌套。多重中断的第一步就是关中断,关中断的权限很高,所以要在内核态执行。DMA不需要CPU参与执行传送操作。
2025-06-22 17:48:58
383
原创 408第二季 - 组成原理 - IO方式
你去执行其他程序的时候,肯定要保存你之前执行的数据(程序状态)以及准备回来时要返回的地点(保存断点),不能再被别人打扰了,不然你保存的数据就没了,所以要(关中断)先看程序P1,这里有个中断类型号2,它会指向中断向量表,中断向量表里面是中断向量,中断向量是内存的首地址然后会按着内存往下执行,然后回到P1原程序。举个例子,在执行第二条指令的时候发现,无法执行下去,要用到的数据不在内存,要调到内存,这就是外部。所以只有三部分要算,工作的时间(送入IO端口的时间),中断响应的时间,和到启动的时间。
2025-06-22 01:24:03
1168
原创 408第二季 - 组成原理 - IO接口
然后还有一些要注意的就是范围可重复(看的出来),相同地址属于不同的地址空间,所以要设置专门的IO指令来表明。传送数据一般是CPU和端口之间,CPU是通过一个小小的通用寄存器来和IO的寄存器进行数据传送的。然后如果外部设备把数据放入了端口,状态那里会表示就绪,然后CPU就可以读数据了。然后CPU可以往里写,也可以往外读,看图也有明显箭头,CPU从端口读数据。左边是端口,右边是内存,他们都有属于自己的地址空间,他们是独立编址。统一编址不用IO指令了,可以用访存指令访问端口,书上原话。磁盘驱动器是外部设备本身。
2025-06-21 01:36:55
286
原创 408第二季 - 组成原理 - 总线
这里就是说80位的数据它2个时钟传1次,每个时钟传2次题目里要求的20位,也就是说一个时钟传1次是20位,每个时钟能传40位,2个时钟传1次就是80位。这里传地址也要消耗一个时钟周期的,然后128位数据,宽度是32位,也就是一次传32位,整了4次时钟周期,,一共5个时钟周期。2.4G/2是因为2个时钟传1次,慢了,但传一次能有8个字节呢,*2是全双工的意思。并行看起来爽,但不同线之间会有干扰,传不远,也传不快,是个垃圾。也就是说4,5,6,7分别能传2次,然后连续传8次。1用的地址线,4-7用的数据线。
2025-06-21 00:59:58
337
原创 408第二季 - 组成原理 - 流水线
看这个图,你通过IF取指完后给到IR,后面继续执行ID和IF,他们是同时运行的,很有可能下面的IF取值完后覆盖了IR,然后ID取的是下面IF取得的指令,然后就是load指令不是EX指令结束后就有的,而是在访存完之后的MEM才有的,所以要像获得load指令访存完的东西,你得在MEM后面。这里IF取值是要访问内存的,然后MEM也是要访问内存的,所以冲突了,这就是结构冒险,LOAD和ALU尼玛的犯病。然后因为I3是转移指令,你得在EX之后算出转移的地址,然后在MEM送目的地址到PC后,才能继续取指。
2025-06-20 23:15:22
840
空空如也
python green hand 为什么一个可以倒一个倒不了
2022-10-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人