存储器与CPU的连接
存储容量的拓展
(1)位拓展:增加存储字长
(2)字拓展
增加存储器字的数量
例题:设CPU有16根地址线,8根数据线,并用MREQ作为访问存储控制信号(低电平有效),WR作为读写控制信号,(高电平读,低电平写)。
现有以下存储芯片:1k*4位RAM,4K*8位RAM,8K*8位的RAM,2k*8位的ROM,4K*8位的ROM,8K*8位的RPM,以及74138译码器和各种门电路,如图所示
画出CPU与主存的连接图。要求如下:
(1)主存地址空间的分配:
6000H-67FFH为系统程序区;
6800H-6BFFH为用户程序区;
系统程序区变化范围为11位,即2K,
用户程序区变化范围为10位,即1K,
(2)合理选用上述芯片,说明各选几片。
即系统程序区选用1片2k*8位的ROM芯片;
用户程序区选用2片1k*4位的PAM芯片,之所以选用两片是因为题目的数据线是8根,即数据线宽度为8位。
(3)分配CPU的地址线
CPU的低11位地址与2k*8位的ROM地址相连(2k=2^11),CPU低10位地址与2片1K*4位的RAM相连;
由题可知,要使74138译码器正常工作,则G1为高电平,G2A,G2B为低电平,
由前面二进制地址范围可知,A15始终为0,即低电平,A14始终为1,即高电平,正好和译码器G2A(高)和G2B(低)对应,低电平G2B与访问控制信号MREQ对应,A13,A12,A11接到译码器C,B,A输入端。
TCP的流量控制
利用滑动窗口实现流量控制
设A向B发送数据,连接建立时候,B告诉A自身的接收窗口大小,A的发送窗口大小不能超过接收方B的窗口大小
流量控制:发送方发送速率不要太快,要让接收方来得及接收。窗口大小的单位是字节。
窗口大小每次可以根据需求发送调整消息。
如果A向B发送了零窗口通知,而之后向B发送窗口100大小的通知,但消息丢失了,B一直没有收到,B如果一直等待下去就是死锁现象;
因此TCP为每个链接设置了计时器,当一方收到零窗口消息,启动计时器,然后计时器时间到期还没有收到更改窗口大小通知,那么就发送零窗口探测报文段(TCP规定在零窗口情况下也要接收零窗口探测字段,紧急报文段和确认报文段),对方收到后发送现在的窗口值,如果依然是零,那么重新设置计时器。
TCP发送时机的控制机制:
TCP维持一个变量,等于报文最大长度MSS,一旦接收到的数据达到MSS字节,就发送一个TCP报文段出去。
第二种机制是由发送方的应用进程指明要求发送报文段,即推送操作。
第三种机制是发送方一个计时器期限到了,将当前已有的缓存数据放入报文段。
使用Nagle算法:
发送应用进程要把发送的数据逐个发送给发送缓存,然后发送数据的第一个字节,然后把后续到达的字节存储到缓存起来,当收到对第一个字节的确认时候,发送缓存中所有数据组装成一个报文段发出,同时对后续到达缓存的报文段缓存,以后只有收到前一个报文段确认后,再发送后一个报文段。
糊涂窗口综合症:
TCP接收方的缓存已经满了,应用进程每次取用一个字节,接着发送方又传来一个字节,然后接收方发送确认,通知窗口依然为一个字节,这样效率很低。
要解决,可以让接收方等待一段时间,使接收缓存可以容纳一个最长报文段或者有一半空闲空间,这样就可以通知新的窗口大小。
拥塞;对资源的需求大于可用资源;
流量控制:点到店的通信量的控制。
拥塞控制;防止将过多数据注入网络,使网络过载。
标签:窗口,字节,报文,存储器,TCP,发送,CPU From: https://blog.csdn.net/2302_77397775/article/details/139307865