首页 > 其他分享 >存储器和CPU的连接与TCP的流量控制

存储器和CPU的连接与TCP的流量控制

时间:2024-05-29 22:58:56浏览次数:18  
标签:窗口 字节 报文 存储器 TCP 发送 CPU

存储器与CPU的连接

存储容量的拓展

(1)位拓展:增加存储字长

34032ccc78014484bd4bddea23a1e02b.png

 

(2)字拓展

增加存储器字的数量

c13aec72db644b4f9b74abcb4ed11b87.png

 

 

 

 

 

例题:设CPU有16根地址线,8根数据线,并用MREQ作为访问存储控制信号(低电平有效),WR作为读写控制信号,(高电平读,低电平写)。

 

5f7e2a8f643b4926a00cc304d877f331.png

 

 

现有以下存储芯片: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为用户程序区;

02c09833044b41a6adf7b616147d8f19.png

 

 

系统程序区变化范围为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输入端。

526d7fb373a941a18448f75a024633b9.png

 

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

相关文章

  • C++ - tcp网络传输如何发送结构体类型
    1、tcp网络传输如何发送结构体类型 在C++中,要通过TCP网络传输结构体类型,你需要将结构体序列化为字节流,然后在另一端反序列化。这里有一个简单的例子:#include<iostream>#include<cstring>#include<sys/socket.h>#include<netinet/in.h>#include<unistd.h>//假设......
  • 《计算机网络微课堂》5-9 TCP报文段的首部格式
    本节课我们介绍TCP报文段的首部格式。在之前的课程中我们曾介绍过,为了实现可靠传输,TCP采用了面向字节流的方式,如图所示TCP将应用进程交付下来的应用报文看作是字节流,存入TCP发送缓存中,但TCP在发送数据时是否发送缓存,取出一部分或全部字节,并给其添加一个首部使之成为TCP......
  • 《计算机网络微课堂》5-8 TCP的运输连接管理
    从本节课开始,我们将分两次课来介绍TCP的运输连接管理。5.8.1TCP的连接建立TCP是面向连接的协议,它基于运输连接来传送TCP报文段TCP运输连接的建立和释放是每一次面向连接的通信中必不可少的过程TCP运输连接有以下三个阶段第一个阶段是建立TCP连接,也就是通过......
  • 《计算机网络微课堂》5-7 TCP 可靠传输的实现
    本节课我们介绍TCP可靠传输的实现。TCP基于以字节为单位的滑动窗口来实现可靠传输。我们来举例说明,这是因特网上的两台主机,他们之间已经建立了一个TCP连接,为了简单起见,我们假定数据传输只在一个方向进行,换句话说,发送方给接收方发送TCP数据报文段,接收方给发送方发送相应的......
  • 《计算机网络微课堂》5-6 TCP超时重传时间的选择
    本节课我们介绍TCP超时重传时间的选择,超时重传时间的选择是TCP最复杂的问题之一。我们来举例说明,假设主机A和B是因特网上的两台主机,他们之间已经建立了TCP连接,纵坐标为时间,现在主机A给主机B发送TCP数据报文段0,并记录下当前的时间。主机B收到后给主机A发送......
  • 《计算机网络微课堂》5-5 TCP的拥塞控制
    本节课我们介绍TCP的拥塞控制,首先来看拥塞控制的基本概念:在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏,这种情况就叫做拥塞在计算机网络中的链路容量,交换节点中的缓存和处理机等都是网络的资源,若出现拥塞而不进行控制,整个网络的吞吐量......
  • 《计算机网络微课堂》5-4 TCP的流量控制
    本节课我们介绍TCP的流量控制:一般来说我们总是希望数据传输的更快一些但如果发送方把数据发送的过快,接收方就可能来不及接收,这就会造成数据的丢失所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收利用滑动窗口机制,可以很方便的在TCP连接上实现对发送方的......
  • 《计算机网络微课堂》5-3 UDP和TCP的对比
    本节课我们将从几个方面对比UDP和TCP。UDP和TCP是TCP/IP体系结构运输层中的两个重要协议,如图所示,这是我们之前课程中介绍过的TCP/IP体系结构,它的运输层有两个非常重要的协议UDP和TCP。在使用TCP/IP体系结构的网络通信中,这两个协议的使用频率仅次于往基层的IP协......
  • TCP和UDP协议的特点和用途
    TCP(TransmissionControlProtocol):特点:面向连接、可靠传输、按序交付、流量控制、拥塞控制。用途:适用于需要高可靠性的数据传输,如网页浏览、电子邮件、文件传输等。优势:数据包顺序和完整性有保障,适合需要准确无误传输数据的场景。举例:在线购物网站的交易数据传输,确保每笔交易......
  • Modbus TCP报文详解
    一、ModbusTCP协议构成ModbusTCP通信协议主要包括三个部分:报文头(MBAP)、功能码和数据。ModbusTCP/IP协议的最大数据帧为260个字节。二、MBAP报文头构成MBAP报文头占7个字节,具体构成如下:事务处理标识符(TransactionIdentifier):2个字节,为此次通信事务处理标识符,一般每次通信......