单、双缓冲区和CPU中断频率、中断响应时间题

1.单、双缓冲区和中断频率、中断响应时间题

我们知道,减少对CPU的中断频率,放款CPU中断响应时间的限制是引入缓冲区的作用之一。

我们经常会遇到求引入缓冲区,求中断频率的问题。所以在此对的做法进行总结。

1.1. 例题

以下是a)、b)、c)分别是引入不同缓冲区求解CPU中断频率和中断的响应时间题。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ed0oOwjB-1608347471472)(D:\笔记图片集\1605511733115.png)]

解题过程:

要求中断频率——就要求每隔多少秒中断一次

所以解题顺序:每隔着多少秒中断一次——>求单位时间中断次数(即中断频率)


  • ①每次隔几秒中断一次(缓冲区满所用的时间即中断一次所需的时间):

    1bit ÷ 9.6k/s ≈ 100us

  • ②单位时间中断次数(中断频率):

    1s ÷ 100us = 9.6(k/s)

    每秒中断9.6k次 (9.6x1024次)

单、双缓冲区和CPU中断频率、中断响应时间题_第1张图片

b)和c)的中断频率解析,可以参照a)。

下面只说一下对于中断的响应时间求解:

  • (b)的中断响应时间:

    CPU必须在下一数据写入对缓冲区之前,对当前缓冲区中数据进行响应处理,否则缓冲区中的数据将会被覆盖掉。

    所以(b)中,要在下1bit数据输入缓冲区前,处理完数据、让出缓冲区。所以响应时间为100us以内(因为每1bit数据到达时间需要100us)。

  • ©的中断响应时间:

    因为(c)中为双缓冲区,所以只要在另一个缓冲区装满时,处理并让出当前缓冲区即可。

    所以中断响应时间为100*8 = 800us

由上可知,增加缓冲区的大小只能降低CPU的中断频率, 不能放宽CPU的中断响应时间。

1.2. 现实生活例子

为了便于理解,下面举个现实生活中的例子。


就拿学生上课迟到,老师处理学生来举例子。其中会有以下几个角色:

  • 老师——对应着CPU
  • 学生——对应着1bit数据
  • 教室外的椅子——对应着缓冲区

情景①:

题目:老师正在讲课,并且在外面放置了一把椅子,供迟到的学生坐着等待,当椅子坐满学生后老师再叫进迟到的学生进行处理。老师很贴心必须让每一个迟到的人都能坐上椅子,并且每20s就会有一个迟到的学生到来。

题解:

  • 中断频率:

    60 ÷ 20 = 3 ( s ) 60÷20 =3(s) 60÷20=3s

    老师1分钟要停下3次来处理学生,中断频率为3(次/分)。

  • 中断响应时间:

    为20。

    因为老师必须在下一个学生到达之前,处理完该学生,让出椅子。所以老师的中断响应时间为20s以内。


情景②:

题目:接下来,老师把椅子增加到了8把。

题解:

  • 中断频率

    8 ∗ 20 = 160 ( s ) 8*20 = 160(s) 820=160s ——160s坐满椅子

    1分÷160秒 = 60 ÷160 = 0.375

    所以老师每分钟中断0.375次。

  • 中断响应时间:

    然而下一学生还是20s到达,所以中断响应时间还是20s.

情景③:

题目:接下来,老师讲椅子数改为2排, 每排有8把椅子。每当坐满一排之后,老师再处理学生。

题解:

  • 中断频率

    8*20 = 160 (s) ——还是每160秒坐满椅子

    1分÷160秒 = 60÷160 = 0.375

    所以老师每分钟中断0.375次。

  • 中断响应时间:

    因为椅子变成两排,所以老师只需要在另一排做满之前处理完就可以。

    20*8 = 160(s)

    所以中断响应时间放宽到了160s。


我们再通过表格来表示以下例子中情景②和操作系统图片2的对应关系:

情景② 操作系统图片2中的 b)
每20s来1人 每100us来1bit
8个座位 缓冲区大小为8bit
椅子坐满人一处理 缓冲区放满一处理
老师处理学生的频率 中断频率

你可能感兴趣的:(操作系统)