国产内射大片99,欧美丰满熟妇xxxx,bt天堂在线www中文,男人扒开女人的腿做爽爽视频,亚洲av影院一区二区三区

知名百科  > 所屬分類  >  其他科技   

邏輯地址

邏輯地址也稱為相對地址,是編譯器根據(jù)規(guī)則生成的程序的內(nèi)部地址,在加載或執(zhí)行時通過地址映射將其轉(zhuǎn)換為物理內(nèi)存地址。邏輯地址分為兩部分:段基址和偏移量。在16位地址空間中,這兩個值的范圍是從0到0~FFFFH。最初,計算機的邏輯地址與物理地址相同。20世紀60年代以后,隨著多程序的廣泛應(yīng)用,為了防止一個程序的修改和更改影響其他程序,出現(xiàn)了基地址的方法,邏輯地址和物理地址不再一致。當(dāng)計算機處理源程序時,它必須經(jīng)歷編譯、鏈接、加載和運行等步驟。在這個過程中,需要生成一個邏輯地址,并實現(xiàn)從邏輯地址到物理地址的映射過程,從而將用戶源程序轉(zhuǎn)換為可在內(nèi)存中執(zhí)行的程序。其中,需要尋址,并且已經(jīng)開發(fā)了各種尋址方法。在地址映射的過程中,邏輯地址還涉及存儲管理系統(tǒng)中的各種管理方法。

在現(xiàn)代計算機系統(tǒng)中,邏輯地址在許多方面都起著重要作用,例如閃存管理和實驗數(shù)據(jù)提取。與邏輯地址相關(guān)的概念還包括物理地址、虛擬地址和線性地址。這些地址類型在計算機系統(tǒng)中都起著重要的作用,它們共同支持程序的運行和內(nèi)存的有效管理。

目錄

概念定義 編輯本段

存儲單元的真實地址稱為物理地址,它是可識別的、實際存在的和可尋址的。物理地址是一個20位的數(shù)字,它定義了空間中的每個內(nèi)存位置。在微處理器中,物理地址以段基和段基偏移量的形式出現(xiàn)。

在編程中,很難確定物理地址,因此采用邏輯地址。邏輯地址不需要預(yù)生成代碼在內(nèi)存中的具體位置,只需給出一個標簽作為邏輯地址即可。程序輸入計算機后,由機器自動轉(zhuǎn)換成物理地址。在邏輯地址中,段基址是段寄存器(CS、ss、DS或ES)中的值,偏移量存儲在通用寄存器中,以此基址為參考。在16位地址空間中,這兩個值必須在0到65535(FFFFH)的范圍內(nèi)。

發(fā)展歷史 編輯本段

早期計算機系統(tǒng)

在原始計算機中,程序員編譯的用戶程序和數(shù)據(jù)在主存中的存儲位置由程序員確定和指示,它們的邏輯地址與主存的實際地址相同,由邏輯地址組成的邏輯地址空間(程序空間)與主存的實際地址組成的物理地址空間(實際內(nèi)存空間)相同。

匯編程序和編譯器的出現(xiàn)

隨著匯編程序、編譯程序和操作系統(tǒng)的出現(xiàn),主存中至少有兩個程序,即系統(tǒng)程序和用戶程序。此時,源程序不是由機器指令代碼和主存儲器中的指令和數(shù)據(jù)尋址的,而是由運算符、符號、標量和數(shù)據(jù)描述編寫的。這些符號形成的空間稱為符號命名空間或命名空間。機器通過編譯程序來處理源程序。在這個階段,命名空間不會直接轉(zhuǎn)換為物理地址空間,而只是轉(zhuǎn)換為邏輯地址空間,即編譯后的輸出是從零地址開始尋址的目標程序,然后加載程序?qū)⒛繕顺绦虻倪壿嫷刂房臻g轉(zhuǎn)換為目標程序的物理地址空間來執(zhí)行程序的定位。在多道程序系統(tǒng)中,多個用戶作業(yè)同時存儲在主存中。每次轉(zhuǎn)入運行時,操作系統(tǒng)都會根據(jù)主存的使用情況為用戶分配主存空間,用戶程序中使用的地址是邏輯地址。

多道程序系統(tǒng)的發(fā)展

20世紀60年代初,隨著多程序的廣泛應(yīng)用,一個程序可能被多個用戶程序共享。此時修改指令地址碼不方便。例如,當(dāng)用戶程序調(diào)用此程序修改地址碼時,如果地址碼糾正錯誤,不僅會影響此程序,還會使其他程序出錯。這種指令(包括地址碼)允許修改,阻礙了程序重入的實現(xiàn),不利于診斷和程序調(diào)試,給采用重疊和流水線技術(shù)帶來困難。

引入基址尋址和保護機制

20世紀60年代以后,不再允許修改指令地址碼。此時,在加載程序時,除了將程序加載到主存儲器中之外,還需要將程序在主存儲器中的起始地址添加到程序的相應(yīng)地址碼中(一般用“A”表示)?;谶@一思想,出現(xiàn)了基地址法。當(dāng)一個程序訪問主存時,它需要將存儲在基址寄存器中的程序基點地址相加,形成一個物理地址后才能訪問主存。

相關(guān)技術(shù) 編輯本段

當(dāng)計算機處理源程序時,它必須經(jīng)過與邏輯地址相關(guān)的編譯、鏈接、加載和運行等步驟,從而將用戶源程序變成可在內(nèi)存中執(zhí)行的程序。在整個過程中,涉及到邏輯地址,這需要程序員在程序中寫入邏輯地址或?qū)⑦壿嫷刂忿D(zhuǎn)換為其他地址形式。

編譯:編譯的過程就是把用高級語言編寫的源程序翻譯成機器能識別的目標程序。編譯器將源程序的每個模塊編譯成相應(yīng)的目標模塊,每個目標模塊中的地址從0開始尋址。一些相關(guān)的目標模塊鏈接后,形成一個完整的目標模塊,其地址也從0開始。這些地址空間被稱為邏輯地址空間。

互連:鏈接的作用是將編譯后生成的多個目標模塊鏈接成一個完整的目標模塊。在這個過程中,要解決兩個問題:一是因為鏈接之前有很多模塊,每個模塊都有自己的地址空間和邏輯地址,所以要先修改邏輯地址,使鏈接成為一個地址空間;其次,由于模塊之間原來的調(diào)用關(guān)系是通過函數(shù)調(diào)用語句實現(xiàn)的,而鏈接之后只有一個模塊,因此需要將調(diào)用語句改為跳轉(zhuǎn)語句。實現(xiàn)鏈接的方式有三種:靜態(tài)鏈接、加載時動態(tài)鏈接和運行時動態(tài)鏈接。

包裝:在早期,編譯、鏈接、加載和運行的步驟是依次進行的。隨著計算機技術(shù)的發(fā)展,為了提高內(nèi)存的利用率,引入了動態(tài)加載模式,將上述步驟交織在一起。程序加載方法分為絕對加載方法、可重定位加載方法和動態(tài)運行時加載方法。

絕對加載模式:編譯時,如果你知道程序?qū)Ⅰv留在內(nèi)存中的什么位置,編譯器將生成帶有絕對地址的目標代碼。絕對裝入程序根據(jù)裝入模塊中的地址將程序和數(shù)據(jù)裝入內(nèi)存。加載模塊加載到內(nèi)存后,由于程序中的邏輯地址與實際內(nèi)存地址完全相同,因此無需修改程序和數(shù)據(jù)的地址。程序中使用的絕對地址可以在編譯或匯編時給出,也可以由程序員直接給出。

浮動裝載模式:一般來說,作業(yè)加載到內(nèi)存時分配的存儲空間與其地址空間不一致,因此作業(yè)要訪問的指令和數(shù)據(jù)的物理地址與地址空間中的邏輯地址不同。當(dāng)加載或執(zhí)行作業(yè)時,需要在程序中調(diào)整相關(guān)的地址部分并轉(zhuǎn)換地址。這種將邏輯地址轉(zhuǎn)換為物理地址的過程稱為地址重定位,也稱為地址映射或地址轉(zhuǎn)換。因為這種地址轉(zhuǎn)換只在加載時完成一次,以后不會再更改,所以稱為靜態(tài)重定位。

動態(tài)運行時加載模式:動態(tài)運行時加載程序在將加載模塊加載到內(nèi)存中后,不會立即將加載模塊中的邏輯地址轉(zhuǎn)換為物理地址,而是將這種地址轉(zhuǎn)換推遲到程序?qū)嶋H執(zhí)行時進行。此時,加載到內(nèi)存后的所有地址仍然是邏輯地址。這種地址轉(zhuǎn)換方法稱為動態(tài)重定位。在程序執(zhí)行過程中,每當(dāng)訪問一條指令或數(shù)據(jù)時,要訪問的程序或數(shù)據(jù)的邏輯地址就被轉(zhuǎn)換成物理地址。動態(tài)重定位的實現(xiàn)依賴于硬件地址轉(zhuǎn)換結(jié)構(gòu)。

運行:在一維邏輯地址空間中,每個作業(yè)的邏輯地址空間的大小是不同的,但邏輯地址從0開始。在二維邏輯地址空間中,每個用戶的作業(yè)被分成幾個段,每個段被賦予一個名稱,每個邏輯地址被表示為段號和單元號。地址中的段名表示要訪問的目標段,單元號表示要訪問的段的目標單元。

當(dāng)運行一個寫在邏輯地址的程序時,首先編譯或匯編幾個目標代碼,然后鏈接不同模塊中的同類型段,最后形成一個可執(zhí)行程序的存儲鏡像文件,將其加載到內(nèi)存中運行。

選址方式 編輯本段

尋址模式是指確定此指令的數(shù)據(jù)(操作數(shù))地址和下一條要執(zhí)行的指令的地址的方法。

指令尋址模式:由于現(xiàn)代計算機使用PC來跟蹤程序的執(zhí)行并知道要執(zhí)行的指令的地址,因此當(dāng)程序開始運行時,程序的起始地址通常由系統(tǒng)程序直接給出并發(fā)送給PC。當(dāng)程序執(zhí)行時,PC的值可以以順序方式或跳過方式改變,以完成對下一條要執(zhí)行的指令的尋址。

按序方式:順序模式是通過PC增量形成下一個指令地址。增量取決于下一條指令占用的存儲單元數(shù)量。當(dāng)指令地址被順序?qū)ぶ窌r,CPU可以根據(jù)PC的內(nèi)容依次從存儲器中讀取指令。

跳躍模式:跳過模式是在程序傳輸時根據(jù)指令的傳輸目標地址修改PC的內(nèi)容。當(dāng)程序需要轉(zhuǎn)移時,轉(zhuǎn)移指令生成轉(zhuǎn)移目標地址并發(fā)送給PC,從而可以轉(zhuǎn)移程序。這個過程也稱為程序跳轉(zhuǎn)。

操作數(shù)尋址模式:操作數(shù)尋址是指找到操作數(shù)地址的方法。關(guān)于操作數(shù)的來源和目的地以及指令中的地址排列有多種情況。不同的指令使用不同數(shù)量、不同來源、不同用途的操作數(shù),因此地址碼字段的編碼靈活多樣,需要尋址時根據(jù)編碼原理采用不同的尋址方式。

存儲管理 編輯本段

虛擬內(nèi)存由一部分主存和輔存組成,它彌補了實際物理內(nèi)存的不足,為系統(tǒng)提供了比物理內(nèi)存大得多的容量,解決了程序運行時計算機系統(tǒng)性能差的問題。

計算機中運行的程序通常存儲在磁盤上。當(dāng)程序運行時,CPU使用虛擬地址訪問內(nèi)存。計算機系統(tǒng)由硬件和軟件組成,完成邏輯地址和真實地址之間的轉(zhuǎn)換,從而達到訪問內(nèi)存的目的。

分段管理:段管理是將分配的內(nèi)存組織成段,存儲單元的地址由兩部分組成:段地址和段內(nèi)偏移量。任何內(nèi)存單元的物理地址都是段地址和偏移量的線性組合,操作系統(tǒng)為應(yīng)用程序分配和管理段地址。這樣,應(yīng)用程序只涉及段內(nèi)的偏移地址,即程序的邏輯地址。

應(yīng)用程序編譯或匯編后得到的程序代碼實際上是程序執(zhí)行時的內(nèi)存映像,可能會留下大量的相對地址。在將這些相對地址加載到內(nèi)存的過程中,操作系統(tǒng)會完全填充這些相對地址,以便它們可以順利執(zhí)行。在分段管理模式下,同一應(yīng)用程序可以在不同的計算機上運行。

頁面管理:計算機通??梢酝瑫r運行多個應(yīng)用程序。這些應(yīng)用程序是操作系統(tǒng)的任務(wù),它們的代碼占用大量存儲空間。在這個過程中,需要不斷地管理邏輯地址。操作系統(tǒng)需要將當(dāng)前使用邏輯地址數(shù)據(jù)加載到物理存儲器中,并將暫時未使用的邏輯地址數(shù)據(jù)保存到外部存儲器中。

為此,內(nèi)存需要分成幾頁,如Windows操作系統(tǒng),4KB內(nèi)存為一頁。程序代碼中的地址可以是邏輯地址,并且該邏輯地址的容量可以遠遠大于物理地址的可訪問范圍。在運行時,頁面管理機制將邏輯地址映射到物理地址。如果CPU訪問的頁面已經(jīng)在物理內(nèi)存中,則可以正常運行;當(dāng)CPU訪問的頁面不在物理內(nèi)存中時,就會發(fā)生缺頁異常。CPU執(zhí)行操作系統(tǒng)的異常處理代碼,將暫時不用的頁面保存到硬盤上的虛擬內(nèi)存中,然后將當(dāng)前請求的頁面轉(zhuǎn)移到內(nèi)存中,以便應(yīng)用程序可以繼續(xù)執(zhí)行。

段頁面管理:分頁系統(tǒng)可以有效地提高邏輯地址的內(nèi)存利用率,分段系統(tǒng)可以很好地滿足用戶的需求。將兩者結(jié)合起來的“段-頁管理”具有兩者的優(yōu)點。逐頁管理的基本原理是將用戶程序分成幾個段,然后將每個段分成幾個頁面,并給每個段取一個段名。在分段頁面系統(tǒng)中,其地址結(jié)構(gòu)由段號、段內(nèi)頁碼和頁內(nèi)地址組成。

邏輯地址邏輯地址

每個段都分配有相同頁數(shù)的內(nèi)存塊,內(nèi)存塊可以是連續(xù)的也可以是不連續(xù)的。系統(tǒng)為每個段建立一個頁表以記錄每個頁對應(yīng)塊的信息,還為程序建立一個段表以記錄每個段對應(yīng)的頁表。

存儲保護:在多任務(wù)運行環(huán)境中,任務(wù)之間以及任務(wù)與操作系統(tǒng)之間都涉及到邏輯地址的管理,需要進行隔離保護。例如,任務(wù)A的代碼段不能執(zhí)行任何旨在破壞任務(wù)B的指令,反之亦然,更不用說破壞操作系統(tǒng)的運行環(huán)境了。存儲保護的目的是防止用戶程序之間地址映射過程中的相互干擾。通常的保護方式有越界保護和越權(quán)保護。

跨境保護:跨境保護有兩種方法。一種方法是硬件為分配給應(yīng)用程序的每個連續(xù)主內(nèi)存空間設(shè)置上限和下限寄存器,它們分別指向內(nèi)存空間的上限和下限。另一種方法是使用基址和有限長度寄存器?;芳拇嫫鞔鎯Ξ?dāng)前正在執(zhí)行的進程的地址空間所占用的分區(qū)的起始地址。地址空間的長度存儲在長度限制寄存器中。在操作期間,生成的邏輯地址與長度限制寄存器的內(nèi)容進行比較,如果超過長度限制,則會發(fā)送越界中斷信號。

越權(quán)保護:越權(quán)保護可以防止不同程序在映射邏輯地址和物理地址時相互干擾。越權(quán)保護就是讀寫屬于自己區(qū)域的信息;允許在公共區(qū)域共享的信息或授權(quán)使用的信息可以被讀取且不能被修改;未授權(quán)使用的信息不可讀、不可寫,只能執(zhí)行;其他人,什么都不做。

主要應(yīng)用 編輯本段

閃存轉(zhuǎn)換層(FTL):閃存轉(zhuǎn)換層(TFL)是固態(tài)硬盤的核心組件,其功能之一是實現(xiàn)邏輯地址到物理地址的映射。根據(jù)映射規(guī)模,F(xiàn)TL映射方法分為塊映射、頁映射和混合映射。地址映射過程可以分為兩級:第一級映射用于平衡內(nèi)存塊的磨損,第二級映射用于處理壞塊問題。TFL的中間邏輯地址是串聯(lián)的第一和第二層映射關(guān)系的中間地址。當(dāng)沒有壞塊時,中間邏輯地址等于物理地址。

近代物理實驗的數(shù)據(jù)提取:現(xiàn)代應(yīng)用物理學(xué)中的多單元翻轉(zhuǎn)(Multi-cell flip,MCU)是指入射到存儲器件上的單個粒子通過在多個敏感單元中沉積能量而導(dǎo)致多個存儲單元同時翻轉(zhuǎn)的現(xiàn)象。在這個過程中,隨著存儲器件特征尺寸的減小,MCU的頻率顯得越來越高,這將影響微電子存儲器件的可靠性。從SEU數(shù)據(jù)中提取MCU信息時,主要問題是缺少物理地址和邏輯地址之間的映射關(guān)系。解決這一問題的常用方法是通過逆向工程獲得芯片的內(nèi)部布局,并進一步分析芯片的物理地址和邏輯地址之間的映射關(guān)系。還有一種基于概率統(tǒng)計提取物理地址和邏輯地址映射關(guān)系的方法,也可以解決這個問題。

附件列表


0

詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。

如果您認為本詞條還有待完善,請 編輯

上一篇 NFC移動支付    下一篇 Adobe Photoshop設(shè)計軟件

標簽

同義詞

暫無同義詞