`

操作系统学习之中断-interrupt

阅读更多
中断(interrupt)分为硬件中断和软件中断
硬件中断又可分为内部中断和外部中断
80386把外部中断称为“中断”,而内部中断则称为异常(exception)
trap大概就是指硬件内部中断了,不知道这里理解的对不对
下面附上google上查到的资料
本文仅供个人参考记录,如有不对之处,还望指正,谢谢

An interrupt is generally initiated by an I/Odevice, and causes the CPU to stop what it's doing, save its context, jump to the appropriate interrupt service routine, complete it, restore the context, and continue execution. For example, a serial device may assert the interrupt line and then place an interrupt vector number on the data bus. The CPU uses this to get the serial device interrupt service routine, which it then executes as above.
A trap is usually initiated by the CPU hardware. When ever the trap condition occurs (on arithmetic overflow, for example), the CPU stops what it's doing, saves the context, jumps to the appropriate trap routine, completes it, restores the context, and continues execution. For example, if overflow traps are enabled, adding two very large integers would cause the overflow bit to be set AND the overflow trap service routine to be initiated.
 
Read more: http://wiki.answers.com/Q/What_is_key_difference_between_a_trap_and_interrupt#ixzz1ctyEvxFy
 
 
Exceptions and interrupts are unexpected events that disrupt the normal flow of instruction execution. An exception is an unexpected event from within the processor. An interrupt is an unexpected event from outside the processor. You are to implement exception and interrupt handling in your multicycle CPU design.
分享到:
评论

相关推荐

    pSOS操作系统介绍.doc

    pSOSystem 操作系统 概述 pSOSystem 操作系统是一个高性能、高度模块化的实时操作系统,他完整的提供了基于开放系统标 准的多任务环境,被广泛应用于嵌入式微处理器程序开发。pSOSystem实时多任务操作系 统内核是以...

    LINUX的调度和时钟中断处理代码的分析

    根据操作系统课程设计指导书所提供的基础知识,分析文件kernel/sched.c 和include/asm-i386/spinlock.h 中关于Linux的调度和时钟中断的代码,了解一个LINUX操作系统的进程调度以及时钟中断的处理方式,得到相关的...

    12.提高时钟中断的频率 -改进目录结构.rar

    >my_interrupt.S————创建中断描述符 >my_interrupt.h————声明idt_inti函数 >main.c————调用 idt_inti 来创建idt、初始化8259A、开启中断;调用timer.S函数来提高时钟中断频率 >print.S————控制...

    helppc reference library

    BIOS开发和操作系统开发必读材料。 比如键盘控制器8042中寄存器(60h端口和64h端口)各个位的说明等。 由PC工业标准定义的从00h~FFh各个中断的说明。 C语言函数详细说明。 80X86架构介绍,保护模式编程介绍。 HelpPC...

    STM32关于GPIO、中断、SysTick以及串口通信的综合实验

    综合实验实验目的 考查学生综合运用知识的能力; 考查学生对于GPIO、中断、SysTick以及串口通信的运用; 考查学生对于嵌入式编程规范的使用。

    浅谈PCIe体系结构

    浅谈PCIe体系结构 浅谈PCIe体系结构 - 1 - 目录 - 1 - 第I篇PCI体系结构概述 - 1 - 第1章PCI总线的基本知识 - 3 - ...6.3.2 FSB Interrupt Message总线事务 - 168 - 6.4 小结 - 169 - 结束语 - 170 -

    MSP430学习笔记

    │ MSP430学习笔记系列3—MSP430中断、内嵌函数、时钟系统.pdf │ MSP430学习笔记系列4—MSP430定时器.pdf │ MSP430学习笔记系列5—USCI模块(串口-SPI-I2C).pdf │ MSP430学习笔记系列6—MSP430看门狗-低功耗工作...

    GD32F303_LIteOS_no_interrupt.rar

    使用GD32F303C_EVAL开发板移植的liteos,注意:使用的操作系统的软件中断,只有keil工程,有使用华为官方提供的代码测试OK

    操作系统名词解释1

    2、访管指令、陷入指令(Trap) 或 异常中断指令(Interrupt) :由于系统调用而引起处理器中断的指令 3、命令解释程序:接受和执行一条用户提出的对

    操作系统多线程与文件系统实现

    使用turbo c提供interrupt关键,在每次时间片中断函数时保存现场的功能实现函数之间的切换;加上TCB管理的结构体,实现线程调度。 物理文件的存储结构 引导块区 FAT区 i节点区 数据区 实现的命令集 命令名称 使用...

    哈工大操作系统实验2,回答5个问题

    3.当时钟中断发生,进入到 `timer_interrupt` 程序,请详细记录从任务 `0` 切换到任务 `1` 的过程。 4.又过了 `10ms` ,从任务1切换回到任务 `0` ,整个流程是怎样的? `TSS` 是如何变化的?各个寄存器的值是如何...

    OS:简单的操作系统程序,如引导加载程序、HelloWorld 内核、操作系统计算器、设备 IO、VGA、GDT、IDT、游戏等

    操作系统 简单的操作系统程序从汇编中的引导加载程序开始到 C 中的内核,以及其他程序,如操作系统计算器、低级图形等。 引导加载程序包含简单的 16 位和 32 位操作系统引导加载程序汇编程序。 内核包含用于简单 ...

    基于Linux内核的键盘模拟实现

    由于Linux内核作为系统最深层次的核心,因此外部的开发人员并不能直接对内核进行操作。然而在一些应用程序的开发过程中,又不得不使用内核的某些功能,因此就提供了一些外部接口供开发人员直接与底层内核打交道。 ...

    ToyOS:我的玩具操作系统

    玩具操作系统 这是我在NJU 2018SpringOS课程中构建的玩具OS。 我刚刚实现了内核模式。 注意力 任何人谁参加南京大学OS类不允许复制此代码,或者你有责任为剽窃。 但是,欢迎您与我讨论并参考我的代码。 模组 os :...

    实现类似Office助手的小精灵

    另外一个动画人物的Interrupt方法才能中断 。角色不能中断自身的动作,否则会导致异常。 Request1 := Robby.Play( reading ); Peedy.Interrupt(Request1); ---- ⑧Wait方法:在多个不同动画人物之间协调动画动作...

    龙芯3A处理器用户手册

    9.5.7 Interrupt Discovery & Configuration 63 9.5.8 POST地址窗口配置寄存器 63 9.5.9 可预取地址窗口配置寄存器 63 9.5.10 UNCACHE地址窗口配置寄存器 63 9.5.11 HyperTransport总线配置空间的访问方法 63 9.6 ...

    STM32F103C8T6模拟IIC控制4针0.96寸OLED显示屏已测

    系统启动后启动PVD,并开启相应的中断。  PWR_PVDLevelConfig(PWR_PVDLevel_2V8); // 设定监控阀值  PWR_PVDCmd(ENABLE); // 使能PVD  EXTI_StrucTInit(  EXTI_InitStructure.EXTI_Line = EXTI_...

    微软WinCE6.0认证技术专家(MCTS)中文资料

    ■ 自定义操作系统设计。 ■ 克隆 Windows Embedded CE 组件和管理编录项。 ■ 产生 Software Development Kit ( 软件开发包) (SDK). ■ 构建运行库映像和分析构建结果。 ■ 部署、监控、和优化运行库映像。 ■ 开发...

    基于51单片机的简易计数器

    基于单片机的简易计数器 ...void timer0_isr() interrupt 1 // 定时器0中断服务程序 { TH0 = 0x4C; // 重新赋值初值 TL0 = 0x00; if(count ) // 如果计数值未达到上限 { count++; // 计数器加1

    uboott移植实验手册及技术文档

    (1)修改中断禁止部分 # if defined(CONFIG_S3C2410) ldr r1, =0x7ff /*根据 2410 芯片手册,INTSUBMSK 有 11位可用 */ ldr r0, =INTSUBMSK Create PDF files without this message by purchasing novaPDF ...

Global site tag (gtag.js) - Google Analytics