段寄存器在实模式下和保护模式下的作用有什么不同
来源:互联网 发布:淘宝排名权重 编辑:程序博客网 时间:2024/04/30 14:03
先说点相关的:80x86中除8086/8088只能在实模式下工作之外,其他微处理器均可在实模式和保护模式下工作。
好了,从定义和区别开始吧。
先从实模式下入手:存储器地址的分段,实模式下允许的最大寻址空间为1MB(因为8086/8088地址总线宽度是20为 2^20=1048576=1024k=1M)其他的微处理器也为1M 实际上实模式就是为8086/8088而设计的工作方式,它要解决在16位字长的机器里怎么提供20位地址的问题,而解决的方法是采用存储器地址分段的方法。
机器规定:从0地址,每16个字节为一小段,而在1MB存储器里每个储存单元都有一个唯一的20为地址(物理地址)以便CPU访问存储器,所以这个20位物理地址只好由16位段地址和16位偏移地址组成,把段地址(因为是首地址,所以低四位全为0,只取高16位)左移4位再加上偏移地址值就形成物理地址,即16Dx段地址+偏移地址=物理地址(决定了唯一性)
从80826开始,就引出了保护模式,由于实模式只提供了1MB的寻址空间,不够用,而且随着多任务出现对寻址空间的要求越来越高,如80826就提供了16MB,80836就提供了达4GB的地址空间,而且虚拟存储器也能扩展空间,而保护模式寻址则对虚拟存储特性有很好的支持。
下面是保护模式和实模式的区别:
在实模式存储器寻址时,程序员只要在程序中给出存放在段寄存器中的段地址并在指令中给出偏移地址,机器就会自动用段地址左移四位加上偏移地址,求得物理地址,从而所要的储存单元的内容,因此,程序员在编程时并未直接指定所选存储单元的物理地址,而是给出了一个逻辑地址(即段地址:偏移地址),是机器自动用某种方法来取得所选的物理地址的。
好了,从定义和区别开始吧。
先从实模式下入手:存储器地址的分段,实模式下允许的最大寻址空间为1MB(因为8086/8088地址总线宽度是20为 2^20=1048576=1024k=1M)其他的微处理器也为1M 实际上实模式就是为8086/8088而设计的工作方式,它要解决在16位字长的机器里怎么提供20位地址的问题,而解决的方法是采用存储器地址分段的方法。
机器规定:从0地址,每16个字节为一小段,而在1MB存储器里每个储存单元都有一个唯一的20为地址(物理地址)以便CPU访问存储器,所以这个20位物理地址只好由16位段地址和16位偏移地址组成,把段地址(因为是首地址,所以低四位全为0,只取高16位)左移4位再加上偏移地址值就形成物理地址,即16Dx段地址+偏移地址=物理地址(决定了唯一性)
从80826开始,就引出了保护模式,由于实模式只提供了1MB的寻址空间,不够用,而且随着多任务出现对寻址空间的要求越来越高,如80826就提供了16MB,80836就提供了达4GB的地址空间,而且虚拟存储器也能扩展空间,而保护模式寻址则对虚拟存储特性有很好的支持。
下面是保护模式和实模式的区别:
在实模式存储器寻址时,程序员只要在程序中给出存放在段寄存器中的段地址并在指令中给出偏移地址,机器就会自动用段地址左移四位加上偏移地址,求得物理地址,从而所要的储存单元的内容,因此,程序员在编程时并未直接指定所选存储单元的物理地址,而是给出了一个逻辑地址(即段地址:偏移地址),是机器自动用某种方法来取得所选的物理地址的。
在保护模式寻址时,仍然要求程序员在程序中指定逻辑地址,只是机器采用了一种比较复杂或者说比较间接的方法来求得物理地址,因此,对程序员编程来说,并未增加复杂性。在保护模式下,逻辑地址是由选择器和偏移地址组成的,选择器存放在段寄存器中,但是并不能直接表示段地址(需地址转换),而是操作系统通过一定的方法取得段地址,再和偏移地址相加来表示物理地址,这个一个区别,另外一个区别:保护模式的偏移地址为32位长,最大段长可由64KB扩大到4GB。
0 0
- 段寄存器在实模式下和保护模式下的作用有什么不同
- Linux实模式与保护模式下的寄存器
- 保护模式下段基址和段界限在描述符中分开存放的原因
- 同一段C++在Linux和windows下编译后的可执行文件有什么不同?
- 保护模式下的段寄存器值转化为线性地址过程
- 保护模式下的段关系
- 处理器不同模式下寄存器
- ARM在不同模式下如何区别同名寄存器(如fiq模式下的R8_fiq与其他模式下的R8),从而访问不同的寄存器
- 内核基础 - 实模式与保护模式下的寄存器&计算机的启动过程(by quqi99)
- 一个操作系统的实现:关于保护模式和实模式的跳转和段描述符高速缓冲寄存器
- 一个操作系统的实现:关于保护模式和实模式的跳转和段描述符高速缓冲寄存器
- 实模式和保护模式下的地址计算方式
- 实模式和保护模式下的地址计算方式
- 80386在保护模式下的中断和异
- 80386在保护模式下的中断和异
- 80386在保护模式下的中断和异
- ARM 寄存器的在4种模式下的不同视图
- WINCE下内核模式和用户模式有什么区别?
- soc camera 子系统简介
- 亚马逊凭什么成为网络巨头
- go lang中的import
- NAND FLASH学习笔记之nand flash基础(三)
- 用手机控制的你的单反——DSLR Controller实测
- 段寄存器在实模式下和保护模式下的作用有什么不同
- cdn tair
- VC++多线程编程
- 互联网广告系统综述一生态圈
- 不注册COM组件直接调用接口
- linx ps aux显示的信息
- Android adb命令点亮屏幕说明
- 把窗体客户区图像保存到文件或剪切板
- Android 如何设置视频来电的默认铃声