第一章 概述.

Slides:



Advertisements
Similar presentations
定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
Advertisements

图说 毕业生档案 学生工作部 2016 年 5 月. 毕业生档案 毕业前 文字记载 书面材料 家庭情况政治思想 身体状况学习成绩 高校毕业前文字记载的书面材料 用人单位选拔、聘用毕业生的重 要人事依据 工作后人事档案的基础和雏形 什么是毕业生档案?
《单片机原理及应用》 《微型计算机原理及接口技术 》 授课专业:测控13级 授课学时: 78 学时 理论教学:52学 实验教学:26学时
南宁市中小学生学籍信息化管理系统 用户培训手册
近年来,出现了一些制作粗糙、违背史实甚至常理的“抗战雷剧”,社会上也出现了一股“戏说”抗战剧的不良风气。
南京市中等职业学校 2013级人才培养方案 编制说明.
浪漫 碰撞 蜕变 专题八 19世纪以来的文学艺术.
德国波恩明斯特广场修建的贝多芬铜像( 1845年)
第2章 微处理器 2.1 概述 /8086微处理器 微处理器 X86/Pentium微处理器
岡山區103年第12次 登革熱聯繫會報會議 岡山區公所 103年12月30日 1.
输入输出程序设计 输入输出的基本概念 无条件方式输入输出 查询方式输入输出 中断方式输入输出.
教育部補助計畫經費動支應行注意事項 報告單位:主 計 室 104年10月.
第3章 奔腾系列微处理器.
第九章日治時期的台灣(下).
农事学实践教程 主讲:XXXX 作物繁种技术.
第8章 机床操作 主讲:臧红彬 博士.
第七章 异常控制流 CPU控制流的概念 进程上下文切换 异常和中断的基本概念 异常和中断的响应和处理
网络游戏对大学生生活的影响 英本1班 鞠申镅 汪晨茹 沈秋云 元文杰 段祺琪.
第六章 补间动画 主讲人:马 震 人民邮电出版社.
第七章 控制器 7.1 控制器的组成及指令的执行 7.2 控制方式和时序的产生 7.3 微程序控制器 7.4 微程序控制器及其微程序设计举例
第二章 信息的获取 2.1 获取信息的过程与方法.
寫 作 教 學 6 電腦與我 時代改變,科技進步,電腦成為日常生活不可或缺的設備。我是二十一世紀的E世代少年,一隻滑鼠在手,樂趣無窮。
作業系統的結構 日期 : 2018/9/17.
第5章 输入输出与接口技术.
尋找世界文明的曙光 美索不達米亞 將地方圖案插入此投影片 選取〔插入〕功能表 〔圖片〕指令 選取〔從檔案〕指令 選取你的標幟圖片檔案
第8章 现代微型计算机 x86系列微处理器 8.2 微型计算机体系结构 8.3 存储管理技术 8.4 多任务管理与I/O管理
第7章 中斷系統.
3.3.5 程序控制指令 控制转移指令分为: 转移指令 循环控制指令 调用和返回指令 中断指令.
第7章 中断与异常.
汇编语言程序设计 Assembly Language Programming
微机原理与接口技术 第2章 8086系统结构 朱华贵 2015年09月17日.
复 习 一. 计算机中的数和编码 1. 2,10,16进制数及其之间的转换(整数) 按权展开,除x取余 2
输入输出与中断 主要内容 CPU与外设之间数据传送方式 中断技术 8086中断系统和中断处理.
第2章 16位和32位微处理器 位微处理器8086/ 位微处理器80386
第5章 输入输出与接口技术.
第八章 输入输出程序设计 总线 CPU MEM I/O接口 I/O设备.
微机原理及应用 主讲:郑海春.
第一章 8086程序设计 第二章 MCS-51程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口
单片机原理 单 片 机 单片机接口技术 单片机应用技术.
操作系统实验 lab1-系统引导
第二章 8086/8088系统结构 主要内容 8086/8088微处理器的内部结构 8086/8088 CPU 的引脚与功能
校 園 雲端輸出管理系統 新印科技股份有限公司 聯絡人:伍宏一 電 話: /
1.3 微型计算机的结构和工作原理.
第 13 章 中断系统.
第五章 中断与异常 中断的基本知识 中断描述符表的初始化 中断处理 中断的下半部处理机制 中断的应用-时钟中断.
本 章 重 点 单片机的结构特点 单片机的存储器特点 I/O端口的特点 CPU时序 课时安排:3个课时.
第6章作业 3、 需要128块芯片 片内译码地址线:10条 片选择地址线:至少4条
4.1 汇编语言程序格式 4.2 MASM中的表达式 4.3 伪指令语句 4.4 DOS系统功能调用和BIOS中断调用
第五章:输入输出基本技术 主讲教师:范新民.
第三冊第十四課記承天夜遊 王永榮 將地方圖案插入此投影片 選取〔插入〕功能表 〔圖片〕指令 選取〔從檔案〕指令 選取你的標幟圖片檔案
第二章 8086微处理器. 第二章 8086微处理器 微处理器的基本结构 8086微处理器的主要特性和内部结构 8086CPU的工作模式和引脚信号 8086的存储器管理 8086的总线操作和时序.
作業系統 第三章 作業系統結構.
微机原理与接口技术 西安邮电大学计算机学院 王忠民.
教育部補助計畫經費動支應行注意事項 報告單位:主 計 室 107年11月6日.
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
第2章 80x86计算机组织  计算机系统  存储器  中央处理机  外部设备.
作業系統 第十四章 輸出輸入系統.
第八章 中断系统.
第五讲:AT89C51单片机存储器结构 一、半导体存储器 二、存储器空间划分方法 三、数据存储器(RAM) 四、程序存储器(ROM)
微型计算机原理与接口技术 (第2版) 赵宏伟 于秀峰 黄永平 秦贵和 北京:科学出版社 出版 吉林大学计算机科学与技术学院 制作.
第三章 计算机系统的组成与工作原理.
实验三 键盘软加锁实验 2019/5/9.
第12章 中断 罗文坚 中国科大 计算机学院
2015年雪佛兰经销商7-8月夏季市场活动激励政策 执行手册及模板
售后培训系列之V9系统中心安装 SecManage 网安事业部 广州售后-王长绪.
微机原理与接口技术 西安邮电大学计算机学院 王 莹.
第二章 8086系统结构 /8086的存储器组织 的系统配置及引脚功能 CPU时序
第三章 半导体存储器及其接口 第一节 概述 第二节 半导体存储器 第三节 半导体存储器与CPU接口 一、存储器的分类
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
微型计算机系统.
Presentation transcript:

第一章 概述

提纲 80386保护模式简介 Bochs简介 实验环境的搭建

80386保护模式简介 回顾实模式 实模式下的寄存器集合 寻址空间与寻址方式 通用寄存器 段寄存器 状态和控制寄存器 寻址空间 实际物理地址 = (段寄存器 << 4) + 偏移地址 MOV AX,ES:[1200H] CS=0x0000: IP=0x7c00 和CS=0x0700: IP=0x0c00 以及 CS=0x07c0: IP=0x0000所寻址的地址是完全相同的!

80386保护模式简介(续) 回顾实模式 实模式下的中断 中断向量表存放在物理内存开始的位置(0x0000---0x03ff) 总共最多可以有256个中断向量 00h---04h 号中断向量为系统专用 08h---0fh 硬件中断(8259A使用) 10h---1fh BIOS使用 20h---3fh DOS使用 如常用的 int 21h 40h---ffh 用户使用

80386保护模式简介(续) 一个实模式下用户程序的例子 各个段在物理上必须是连续的 装载程序在将程序装入时需要按照具体的装载位置设置CS、DS、SS

80386保护模式简介(续) 实模式系统存在的问题 安全性问题 分段机制本身的问题 程序采用物理地址来实现访存功能,而无法实现对任务的代码和数据的保护 一个程序可以通过改变段寄存器和偏移寄存器修改不属于自己的代码或者数据,甚至操作系统 分段机制本身的问题 段必须是连续的,从而无法利用零碎的空间 段的大小有限制,从而限制了代码的规模

80386保护模式简介(续) 保护模式带来的变化 保护模式下的寄存器 通用寄存器(从16位扩展到32位) 段寄存器(维持16位) EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP 段寄存器(维持16位) CS、DS、SS、ES、FS、GS 状态和控制寄存器(32位) EFLAGS、EIP、CR0、CR1、CR2、CR3 系统地址寄存器 GDTR、IDTR、TR、LDTR 调试与测试寄存器

80386保护模式简介(续) 8086的寄存器 80386的寄存器 通用寄存器 段寄存器 段描述符寄存器 状态和控制寄存器 系统地址寄存器 AX、BX、CX、DX、SP、BP、DI、SI EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP 段寄存器 CS、DS、SS、ES CS、DS、SS、ES、FS、GS 段描述符寄存器 无 对程序员不可见 状态和控制寄存器 FLAGS 、IP EFLAGS、EIP、CR0、CR1、CR2、CR3 系统地址寄存器 GDTR、IDTR、TR、LDTR 调试寄存器 DR0--DR7 测试寄存器 TR0--TR7

80386保护模式简介(续) 寻址方式的变化 在保护模式下,分段机制是利用一个称作段选择子的偏移量到全局描述符表中找到需要的段描述符,而这个段描述符中就存放着真正的段的物理首地址,然后再加上偏移地址量便得到了最后的物理地址。 一般保护模式段式寻址可用xxxx:yyyyyyyy表示。其中xxxx表示索引,也就是段选择子,是16位的;yyyyyyyy是偏移量,是32位的。 段选择子(xxxx)为段寄存器,如CS、DS、SS、ES、FS、GS;偏移量(yyyyyyyy)是一个32位寄存器,如ESI、EDI、EBP、ESP。

80386保护模式简介(续) 80386以及以后的处理器专门设计了一个寄存器GDTR(Global Descriptor Table Register),专门用于存储全局描述符表在内存中存放的位置。

80386保护模式简介(续) 段描述符 段基址为2,3,4,7字节,共32位。 段限长为0,1以及6字节的低四位,共20位,段限长即段最大长度,与属性G共同确定。G = 0时描述符中的20位段限长为实际段限长,最大限长为1MB(0-FFFFFh)。G = 1则 32位段限长为描述符中的20位乘以4KB,即段限长左移 12位后加上FFFH,最大限长为 4GB。 段描述符 每个描述符为8个字节(8×8=64位) 代码段和数据段的描述符

80386保护模式简介(续) 段描述符的属性 D/B:对于不同类型段含义不同。 在可执行代码段中,这一位叫做D位,D = 1使用32位地址和32/8位操作数,D = 0使用16位地址和16/8位操作数。 在向下扩展的数据段中,这一位叫做B位,B = 1段的上界为4GB,B = 0段的上界为64KB。 在描述堆栈段的描述符中,这一位叫做B位,B = 1使用32位操作数,堆栈指针用ESP,B = 0使用16位操作数,堆栈指针用SP。 AVL:Available and Reserved Bit,通常设为0。 P:存在位,P = 1表示段在内存中。 DPL:描述符特权级,取值0 ~ 3共4级。0特权级为最高,而3特权级为最低,表示访问该段时CPU所需处于的最低特权级,我们在后面会详细讨论特权级的问题。 S:描述符类型标志,S = 1表示代码段或者数据段;S = 0表示系统段(TSS、LDT)和门描述符。

80386保护模式简介(续) 描述符类型 TYPE和S结合使用,可以表示的描述符类型有:代码段、数据段、TSS、LDT、中断门(Interrupt Gate)、陷阱门(Trap Gate)、调用门(Call Gate)、任务门(Task Gate)。 当S = 1,TYPE < 8时 当S = 1,TYPE < 8时 TYPE 说明 十进制值 C R A 代码段 8 1 只执行 9 只执行,已访问 10 执行/读 11 执行/读,已访问 12 只执行,一致 13 只执行,一致,已访问 14 执行/读,一致 15 执行/读,一致,已访问 TYPE 说明 十进制值 E W A 数据段 只读 1 只读,已访问 2 读/写 3 读/写,已访问 4 只读,向下扩展 5 只读,向下扩展,已访问 6 读/写,向下扩展 7 读/写,向下扩展,已访问

80386保护模式简介(续) Hello world在实模式下的实现 Hello world在保护模式下的实现

80386保护模式简介(续) 保护模式下的中断管理 在保护模式中,中断的类型可以分为两种。一种是硬件中断(Interrupts),一种是软件中断(Exceptions),又称为异常。 其中硬件中断在系统中是由外部事件所引起的,如:一次I/O操作的结束。其产生与CPU当前所执行的指令没有关系。从是否能够被屏蔽来划分,可将其分为两类:可屏蔽中断与不可屏蔽中断。其中前者由CPU的INTR引脚接收信号,后者由NMI引脚接收信号。 我们可以通过CLI和STI指令来设置EFLAGS寄存器的IF位,如果这一位被清除,则CPU会禁止外部中断传递信号给INTR引脚,这样便屏蔽了可屏蔽中断,但是这对于NMI引脚不起作用,因此无法屏蔽不可屏蔽中断。 异常是在CPU执行指令期间遇到非法指令所产生的,根据是由是否可恢复和恢复点位置不同又可将异常划分为三种。它们是故障(Fault),陷阱(Trap)和中止(Abort)。 在保护模式下中断向量表的基地址存放在IDTR寄存器中;

80386保护模式简介(续) 安全性问题 x86平台CPU有0、1、2、3四个特权级,其中level0是最高的特权级,可以执行所有指令; 而level3则是最低的特权级,只能执行算术逻辑指令,很多特殊的操作(如CPU模式转换以及I/O操作指令)都不能在这个级别下进行。 现代操作系统在实际中往往只需使用到level0和level3两个特权级,具体的就是操作系统内核运行时系统处于level0(即CS寄存器的末两位为00),而用户程序运行是系统是处于level3的(即CS的末两位为11)。 将在第五章进行详细讲述。

Bochs简介 VMWare虚拟机系统(RHEL5.1 i386 Server)的安装、Bochs系统(bochs-20090704)的安装; 认识配置文件中参数的使用; 几个使用Bochs使用系统的例子。

Bochs简介(续) 利用Bochs做系统调试 常用调试命令 断点设置命令 c/continue 表示继续执行 s/step/stepi [count] 表示继续执行count条指令,如果没有设定count的值,则执行一条指令 Ctrl-C 停止执行,返回命令行 Ctrl-D 如果命令行此时是空的则退出Bochs模拟 q/quit/exit 退出调试和执行 断点设置命令 vb/vbreak seg:off 用虚拟地址来设置断点,其中seg表示段基址,而off是偏移地址 lb/lbreak addr 用线性地址来设置断点,addr表示线性地址 b/break/pb/pbreak addr 用物理地址来设置断点,addr表示物理地址

Bochs简介(续) 利用Bochs做系统调试 查看内存命令 查看信息的命令 x [/nuf] addr 查看当前内存某个地址的内容,其中addr代表线性地址 查看信息的命令 r/reg/regs/registers 列出CPU的所有寄存器以及它们的当前值 fp/fpu 列出所有FPU寄存器和他们的当前值 mmx 列出所有MMX寄存器和他们的当前值 sse 列出所有SSE寄存器和他们的当前值 sreg 显示段寄存器以及它们的内容 creg 显示控制寄存器以及它们的内容 info cpu 列出所有CPU寄存器和他们的当前值 info eflags 显示eflags寄存器的内容 info break 显示当前的断点信息

本章结束