電工學習網

 找回密碼
 立即注冊

實模式存儲器尋址

2015-3-22 09:20| 編輯:電工學習網| 查看: 3479| 評論: 0

摘要: 80x86中除8086/8088只能在實模式下工作外,其他微處理器均可在實模式或保護模式下工作。實模式就是為8086/8088而設計的工作方式,實模式下允許的最大尋址空間為1MB。它要解決在16位字長的機器里怎么提供20位地址的問 ...
   80x86中除8086/8088只能在實模式下工作外,其他微處理器均可在實模式或保護模式下工作。實模式就是為8086/8088而設計的工作方式,實模式下允許的最大尋址空間為1MB。它要解決在16位字長的機器里怎么提供20位地址的問題,而解決的辦法是采用存儲器地址分段的方法。

    1.存儲器地址的分段

    段:程序員在編制程序時要把存儲器劃分成段,在每個段內地址空間是線性增長的。段的最大長度為64KB,以便能用16位二進制數表示段內地址。

    小段:從0地址開始,每16字節為一小段。小段的首地址用16進制數表示時其最低位為0。

    段的起始地址:段不能起始于任意地址,而必須從任一小段(paragraph)的首地址開始。

    物理地址、段地址、偏移地址

    1.物理地址(PA):在1MB的存儲器里,每一個存儲單元都有一個唯一的20位地址,稱為該存儲單元的物理地址(20位)。20位物理地址由16位段地址和16位偏移地址組成。

    2.段地址:段起始地址的高16位值(16位),低4位固定為0被省去。

    3.偏移地址(偏移量EA):指在段內相對于段起始地址的偏移值(16位)。

    4.物理地址 = 段地址×10H + 偏移地址。用段地址:偏移地址表示。

    2.段寄存器

    段寄存器:在8086~80286中,有4個專門存放段地址的寄存器。

    代碼段CS:存放當前正在運行的程序。

    數據段DS:存放當前運行程序所用的數據。

    堆棧段SS:定義堆棧的所在區域。

    附加段ES:附加的數據段。在80386及其后又增加了FS和GS兩個附加數據段寄存器。

    除非專門指定,一般情況下,各段在存儲器中的分配是由操作系統負責的。而且允許段重疊。如果段超過64KB則將其作為2個以上的段,并動態修改段地址。

    3.保護模式存儲器尋址

    從80286起,就引出了保護模式的存儲器尋址,其直接原因:首先是實模式的尋址空間為1MB,這不能滿足80286的16MB和80386等的4GB或更多的地址空間尋址。其次是為了使微機系統能支持多任務處理。在系統支持多任務功能的同時,系統也支持了虛擬存儲器特性。

    1)邏輯地址

    在實模式下邏輯地址即為段地址:偏移地址。物理地址 = 段地址×10H + 偏移地址

    在保護模式下邏輯地址則由選擇器和偏移地址兩部分組成。選擇器存放在段寄存器中,但它不能直接表示段基地址,而由操作系統通過一定的方法取得段基地址,再和偏移地址相加,從而求得所選存儲單元的物理地址。

    2)描述符

    描述符用來描述段的大小、段在存儲器中的位置及其控制和狀態信息,它由基地址、界限、訪問權和附加字段四部分組成。描述符的內容是由系統設置的,而不是由用戶建立的。

    基地址(base)部分用來指定段的起始地址;

    界限(limit)部分存放著該段的段長度;

    訪問權(access rights)部分用來說明該段在系統中的功能,并給出該段的一些控制信息;

    附加字段部分在386及其后繼機型中存在,它用來表示該段的一些屬性。

    系統按選擇器的內容,根據指定的途徑可以找到所選段對應的描述符,從而可以根據其給出的基地址和界限值,確定所要找的存儲單元所在的段,再加上邏輯地址中指定的偏移地址,就可以找到相應的存儲單元。

看過《實模式存儲器尋址》的人還看了以下文章:

發表評論

最新評論

|電工學習網 ( )

GMT+8, 2020-2-29 17:53

Powered by © 2011-2020 www.jeefkt.live 版權所有 免責聲明 不良信息舉報

技術驅動未來! 電工學習網—專業電工基礎知識電工技術學習網站。

欄目導航: 工控家園 | 三菱plc | 西門子plc | 歐姆龍plc | plc視頻教程

返回頂部
黑龙江快乐10分开奖查询 股市行情分析软件 10倍杠杆配资 配股对股价的影响 美牛配资 钱生钱的三大秘诀 外汇鑫东财配资 上海股指期货配资 私募基金配资是什么 基金配资业务 好用的股票配资平台 全部股票价格查询 单支股票融资比例 联美配资 股票涨跌免费预测 谁有好股票推荐 股票讲座