1.计算机概述(构成、指令、中断)

时间:5个小时

目标:复习第一节、生成笔记

深度:理解复述、以 PPT 笔记为主,结合课本速通

工具:4.0、课本、PPT

课程学习深度

eg.1000100 表示+,其他不用管

1. 计算机体系结构

   OS 向应用程序提供的接口   系统调用(应用要实现该功能需要该接口)

●   扩充:API 和系统调用的联系和区别

①二者都是软件组件之间的接口

API 用于任何软件组件之间的交互,系统调用特指应用程序与操作系统之间的交互

API 和系统调用都是为了实现软件组件之间的交互而设计的,二者都为软件组件提供了一个接 O,   使得一个组件可以与另一个组件交互

    如果说某个功能是硬件实现的,则说明该功能的实现是由底层物理电路结构决定的

    如果说某个功能是软件实现的,则说明该功能是由程序员通过指令编程实现。

    没有 OS,  计算机所暴露的是指令系统

    X86 向后兼容

●    一条质量完不成复杂的工作,诞生了,应用程序

P 问题:算法问题=>多项式=>+*/%

NP 问题:可能不能快速地找到一个解,但如果给我们一个潜在的解,我们可以在多项式时间内验证 它是否正确。  (经常说算力不够)

2. 计算机的基本构成

●   外设和外围设备知道不是一个东西,CPU 直接控制外设,外设控制外围设备

●   计算机要显示东西=>CPU 控制显卡=>显卡控制显示器呈现(显示器上灯泡怎么亮) CPU->存储器+I/O设备(->外围设备)

●  

●   PC 寄存器:保存下一条指令的地址

●   IR (通用叫法):保存当前即将执行的指令

   寄存器存储效率非常高

●   执行单元核心是运算器(算术逻辑单元:算术运输、逻辑运算)

    FPC IR  CPU 中特殊的寄存器

   现在一般是64位寄存器

   “外设指的是控制器,外围设备受外设控制”时,这实际上是一个简化的描述。更准确地说,外围设 备是实际执行任务的设备(如显示、打印、存储等),而控制器是负责管理这些设备与计算机主系统 之间通信的硬件接口。

   CPU 视角不同I/O

●   l/0模块是一个一个端口,主存是一个一个内存单元。(端口的结构与内存类似)

●   所有外设的寄存器映射为端口,并进行统  的编址。(CPU过I/O端口)

●   显卡有显存

3.   

  +

  16

  

  地址反映内存大小

 

  

从高往低读取

①  PC:300>1940、1—  存入 AC、940->0003、AC(0003)

 PC(302)->5942、5—相加、942->0002、AC(00o5)

  PC(304)->2942、2—   写入、942(05)943(00)

  指令的分类:

①  访存指令:在 CPU 和内存之间进行数据传递。

②  1/0指令:在 CPU 和1/0设备之间进行数据传递。

③  数据处理指令:进行数据计算

④  控制指令:进行一些控制工作,例如跳转指令,可以改变 PC 寄存器的值从而实现跳转。

   程序=指令+数据(指令操作的对象)

●   I/O

①  程序在运行前需要通过输入设备将程序的指令和数据载入到内存中。

②  程序在运行中有时也需要利用输入设备从外部读取数据。

③  程序在运行中有时需要通过输出设备将数据写入外部,例如显示器、磁盘等。

●   程序在进行计算时 CPU 在工作。程序在进行I/O时,CPU 处于空闲状态,相应的I/O控制器在工作。

   程序执行时,不断地I/O与计算交互

●   I/O ,CPU 是空闲的->中断

4. 中断

●   中断技术允许其他模块(如1/0 设备)中断处理器的正常处理过程。

●   

●   

   为什么要使用中断

 程序进行I/OCPU处于空闲状态

 CPU 需要不断读取I/O状态,以判断I/O是否结束,无法执行程序的其它指令,程序执行的效率低

●   目标:程序在进入I/O阶段后, CPU 执行程序的其它指令。

●   问题:若 CPU 在程序I/O时执行其它指令,如何判断I/O是否结束? 

   作用:

①  当I/O结束后,I/O控制器向 CPU 发送中断信号通知CPU。

②  CPU 收到中断信号后中断当前执行的指令,转而去进行中断处理(执行1/0之后的必要指令)。 

③  当中断处理结束后进行中断返回,继续执行之前中断的指令。

  中断机制是由硬件提供的,OS 只能使用

  为了实现中断,需要硬件具备以下几个功能: 

1、处理器能够接收中断信号

2、为了中断当前执行的程序,处理器必须能够保存现场。在中断处理结束后能炼复现场继续执行 被中断的程序。

3、处理器在发生中断时能够正确的定位到处理中断的程序(中断处理器或中断处理例程)

子问题:由于不同中断的处理程序是不同的,因此处理器必须能够对接收的中断进行区分,并准 确定位到相应的处理程序。

  1、 接受中断信号

指令的执行周期添加一个新的步骤:检查中断

  2、 保持现场、恢复现场

为处理器添加 一个新的寄存器,栈指针寄存器 (SP)  。该寄存器保存栈顶的地址。

保存现场(添加新的硬件功能,使其在发生中断时能够自动的将PC寄存器的内容压入栈顶并将PC存器设置为中断处理程序第一条指令所在内存单元的地址。)

恢复现场 (设计一条新的指令,该指令实现的功能是将栈顶内容出栈并存至PC 寄存器、将该条指令设置为每个中断处理程序的最后一条指令)

  

  简单中断流程:

(硬件软件

系统硬件产生中断->处理器结束当前指令>处理器发生中的应答信号>处理器把 PC (和 PSW 即当前运行进  程状态信息等,最少二者)和压入控制栈>根据中断,处理器加载新PC值>保存剩余的处理状态信息->处理中断->恢复处理状态信息->恢复I旧 PSW 和 PC)

中断产生->中断当前指令>压栈>查中断表加载新 PC值->处理中断->恢复现场

Eg.

区分中断、定位处理程序:

① 为中断编号,发送给处理器的中断请求都包含一个id, 用以区分中断的类型。

②  将各中断处理程序的首地址存放到中断向量表(一个数组)中,并按照编号进行排列。 

③  在处理器中增加一个新的寄存器,用于存放中断向量表的首地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值