2.4总线操作和定时

news2024/9/24 19:21:39

文章目录

  • 一、引子
  • 二、介绍
    • 1.总线周期
    • 2.总线定时规范
  • 三、同步定时方式
    • 1.过程
    • 2.特点
    • 3.优缺点
      • ①优点
      • ②缺点
  • 四、异步定时方式
    • 1.介绍
    • 2.三种方式
      • (1)不互锁方式
      • (2)半互锁方式
      • (3)全互锁方式
    • 3.优缺点
      • ①优点
      • ②缺点
  • 五、半同步通信
    • 1.过程
    • 2.特点
  • 六、分离式通信
    • 1.分析
    • 2.过程
    • 3.特点
  • 七、总结回顾

一、引子

上一小节,已经介绍了总线仲裁相关的知识。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dd2tDO06-1674444464723)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230120164602959.png)]

由于总线在同一时刻只能提供给一组设备使用,所以需要决定总线的控制权分配给哪一个主设备,当一个主设备获得总线控制权之后,它就可以利用总线来对某一个从设备发出相关的命令(读/写数据)。

那么这一对主设备和从设备该如何用电信号进行数据的传输呢?

如何发出命令,如何给出数据,每一步操作的时序安排又是怎么样的?

这一小节,我们就来探讨一下总线的操作与定时,即如何让占用总线的一对设备进行数据传输?

二、介绍

1.总线周期

之前我们说过总线周期有四个阶段。

也就是要用总线传一次数据。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bJyGvDmN-1674444464725)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230120164635820.png)]

🔖解释

申请分配阶段:某一个主设备想要使用总线,那么它需要向总线控制部件发出请求,申请总线的控制权。然后总线控制器按照一定的优先级,将总线的控制权分配给某一个主设备。也就是总线仲裁

某一个主设备获得了总线的控制权。

寻址阶段:当主设备获得了总线控制权之后,就进入了寻址阶段。用地址信息来指明它想读/写的那个从设备是哪一个。每一个设备都会有自己的地址编号。

所以主设备可以用地址来指明想要配合的从设备到底是哪一个。除了地址信息之外,还要有相关的命令。指定的从设备接收到相关的请求之后,就需要启动。

传输阶段:这个阶段要进行具体的数据传输,有可能是主设备向从设备发出读命令或者写命令。那么要往什么地方读或者写?这要看上一个阶段的地址指向哪里。

结束阶段:主模块传输完数据之后,需要把总线的控制权让出来。所以它会把地址信息、读写命令等从总线上撤除,让出总线的使用权。


2.总线定时规范

这一节要介绍的总线定时就是主模块和从模块在总线周期内,进行上述动作。

这需要时间上的配合,那么如何进行呢?这就是总线定时要探讨的问题,它实际上是一种协议或规则,让数据的发送方或者接收方都能够按照统一的规则来进行数据的交互。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K29a6FPV-1674444464726)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230120164746746.png)]

这一节中,将要介绍四种总线定时的规范:

①同步通信:由总线控制器提供一种统一时钟来控制数据传送。

②异步通信:没有提供一种统一的节奏,而是让主设备和从设备在获得总线使用权之后,用应答方式来相互协商着决定工作的节奏。不会有统一的节拍。

③半同步通信:同步、异步结合。

④分离式通信:充分挖掘系统总线每一个瞬间的潜力。

三、同步定时方式

1.过程

总线控制器采用一个统一的时钟信号来协调发送和接收双方的传送定时关系。

假设现在CPU是主设备,获得了总线的使用权。CPU可以选择某一个设备作为从设备

如果想要从某一个从设备那里读入数据到主设备,那么该如何安排总线的传输周期呢?

📚 假设某一个总线周期里面包含了4个时钟周期T1、T2、T3、T4。

<1> CPU获得总线的控制权之后。

T1上升沿。CPU会发出地址信号,用来指明它想读的从设备的地址。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1LkoqeTo-1674444464727)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230120170247260.png)]

<2> 在T2上升沿。CPU会向从设备发出读命令

在图中也可以看到,电平信号从高电平转为了低电平(此案例假设低电平有效)。

在T2时钟周期内,首先从设备可以根据地址信息来判断,主设备要读的对象是不是自己。

然后,该地址指向的设备知道是自己之后,再根据读命令的信号转为低电平可以得出,主设备是想从自己这里读出数据。

所以T2周期,从设备需要准备好主设备想要读出的数据。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OjBZbnjD-1674444464728)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230120170729087.png)]

<3> 在T3上升沿到来的时候,从设备就会把自己准备好的数据放到数据总线上。

那么主设备就可以从数据总线上获得自己想要的数据了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mtgBdUkT-1674444464729)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230120171649375.png)]

<4> 在T4时钟周期内,主设备会撤销读命令,然后撤销地址信号来释放总线的控制权。

经过总线传输周期,每个阶段主设备和从设备都会完成相应的操作。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hnf1iKV7-1674444464729)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230120171931423.png)]

<5> 然后就可以进入下一个总线周期了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hXQr2dvB-1674444464730)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230120172034477.png)]

2.特点

①若干个时钟产生相等的时间间隔,每个间隔构成一个总线周期。

同步定时方式是指系统采用一个统一的时钟信号来协调发送和接收双方的传送定时关系。

时钟信号是统一由总线的控制器发出的,信息的发送方和接收方都需要根据时钟给出的节拍完成相应的工作。

③在一个总线周期中,发送方和接收方可进行一次数据传送

④因为采用统一的时钟,每个部件或设备发送或接收信息都在固定的总线传送周期中,一个总线的传送周期结束,下一个总线传送周期开始。(当然也要进行总线的申请和仲裁)

⑤同步通信适用于总线长度较短(出现信息错误的概率小)及总线所接部件的存取时间比较接近的系统(如果总线节奏太快,有的从设备速度较慢,就会跟不上总线的节奏;如果总线统一节奏搞得太慢,主设备的快速度会被浪费)。

3.优缺点

再来看一下整体的传输过程:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OGb1ymCl-1674444464731)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230120172744427.png)]

①优点

<1> 传送速度快,具有较高的传输速率。

只要给出时钟频率比较高,就可以使总线周期比较短。

<2> 总线控制逻辑简单。

由于任何一组主设备和从设备工作规定都是统一的,都需要根据统一的时钟信号来进行操作。所以这种总线定时方式,它的控制逻辑实现起来比较简单。只需要实现一个标准即可。

②缺点

<1> 主从设备属于强制性同步,必须根据统一的节奏进行工作。

从设备在接收到地址信息和读命令之后,T2时钟周期内,从设备需要准备好主设备想要读的数据。在T3上升沿到达的时候,从设备就可以把数据放到数据总线上。

如果从设备速度比较慢,跟不上节奏。就意味着在T3周期内,从设备不能给出数据,那么这种同步定时的方式就会出现问题。

因为同步定时方式意味着,统一时钟信号,就是固定的,每一个总线传输周期只会给4个时钟信号。如果此时从设备跟不上节奏,那么主设备和从设备的通信就会出现问题。

<2> 不能及时进行数据通信的有效性检验,可靠性差。

如果总线周期内,传送的数据中间发生了一些变动(比如二进制的跳变)。

那么对于这种同步通信方式来说,并不会留有多余时间让主从双方检测数据到底是否有效,在传输过程中有没有问题。所以数据传输可靠性差。

四、异步定时方式

1.介绍

在异步定时方式中,系统不会提供一个统一的时钟信号,也没有固定的时间间隔,完全依靠传送双方相互制约的“握手”信号来实现定时控制。

主设备提出交换信息的“请求”信号,经接口传送到从设备。从设备接到主设备的请求后,通过接口向主设备发出“回答”信号。

比如刚才提到的,请求信号:CPU作为主设备,它的请求信号就是“地址”、“读命令”。(因为这两个足够指明它要读的是哪一个设备,要读的是什么数据)。回答信号:将“数据”信息放到数据总线上。如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y3aQ4mUD-1674444464731)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230123092020579.png)]

那么对于异步定时方式,主设备和从设备该如何配合工作呢?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bqyj9YVw-1674444464732)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230123091935014.png)]

2.三种方式

(1)不互锁方式

当主设备获得总线控制权,它会发出请求信号。就比如刚才说的那个例子,请求信号就是,从地址总线发出“地址信息”,从控制总线发出“读命令”。

不互锁:请求信号和回答信号的撤销动作并不会受到对方的制约。

①主设备发出请求信号之后,不管从设备有没有接收到,过一段时间便会撤销请求信号。

②从设备接收到请求信号之后,会发出回答信号,不管主设备有没有接收到回答信号,过一段时间便会撤销回答信号。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZK8Oy635-1674444464733)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230123094248444.png)]

(2)半互锁方式

当主设备获得总线控制权,它会发出请求信号。

半互锁:请求信号的撤销动作会受到回答信号的制约,但回答信号的撤销动作并不会受到请求信号的制约。

①这个半互锁方式,主设备发出请求信号之后,必须等到从设备接收并给出回答信号、主设备也接收到之后,才会撤销请求信号。

②但对于从设备,它给出回答信号,不管主设备有没有接收到回答信号,一段时间后会自动撤销回答信号。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0SkO7laX-1674444464733)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230123095314430.png)]

(3)全互锁方式

当主设备获得总线控制权,它会发出请求信号。

全互锁:请求信号的撤销,需要等到回答信号收到之后;回答信号的撤销,需要等到请求信号先撤销之后。请求信号和回答信号的撤销动作都会受到对方制约。

①主设备发出请求信号,不会立即撤销信号,需要等到从设备给出回答信号,并且主设备确认收到了回答信号之后,主设备才会撤销请求信号。

②当从设备给出回答信号之后,也不会立即撤销信号,而是检测到主设备的请求信号已经撤销了之后(即确认主设备已经收到了自己的回答信号),才会把回答信号撤销。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZsvdNFd3-1674444464734)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230123095942184.png)]

不互锁方式速度最快、可靠性最差。因为不能保证对方是否接收到自己发出的信号。

全互锁方式速度最慢、最可靠。因为主设备只有获得回答信号之后,才会撤销自己的请求;从设备只有检测到主设备撤销了请求信号之后,才会撤销自己的回答信号。

3.优缺点

①优点

总线周期长度可变。

只有主设备、从设备请求回答动作完成之后,才意味着完成了一个总线周期,即完成了一次总线的数据传输。

由于主从设备可以自动适应对方工作节奏,所以能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换。

②缺点

比同步控制方式稍微复杂一些,速度比同步定时方式慢。

异步方式需要等待对方的回应,同步定时方式,每个设备只需要在给定的节拍内给出相应的动作即可,不需要管另一个设备有没有收到自己的信号。

所以同步定时方式要比异步定时方式速度更快。

五、半同步通信

1.过程

半同步通信是同步和异步的结合。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6NUxyTdh-1674444464737)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230123102554344.png)]

比起同步方式,半同步方式会增加一个反馈信号WAIT

看下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IfNqnzS2-1674444464738)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230123102635721.png)]

主设备在T1时间发出地址信号,在T2设备上升沿发出读命令。

如果是同步定时方式,T2之后,从设备需要准备好自己的数据,但是有的从设备跟不上这个节奏。

所以半同步方式中,当从设备跟不上节奏的时候,就会通过控制线路给总线的控制器进行一个反馈,让总线控制器等自己一会儿,所以图中的Tw,就是总线控制器在等从设备准备数据。

经过两个Tw之后,从设备准备好了数据。

在T3上升沿,从设备就可以将自己准备好的数据,通过数据总线发送给主设备。

T4阶段,主设备撤销地址信息和读命令。

这样就完成了总线传输工作。

2.特点

同步定时方式中,每个总线传输周期都是定长的(固定为4个总线的时钟周期)。

半同步通信结合了异步通信方式的优点,即增加了一个等待的反馈信号。

那么总线控制器就可以根据反馈信号,来动态地调节传输周期里面应该包含地时钟周期数。

半同步通信方式也有一个统一的时钟节拍,由于可以动态调整每一个传输周期内包含的时钟节拍数,因此它也能够支持速度差异比较大的主设备从设备之间进行数据的交互。

六、分离式通信

1.分析

在上述三种通信方式中,都有共同点。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DbfJzUO6-1674444464739)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230123103734593.png)]

还是举刚才的例子。

主设备要在从设备那里读出数据。

①当主设备获得总线控制权之后,首先会发出地址和读命令(需要使用总线);

②从设备接收到地址和读命令之后,会准备数据(不需要使用总线,但是主从设备依然会占据总线使用权);

③准备完数据之后,从设备才会通过数据总线,给主设备发送数据(需要使用总线)。

所以,以上三种通信方式,需要优化的就是第二个阶段!

当慢速的从设备在准备数据的时候,总线在这段时间是没有被使用的。然而这段时间,主从设备依然会占着总线控制权。


2.过程

因此,分离式通信它的思想就是,会把总线传输周期,分为两个独立的子周期。

<1> 主设备申请占用总线,并且发出地址命令等信息(即请求信号)。请求读或者写某一个设备。当请求信号发出之后,它会立即放弃总线使用权。把总线让给其他设备使用。

从设备接收到请求信号之后,就可以准备主设备想要的数据。

<2> 等从设备准备好数据之后,从设备又会主动申请占用总线,当它获取总线控制权之后,再把主设备想要的数据送到总线上。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-faDL0k1w-1674444464739)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230123103758124.png)]

分离式通信可以充分利用从设备准备数据的一段时间。这段时间将总线的使用权分配给其他设备来使用,这样就可以让总线传输效率变得更高。


3.特点

📖特点

之前说过,主设备的定义,是指可以主动申请总线控制权的设备。

但是,分离式通信,也需要让从设备能够申请总线控制权。

分离式通信也要给一个统一的时钟信号,采用同步通信的方式。

主设备在规定的节拍内发出请求信号,但是不需要等待对方回答。(不需要从设备回应)

同样也在规定的节拍内释放总线的控制权。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HBxHoqnF-1674444464739)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230123105814438.png)]

七、总结回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gij9HKBC-1674444464740)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230123105901095.png)]

总线传输总共有四个阶段。

上一小节说的总线仲裁属于第一个阶段申请分配阶段,某一个主设备发出申请,由仲裁机构分配总线使用权。

当一个主设备获得总线使用权之后,就会进入寻址阶段。也就是指明它想要配合的从设备是哪一个,要读的数据地址是什么。在寻址阶段,主设备会给从设备发出请求信号,这个请求信号里面,可能包含地址信息、读写命令等。

当主设备接收到主设备的请求之后,就会进入传输阶段,这一阶段,才是实际的数据交换。

等数据交换完了,就会进入结束阶段,主设备会释放对总线的控制权,并撤销相应的控制信号。


为了让主设备和从设备能够相互协调配合工作,所以又提出了四种总线定时方法。

同步定时方式:有一个统一的时钟节拍信号,主从设备在规定的节拍内完成规定的动作。高效但不可靠,要求主从设备之间速度差异不大。总线周期的长度是固定的。

异步定时方式:为了满足不同速度的各个部件之间通过总线进行数据交换,又提出了异步定时方式。异步定时方式又根据 请求信号和回答信号的撤销动作会不会受到对方制约划分为不互锁、半互锁、全互锁。

①对于不互锁,主设备发出请求信号之后,不管从设备有没有接收到请求信号,一段时间便会撤销请求信号。从设备给出的回答信号也只是给出一段时间,不管主设备有没有接收到回答信号,一段时间之后也会撤销回答信号;

②对于半互锁,主设备发出请求信号之后,必须收到从设备的回答信号之后,才会撤销请求信号。但是从设备的回答信号,并不会管主设备有没有接收到,一段时间后,便会自动撤销回答信号;

③对于全互锁,主设备发出请求信号,需要等到主设备收到回答信号之后,才会撤销请求信号。对于从设备来说,它的回答信号给出之后,需要等到主设备请求信号撤销之后,就是确认主设备收到自己回答之后,才会撤销回答信号。

半同步通信分离式通信有个简单了解即可。


请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/176217.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Allegro如何统计包含过孔长度的网络长度操作指导

Allegro如何统计包含过孔长度的网络长度操作指导 当需要统计网络长度的时候,可以通过element选择nets看到网络的长度,但是当网络换层了,并且需要统计到过孔的长度,类似下图 Allegro可以快速的统计网络的长度,并且包含过孔的长度 具体操作如下 选择Setup选择Constraint –…

设计模式 - 六大设计原则之SRP(单一职责)

文章目录概述CaseBad ImplBetter Impl1. 定义接口2. 职责分离-多种实现类3. 单元测试小结概述 单一职责原则&#xff08;Single Responsibility Principle&#xff0c; SRP&#xff09;又称单一功能原则&#xff0c;是面向对象的五个基本原则&#xff08;SOLID&#xff09;之一…

2022这一年

前言 一年过得好快啊&#xff0c;这个年终总结不知道该写点啥&#xff0c;所以一直到现在也没动笔。 但如果不写吧&#xff0c;总感觉少了点什么。就像过年守夜&#xff0c;反正我是每年都要等到凌晨12点放完鞭炮后才睡。 前些天也看到不少博主发布了2022年终总结&#xff0c;…

【ARM体系结构】之相关概念与公司简介

1、ARM相关的概念 机器码&#xff1a;计算机可以识别的0和1的组合。即高低电平的信号&#xff0c;1高电平信号&#xff0c;0低电平信号 汇编指令&#xff1a;编译器可以将汇编指令&#xff08;存在代码段&#xff09;编译成为机器码&#xff0c;执行汇编指令可以完成相应的汇编…

【进击的算法】基础算法——动态规划

&#x1f37f;本文主题&#xff1a;动态规划 &#x1f388;更多算法&#xff1a;回溯算法 &#x1f495;我的主页&#xff1a;蓝色学者的主页 文章目录一、前言二、概念2.1概念一&#xff1a;状态转移2.2概念二&#xff1a;Dp数组三、例题3.1斐波那契数列3.1.1题目描述3.1.2状态…

JQUERY总结(四)

对象拷贝&#xff1a; <script src"jQuery.min.js"></script> <script>$(function(){// var targetObj{};// var obj{// id:0,// name:"xinyi",// location:"henan"// };// //覆盖以前的相同key值对应的数据// $.…

【自然语言处理】基于NLP的电影评论情感分析模型比较

基于NLP的电影评论情感分析模型比较一段时间以来&#xff0c;使用机器学习的 NLP 任务借助 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;模型被认为是当前的黄金标准。这些模型通常用于我们日常的许多语言处理任务&#xff0c;比如谷…

Java面试题,线程安全问题

线程安全问题一、对线程安全的理解&#xff08;实际上是内存安全&#xff09;二、Thread类的继承、Runable接口的重写三、守护线程四、ThreadLocal原理和使用场景五、sleep、wait、join、yield六、线程池、解释线程池参数一、对线程安全的理解&#xff08;实际上是内存安全&…

JVM面试一

5. JVM 5.1 JVM包含哪几部分? 参考答案 JVM 主要由四大部分组成:ClassLoader(类加载器),Runtime Data Area(运行时数据区,内存分区),Execution Engine(执行引擎),Native Interface(本地库接口),下图可以大致描述 JVM 的结构。 JVM 是执行 Java 程序的虚拟计算…

【计算机组成原理】第一章 计算机系统概述

文章目录第一章 知识体系1.1 计算机发展历程1.1.1 计算机硬件的发展1.1.2 计算机软件的发展1.2 计算机系统层次结构1.2.1 计算机系统的组成1.2.2 计算机硬件1.2.3 计算机软件1.2.4 计算机的层次结构1.2.5 计算机系统的工作原理1.3 计算机的性能指标第一章 知识体系 1.1 计算机发…

35.Isaac教程--机械臂取放物体示例应用程序

机械臂取放物体示例应用程序 ISAAC教程合集地址文章目录机械臂取放物体示例应用程序使用 Omniverse 套件模拟驱动的机器人手臂启动取放示例应用程序该包为拾取和放置场景提供了一个应用程序脚手架。 它具有执行拾取和放置任务所需的高级步骤&#xff0c;并与两种类型的机器人操…

Java面试题,Spring与SpringBoot相关问题

Spring与SpringBoot相关问题1、BeanFactory和ApplicationContext有什么区别&#xff1f;2、描述一下Spring Bean的生命周期3、Spring的几种Bean的作用域4、单例Bean是线程安全的吗&#xff1f;5、Spring框架用到了哪些设计模式6、Spring事务的实现方式、隔离级别、传播行为7、S…

Lesson4--栈和队列

目录 1.栈 1.1栈的概念及结构 1.2栈的实现 初始化栈 销毁栈 栈的扩容 入栈 出栈 获取栈顶元素 获取栈中有效元素个数 判空 程序代码如下 Stack.h Stack.c test.c 2.队列 2.1队列的概念及结构 ​2.2队列的实现 初始化队列 队尾入队列 队头出队列 获取队列头部元素 获取…

二、pyhon基础语法篇(黑马程序猿-python学习记录)

黑马程序猿的python学习视频&#xff1a;https://www.bilibili.com/video/BV1qW4y1a7fU/ 目录 一 、print 1. end 2. \t对齐 二、字面量 1. 字面量的含义 2. 常见的字面量类型 3. 如何基于print语句完成各类字面量的输出 三、 注释的分类 1. 单行注释 2. 多行注释 3. 注释的…

多进程|基于非阻塞调用的轮询检测方案|进程等待|重新理解挂起|Linux OS

说在前面 今天给大家带来操作系统中进程等待的概念&#xff0c;我们学习的操作系统是Linux操作系统。 我们今天主要的目标就是认识wait和waitpid这两个系统调用。 前言 那么这里博主先安利一下一些干货满满的专栏啦&#xff01; 手撕数据结构https://blog.csdn.net/yu_cbl…

nacos源码分析==服务订阅-服务端推送被订阅者最新信息给订阅者

上一篇讲到客户端发送请求到服务端进行服务注册&#xff0c;注册后&#xff0c;服务端会发出两个事件&#xff0c;第一个事件会触发另一个ServiceChangedEvent&#xff0c;这个事件被com.alibaba.nacos.naming.push.v2.NamingSubscriberServiceV2Impl#onEvent 监听&#xff0c…

16. 条件控制

总体来说&#xff0c;条件控制的效果类似c/c/c#/java中的&#xff0c;只不过在语法格式的层面上存在一定的差异。 1. if条件语法格式 if condition_1:...elif condition_2:...else:...1、python 中用 elif 代替了 c/c中的 else if&#xff0c;所以if语句的关键字为&#xff1a…

高性能排序函数实现方案

如C语言的qsort()、Java的Collections.sort()&#xff0c;这些排序函数如何实现&#xff1f; 1 合适的排序算法&#xff1f; 线性排序算法的时间复杂度较低&#xff0c;适用场景特殊&#xff0c;通用排序函数不能选择。 小规模数据排序&#xff0c;可选时间复杂度O(n^2)算法大…

【算法】滑动窗口

目录1.概述2.算法框架3.应用本文参考&#xff1a; LABULADONG 的算法网站 1.概述 &#xff08;1&#xff09;滑动窗口可以用以解决数组/字符串的子元素相关问题&#xff0c;并且可以将嵌套的循环问题&#xff0c;转换为单循环问题&#xff0c;从而降低时间复杂度。故滑动窗口算…

【数据分析】(task5)数据建模及模型评估

note 文章目录note一、建立模型二、模型评估2.1 交叉验证2.2 混淆矩阵/recall/accuracy/F12.3 ROC曲线三、Pyspark进行基础模型预测时间安排Reference一、建立模型 下载sklearn的命令pip install scikit-learn。 from sklearn.model_selection import train_test_split impor…