学习笔记8

关于知识点

知识点归纳

第五章

  • 5.1 硬件定时器
    以下是硬件定时器的一些知识点:
    工作原理:硬件定时器通常由计数器、时钟源和控制逻辑组成。计数器根据时钟源的脉冲输入进行递增操作,并在达到特定计数值时产生中断或触发特定的操作。
    精度和分辨率:硬件定时器的精度和分辨率取决于计时器的位数和时钟频率。较高的位数和时钟频率可以提供更高的精度和分辨率。
    周期性定时器:硬件定时器通常用于生成周期性的定时信号,如系统时钟、中断信号等。计数器达到特定计数值后,会从头重新开始计数,形成一个循环周期。
    单次定时器:硬件定时器也可以被配置为单次定时器,即计数器达到特定计数值后,停止计数并触发特定的操作。
    中断服务例程:当硬件定时器计数器达到特定计数值时,会产生中断信号,触发中断服务例程执行特定的操作。中断服务例程通常用于处理定时任务,如更新系统时钟、定期检查外部设备等。
    预分频器:硬件定时器通常包含预分频器,用于控制时钟源的频率。预分频器可以将时钟频率分频为更低的频率,以提供更大范围的定时值。
    编程接口:硬件定时器通常提供一些编程接口,允许开发人员对计时器的参数进行配置,如计数值、计时模式、中断使能等。
    应用领域:硬件定时器在各种嵌入式系统和电子设备中广泛应用,如实时操作系统、计时器芯片、定时器模块等。它们被用于进行时间测量、实现定时任务、驱动外设等。
  • 5.2 个人计算机定时器
    个人计算机定时器是指在个人计算机(PC)系统中用于测量时间、执行定时任务或调度操作的设备或功能模块。
    系统时钟:个人计算机的定时器通常使用一个系统时钟源来提供计时的基准。系统时钟源通常是一个高精度的晶体振荡器。
    时钟频率:个人计算机的定时器使用时钟频率来测量时间。时钟频率表示每秒钟产生的时钟脉冲数。在个人计算机中,常见的时钟频率是以兆赫兹(MHz)或千兆赫兹(GHz)为单位。
    定时任务和调度:个人计算机定时器可以用于执行定时任务和调度操作。通过预先设置计时器的计数值,可以在特定时间间隔后触发特定的操作,如执行程序、执行系统任务、发送定时通知等。
    定时中断:个人计算机定时器通常与中断机制配合使用。当计数器达到预设值时,会产生一个定时中断信号,从而触发特定的中断服务例程执行相应的操作。
    定时器模块:个人计算机通常会集成一个或多个硬件定时器模块,用于提供定时功能。这些定时器模块通常由芯片组或主板上的特定硬件组件实现。
    时间测量:个人计算机定时器可以用于测量时间间隔。通过记录起始时间和终止时间,可以计算出两个时间点之间经过的时间,用于性能测试、时间测量和延迟分析等。
    系统时钟同步:个人计算机定时器也用于系统时钟同步。操作系统可以利用硬件定时器来同步计算机的系统时钟,以确保各个进程和任务之间的时间一致性。
    编程接口:操作系统和应用程序可以通过编程接口(如API)来访问和配置个人计算机定时器的参数,如计时周期、中断使能等。常见的编程接口包括Windows的API(如SetTimer函数)和Linux的系统调用(如timer_create函数)。
  • 5.3 CPU操作
    CPU操作是指中央处理器(CPU)执行的计算机指令和操作过程。
    指令集架构:CPU操作基于特定的指令集架构,如x86、ARM、MIPS等。指令集架构定义了CPU能够执行的指令集合,包括算术运算、逻辑运算、存储访问、条件分支、循环等。
    指令周期:CPU执行指令的过程被划分为多个时钟周期,每个周期执行一个基本操作。这些操作包括指令获取、指令译码、操作数获取、执行计算、存储结果等。
    指令流水线:为了提高CPU的执行效率,现代CPU采用指令流水线技术,将指令的执行过程分成若干个阶段并行处理,以提高指令的吞吐量。常见的流水线阶段包括取指、译码、执行、访存和写回。
    寄存器:CPU拥有一组内部寄存器,用于暂存和处理数据。这些寄存器通常具有固定的位宽,如8位、16位、32位或64位,用于存储整数、浮点数、地址等不同类型的数据。
    栈操作:CPU可以对堆栈进行操作,将数据按照后进先出(LIFO)的顺序存储和读取。栈通常用于存储局部变量、函数调用和中断处理等。
    中断和异常处理:CPU可以响应外部中断信号或在执行指令过程中出现异常情况。当发生中断或异常时,CPU会中断当前任务,转而执行相应的中断处理程序或异常处理程序。
    缓存和内存访问:CPU通过缓存层次结构与主存交互。缓存包括高速缓存、二级缓存和三级缓存,用于加速CPU对内存数据的访问,以提高系统的性能。
    压缩和解压缩:一些CPU支持指令压缩和解压缩技术,将指令转换为较短的形式以节省存储空间,并在执行前恢复原始指令。
    SIMD指令:一些CPU支持单指令多数据(SIMD)指令集,用于同一时间执行多个相似的计算操作,以提高计算效率,常用于图形处理、多媒体和科学计算等领域。
    分支预测:为了提高指令流水线的效率,CPU使用分支预测技术来预测条件分支的结果,从而在预测正确时避免流水线的停顿和重启。
    CPU操作是计算机系统的核心部分,它负责执行指令、处理数据和控制系统的各种操作,是计算机系统的关键组件。
  • 5.4 中断处理
    中断处理是指处理计算机系统中发生的中断事件的过程。中断是一种机制,可以中断正在执行的程序或操作,并转向处理相应的事件或请求。
    中断类型:中断可以是外部中断,由外部设备(如键盘、鼠标、定时器)发起的请求;也可以是内部中断,由CPU内部运行时发生的特殊情况(如算术溢出、除零错误)引起的异常事件。
    中断向量表:计算机系统通常维护一个中断向量表,其中存储了不同类型中断的处理程序(中断服务例程)的入口地址。当中断发生时,系统通过中断编号或中断向量,从表中找到相应的处理程序。
    中断处理过程:当中断发生时,CPU会暂停正在执行的任务,保存当前的执行状态(如程序计数器、寄存器等),并跳转到中断服务例程的入口地址。中断服务例程处理中断事件,并执行相应的操作,如读取键盘输入、处理计时器中断等。
    中断优先级:不同类型的中断可以有不同的优先级。在多中断发生时,CPU会根据中断优先级来确定首先处理哪个中断。较高优先级的中断会打断正在处理的较低优先级中断。
    中断屏蔽:为了确保系统的稳定性和可靠性,CPU通常提供中断屏蔽机制。中断屏蔽允许系统的某些部分或特定中断被屏蔽,暂时禁止对其进行响应,以避免干扰关键操作或实现特定的响应策略。
    中断嵌套:在一些高级系统中,允许中断嵌套,即当一个中断正在处理时,另一个中断可能发生。这样可以确保及时处理优先级更高的中断,提高系统的实时性。
    中断处理时间:中断处理时间是指从中断发生到中断处理结束的时间。对于实时系统,需要确保中断处理时间足够短,以满足实时响应需求。
    中断请求:外部设备可发出中断请求,通知CPU有相关事件需要处理。中断请求可以是通过硬件信号线、中断控制器等方式进行传递和处理。
    中断处理是操作系统和计算机系统中重要的机制之一。通过合理的中断处理机制,系统能够实现对外部事件或异常的及时响应,提高系统的可靠性、实时性和效率。
  • 5.5 时钟服务函数
    • 5.5.1 gettimeofday-settimeofday
      gettimeofday是一个函数,用于获取当前系统的时间。它的定义如下:
int gettimeofday(struct timeval *tv, struct timezone *tz
  • tv:表示时间的结构体指针,函数将获取到的时间存储在该指针指向的结构体中。
  • tz:表示时区的结构体指针,可忽略不用。
    该函数返回0表示成功,如果返回-1则表示发生了错误。

同样的,settimeofday是一个函数,用于设置系统的时间。它的定义如下:

int settimeofday(const struct timeval *tv, const struct timezone *tz);
  • tv:表示要设置的时间的结构体指针。
  • tz:表示要设置的时区的结构体指针。

该函数返回0表示成功,如果返回-1则表示发生了错误。

  1. 结构体:这两个函数的参数都需要传入时间和时区的结构体指针。struct timeval结构体用于表示时间,包括秒的部分和微秒的部分;struct timezone结构体用于表示时区信息。程序员需要了解这两个结构体的定义和使用方法。
  2. 时间的获取和设置:gettimeofday用于获取当前系统的时间,settimeofday用于设置系统的时间。程序员需要了解如何使用这两个函数来获取和设置时间。
  3. 错误处理:这两个函数的返回值可以用于判断是否发生了错误。当返回-1时,程序员可以通过errno全局变量获取具体的错误信息并进行处理。
    gettimeofday和settimeofday这两个函数是用于获取和设置系统时间的函数,程序员需要了解相关的结构体定义和使用方法,并进行错误处理。
    • 5.5.2 time系统调用
    • 5.5.3 times系统调用
    • 5.5.4 time和date命令
  • 5.6间隔定时器
  • 5.7 REAL模式间隔定时器

苏格拉底挑战

问题1:硬件定时器

问题2:中断处理

遇到问题以及实践过程截图

实践截图

如何查询一个系统调用

man system

man 2 fork

问题1:时钟服务函数

posted @ 2023-11-05 17:01  20211403左颖  阅读(24)  评论(0编辑  收藏  举报