
【計】 segment descriptor format
part; passage; sect; section; segment
【計】 segment
【醫】 piece; sectile; segment; segmentum
【計】 descriptor
form; pattern
【計】 format; format detail; formats
【化】 format
【經】 format; forms
段描述符(Segment Descriptor)是計算機體系結構中,特别是在x86架構的保護模式下,用于定義内存段屬性的關鍵數據結構。它存儲在全局描述符表(GDT)或局部描述符表(LDT)中,由段選擇子(Segment Selector)索引引用。以下從漢英對照角度詳細解釋其格式及含義:
下表分解段描述符的二進制布局(按Intel手冊标準):
比特位範圍 | 字段名稱(漢語) | 字段名稱(英語) | 功能說明 |
---|---|---|---|
0–15 (低16位) | 段界限低16位 | Limit (Low 16 bits) | 段界限的低16位,與高4位共同構成20位界限值。 |
16–31 | 基地址低16位 | Base Address (Low 16 bits) | 段基地址的低16位。 |
32–39 | 基地址中8位 | Base Address (Mid 8 bits) | 段基地址的中間8位。 |
40–47 | 訪問控制字節 | Access Byte | 包含段類型、特權級、存在位等關鍵屬性(詳見下表)。 |
48–51 | 段界限高4位 | Limit (High 4 bits) | 段界限的高4位,與低16位共同構成20位界限值。 |
52–55 | 标志位 | Flags | 包含粒度(Granularity)和默認操作大小(Default Operation Size)等。 |
56–63 | 基地址高8位 | Base Address (High 8 bits) | 段基地址的高8位。 |
訪問控制字節(40–47位)進一步拆分為以下字段:
比特位 | 字段名稱(漢語) | 字段名稱(英語) | 取值與含義 |
---|---|---|---|
40 | 訪問位 (A) | Accessed | 0=未訪問;1=已訪問(由CPU設置,表示段是否被訪問過)。 |
41 | 可讀/可寫位 (RW) | Readable/Writable | 代碼段:1=可讀;數據段:1=可寫。 |
42 | 擴展方向/一緻位 | Direction/Conforming | 數據段:1=向下擴展(棧段);代碼段:1=一緻段(允許低特權級調用)。 |
43 | 執行位 (E) | Executable | 0=數據段;1=代碼段。 |
44 | 描述符類型 (S) | Descriptor Type | 0=系統段(如TSS/LDT);1=代碼/數據段。 |
45–46 | 特權級 (DPL) | Descriptor Privilege Level | 00=最高(Ring 0);11=最低(Ring 3)。控制訪問該段所需CPU特權級。 |
47 | 存在位 (P) | Present | 0=段不在内存;1=段有效。若為0,訪問時觸發段異常(#NP)。 |
比特位 | 字段名稱(漢語) | 字段名稱(英語) | 含義 |
---|---|---|---|
52 | 保留位 | Reserved | 恒為0。 |
53 | 長模式位 (L) | Long Mode | 1=64位代碼段(僅IA-32e模式有效)。 |
54 | 默認操作大小 (D/B) | Default Operation Size | 代碼段:1=32位指令;0=16位指令。數據段:1=32位棧指針;0=16位棧指針。 |
55 | 粒度位 (G) | Granularity | 0=段界限以字節為單位;1=段界限以4KB為單位(界限值需左移12位)。 |
段基地址計算
Base = Base_High << 24 | Base_Mid << 16 | Base_Low
即基地址 = 高8位左移24位 + 中8位左移16位 + 低16位。
段界限計算
Limit = Limit_High << 16 | Limit_Low
若粒度位G=1,實際界限 = (Limit << 12) + 0xFFF
(擴展至4KB對齊)。
段實際大小
Limit + 1
字節(Limit << 12) + 0x1000
字節段描述符是x86保護模式的核心機制,通過GDT/LDT實現:
參考來源:
段描述符是x86架構中用于定義内存段屬性的數據結構,存儲在全局描述符表(GDT)或局部描述符表(LDT)中,每個描述符占8字節。其核心格式和字段含義如下:
段描述符由兩個32位雙字組成,主要包含以下字段:
基地址(Base)
段界限(Limit)
訪問控制字段
當S标志為1時,TYPE字段含義:
用于定義特殊系統結構:
假設描述符中Limit=0xFFFFF,G=1: $$ begin{aligned} text{實際界限} &= (0xFFFFF + 1) times 4096 - 1 &= 0x100000 times 0x1000 - 1 &= 4GB - 1 end{aligned} $$
以上内容綜合了多個權威來源,完整技術細節可參考博客園和CSDN相關文章()。
被侵占者避蚊霜傳感開關多級結構反洗封閉處理故障局部化記錄介質金屬蛋白基思氏低離子飲食計算幾何就地審計絕對最大值拘束的抗結劑勒文伯格氏管鍊間氫鍵臨界常數氯奎呂宋楸莢粉素皮克氏束憑時效取得去污層燃燒過程的控制忍無可忍弱相等喪失者燒結性設備控制特征抽取