第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构
2.1 计算机系统的概述计算机系统包括硬件与软件两部分一、计算机硬件二、计算机软件
2.1.1 硬件硬件是指计算机的物理实体 (如 CPU,显卡等 )
我们在这里将它分为微处理器,存储器,接口电路,
外部设备和系统总线等。 (如左图所示 )
微处理器就是由控制器和算术逻辑部件组成的中央处理器 (即 CPU)。它的作用是自动地执行各条指令,协调整个系统的工作。
存储器是计算机的记忆装置,用于存储计算机当前的数据和程序,我们通常接触的是 RAM,它是一种随机存取存储器,它的数据在重启或关机后会丢失,而且在计算机运行时还需不断刷新 。
系统总线是将 CPU与存储器及外部设备连接起来的导体,它用来传输信息。
第一章 基础知识第二章 计算机组织结构
2.1.1 硬 件外部设备按功能可分为二类,一类是与计算机进行通讯的设备如键盘,打印机和显示器等。这些设备与计算机的通讯是通过 I/O接口实现的。另一类是用来存储信息的设备如磁盘,光盘等。
第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构
151631
第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构
15
第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构机器规定:从 0地址开始,每 16个字节为一小段。
段地址的选取不是任意的,计算机规定,20位二进制的地址值中,只有低 4位地址值为 0的地址才能作为段地址使用。在 1M空间中,可以有以下的地址作为段地址使用:
00000H
00010H
……
41230H
41240H
……
FFFE0H
FFFF0H
很明显,共有 64K个小段的首地址。
第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构
16
第一章 基础知识第二章 计算机组织结构
80386的地址总线扩展到了 32位,可寻址空间一下扩充为 4G,更为先进的是在保护模式下,它的段范围不再受限于可怜的 64K,可以达到
4k-4G。
保护模式和实模式好比一对孪生兄弟,从程序角度来看几乎看不出什么区别,它们都是通过段寄存器去访问内存地址,都通过中断和设备驱动程序来操作硬件,表面上能感觉得到的差异就是保护模式能访问的空间是 4G,而实模式只能访问到 1M的地址空间。
但实际上保护模式和实模式采用了两种截然不同的思路,保护模式带来的最可贵的优点不是单纯的扩大了内存寻址范围,而是对内存寻址从机制上提供了保护,将系统的执行空间按权限进行了化分 。
第一章 基础知识第二章 计算机组织结构为什么需要保护?
如今的系统需要支持多个用户同时运行多个任务。为了防止你去破坏别人的任务,系统有责任将每个任务隔离开来,让大家各自运行在不同的空间,免收干扰。这就是保护的第一个方面 —— 任务间保护,要做到任务间保护需要借助虚拟内存技术(我们后面分析它),其基础之一就是保护模式。
除了任务间保护外,另一个必须保护的东西就是操作系统本身,
它可是资源调配的首脑呀!决不能让你有机可承,擅自进入。必须有一道铁丝网,将你和操作系统隔离开,要想拉起这道铁丝网,就需要借助保护模式中的特权级机制。操作系统放在高特权级里,你的任务被放在低特权级里。你没有权利去偷看操作系统的内容。有什么要求只能请示“领导”(就是保护机制),获得拼准后才能给你提供服务。这点可谓是保护模式的最直接应用。
第一章 基础知识第二章 计算机组织结构我们知道段方式寻址时,是直接从段寄存器中取得的段的首地址,但是在保护模式中是要多经过一次检查手续才能获得想要的段地址。
虽然 80386有的通用寄存器( EAX,EDI等等)被扩充倒了 32位,但是其中的段寄存器( DS,ES等)仍然只有 16位,显然不可能再用 16位的段寄存器直接存放 4G空间需要的 32位地址了,所以必须引入了一种间接办法 —
— 将段寄存器存放的地址换成一个索引指针,寻址时不再是从段寄存器种去地址,而是先取指针,再通过该指针搜索一个系统维护的“查找表”
读出所需段的具体信息。
保护模式中,对段的处理,不再简简单单是 16位的段了,而是 16位的段选择符,要到 GDT或者 LDT中去查找段的位置。用于定义内存段的表有两种:全局描述符表 (GDT)和局部描述符表 (LDT)。 GDT是一个段描述符数组,其中包含所有应用程序都可以使用的基本描述符。在实模式中,
段长是固定的 (为 64KB),而在保护模式中,段长是可变的,其最大可达
4GB。 LDT也是段描述符的一个数组。与 GDT不同,LDT是一个段,其中存放的是局部的、不需要全局共享的段描述符。
第一章 基础知识第二章 计算机组织结构每一个操作系统都必须定义一个 GDT,而每一个正在运行的任务都会有一个相应的 LDT。每一个描述符的长度是 8个字节,格式如下图所示。
GDT和 LDT是在内存中的,由 OS设置。
第一章 基础知识第二章 计算机组织结构第一章 基础知识第二章 计算机组织结构