電子信息工程外文翻譯.doc_第1頁
電子信息工程外文翻譯.doc_第2頁
電子信息工程外文翻譯.doc_第3頁
電子信息工程外文翻譯.doc_第4頁
電子信息工程外文翻譯.doc_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

畢業(yè)設計外文資料翻譯專 業(yè): 電子信息工程 姓 名: 學 號: 100701113 外文出處: /literature/lit-nio2.jsp/nios II Processor Reference Handbook (用外文寫)附 件: 1.外文資料翻譯譯文;2.外文原文。 指導教師評語: 簽名: 年 月 日附件1:外文資料翻譯譯文 第二章 處理器架構 本章介紹了Nios的硬件結構,包括Nios II架構的所有單元功能和Nios II處理器硬件實現(xiàn)的基本面。本章包含以下幾個部分:“處理器實現(xiàn)” “注冊文件”“算術邏輯單元”“復位和調試信號”“異常和中斷控制器”“內存和I / O組織” “JTAG調試模塊”Nios II架構描述的指令集架構(ISA ) 。在ISA架構中需要一組用于指令功能單元的實現(xiàn)。Nios II的處理器核心是由Nios II指令集硬件設計和本文中所描述的功能單元來實現(xiàn)。該處理器核心不包括外圍設備或外界邏輯連接。它僅包括Nios II體系結構所需實現(xiàn)電路。Nios II的架構包括了以下功能:注冊文件算術邏輯單元(ALU )自定義邏輯接口指令異??刂破鲀炔炕蛲獠恐袛嗫刂破髦噶羁偩€數(shù)據(jù)總線內存管理單元(MMU )存儲器保護單元(MPU )數(shù)據(jù)高速緩存存儲器和指令數(shù)據(jù)緊耦合存儲器接口和指令JTAG調試模塊處理器實現(xiàn) Nios II體系結構的功能單元由Nios II的基礎指令集構成。然而,這并不表示任何單元功能都由硬件實施。 Nios II的架構指令集的描述,并不是一個特定的硬件實現(xiàn)。一種單元功能可以由硬件來實現(xiàn),仿真軟件,或完全省略。Nios II的實現(xiàn)是由特定的Nios II的處理器核心來完成的。所有定義的指令集的實現(xiàn)可以參考的Nios II處理器參考手冊的相關章節(jié)。各個執(zhí)行情況如核心尺寸的減小或性能的提高都應達到特定的目標。這種Nios II的架構的靈活性允許不同的目標應用程序適應。各個變量通常包含3種功能模式:本身包含的功能、增加的功能、硬件或軟件仿真實現(xiàn)。實例如下:更多的功能,例如,微調性能,可以增加或降低指令高速緩沖存儲器的量。更大的緩存增加大型程序的執(zhí)行速度,而規(guī)模較小的緩存節(jié)省芯片內存。包含的功能,例如,為了降低成本,可以選擇省略JTAG調試模塊。這一功能可以節(jié)省邏輯芯片和存儲器資源,但它消除了軟件調試器對應用程序的調試能力。硬件或軟件仿真實現(xiàn),例如,在控制應用程序很少進行復雜的運算,可以在仿真軟件選擇適合的除法指令來實現(xiàn)。硬件芯片卸下除法指令上,但會增加程序的操作執(zhí)行時間。有關Nios II內核支持的功能信息,請參考Nios II處理器參考手冊的核心實施細則的篇章。關于用戶想了解Nios II處理器參數(shù)的完整詳細信息,請參閱Nios II處理器參考手冊的實例篇章。寄存器文件Nios II的架構支持一個平面寄存器文件,包括32個32位通用整數(shù)寄存器,以及多達32個32位控制寄存器。該架構支持管理員和用戶模式,可以使系統(tǒng)在運行應用錯誤程序時可以保護控制寄存器。Nios II處理器可以有一個或多個映射寄存器集。映射寄存器集是一套完整的Nios II的通用寄存器。狀態(tài)寄存器的CRS字段表示該寄存器為正在使用。一個指令通常訪問一個通用寄存器。映射寄存器組的一個典型功能是加速上下文切換。當映射寄存器運行時, Nios II處理器有兩個特殊的指令rdprs和wrprs 來移動寄存器組之間的數(shù)據(jù)。映射寄存器由系統(tǒng)內核操作,并是可見的應用程序代碼。 Nios II處理器最多可以有63映射寄存器集。有關映射寄存器集實現(xiàn)和使用的詳細信息,請參閱Nios II處理器“寄存器”的編程模型和“異常處理”參考手冊。有關rdprs和wrprs指令的詳細內容,請參閱Nios II處理器指令集參考手冊參考章節(jié)。Nios II的架構允許增加的浮點寄存器。算術邏輯單元Nios II的ALU用來存儲通用寄存器的數(shù)據(jù)。 ALU將從一個或兩個寄存器的輸入和運算結果存回寄存器。 未實現(xiàn)的指令 有些Nios II處理器內核實現(xiàn)不是由硬件提供完整的Nios II指令集實現(xiàn)的。沒有硬件支持的指令被稱為未實現(xiàn)的指令。 該處理器產生異常時,它會發(fā)出一個未實現(xiàn)指令讓你的異常處理程序可以調用,模擬在操作的例程軟件。未實現(xiàn)指令不影響的程序員對程序的處理。想了解未實現(xiàn)指令的列表,請參閱Nios II處理器參考手冊的“編程模型”實例章。自定義指令 Nios II的架構支持用戶自定義指令。 Nios II的ALU直接連接到自定義邏輯指令,使您能夠實現(xiàn)在業(yè)務被訪問和使用完全一樣的原生指令的硬件。 欲了解更多信息,請參考Nios II用戶指南的自定義指令和Nios II處理器參考手冊的自定義指令實例。浮點指令 Nios II的架構支持由754-1985標準庫提供的單精度浮點指令。基本浮點自定義指令包括單精度浮點的加法,減法,乘法和除法,并且可有基本指令集進行相關運算。這些浮點指令由自定義指令實現(xiàn)。浮點參數(shù)編輯器在進行除法運算時允許省略浮點從而使運行代碼不會產生大量的除法浮點。當你省略了除法浮點 指令時,Nios II的編譯器自動實現(xiàn)除法浮點運算。在Qsys中,自定義指令的浮點根據(jù)硬件在包含自定義浮點的組件庫中說明。要添加的自定義浮點指令,在Nios II內核處理器SOPC中生成,想了解更多,請查詢Nios II處理器參考手冊的“自定義指令”實例。Nios II的浮動自定義指令說明是基于Altera的浮點宏功能包含:ALTFP_MULT,ALTFP_ADD_SUB和ALTFP_DIV。有關浮點宏功能,包括的更多信息和設備資源的使用,請參閱宏功能用戶指南,可在Altera網站的IP和宏功能的相關文獻。 在Nios II軟件開發(fā)工具識別的C代碼,它利用的優(yōu)勢浮點指令存在于處理器核心。當自定義浮點指令存在于你的目標硬件,Nios II的編譯器編譯你的代碼以使用自定義指令進行浮點運算,包括加法,減法,乘法,除法和NEWLIB數(shù)學庫。軟件開發(fā)的思考為您的硬件設計的最佳選擇取決于之間的浮點平衡用法,硬件資源使用情況和性能。而浮點定制說明加快浮點運算,它們大大加快了您的硬件設計。如果資源的使用是一個問題,則考慮重新加工您算法來減少浮點運算。 您可以在你的軟件中使用pragma指令,從而比較硬件和軟件的浮點指令的實現(xiàn)。下面的pragma指令由Nios II編譯器忽略浮點指令,并由軟件實現(xiàn)。這些pragma指令的作用域是整個C文件。 #pragma no_custom_fadds強制軟件實現(xiàn)浮點加 #pragma no_custom_fsubs強制軟件實現(xiàn)的浮點減 #pragma no_custom_fmuls強制軟件實現(xiàn)的浮點乘 #pragma no_custom_fdivs強制軟件實現(xiàn)的浮點除Nios II的指令集仿真器(ISS)在Nios II集成開發(fā)環(huán)境(IDE)不支持自定義指令。如果你需要運行軟件在國際空間站上,禁用軟件浮點定制指令與在pragma指令。所有浮點自定義指令都是單精度運算。雙精度浮點運算是在軟件中實現(xiàn)。當浮點定制指令不存在,在Nios II編譯把浮點常量作為雙精度值。然而,隨著自定義浮點指令,在Nios II編譯器中將浮點常量因為默認情況下的單精度數(shù)。這使得所有浮點表達式在硬件中進行評估,并節(jié)約運行速度。如果您不希望浮點常量被自定義成單精度值,每一個恒定值前加L,則指示編譯器將常量作為一個雙精度浮點值。在這種情況下,如果一個表達式包含一個 浮點常量,表達式中的每一項被轉換為雙精度。表達式被計算用軟件實現(xiàn)的雙精度四則運算表示,但運算速度的減慢。如果是GCC4編譯器工具鏈,預編譯的庫編譯雙精度浮點常量。預編譯浮點行為庫函數(shù)如sin()和cos()是不受的存在浮點自定義指令影響的。以獲得關于Nios II處理器的復位信號更多信息,請參閱Nios II處理器參考手冊的“高級功能選項”實例。對于Nios II處理器矢量和調試信號的更多信息,請參閱Nios II處理器參考手冊中“JTAG調試模塊選項”的實例篇章。異常和中斷控制器 Nios II處理器包括硬件處理異常,包括硬件中斷。它也包括一個可選的外部中斷控制器(EIC)接口。該EIC界面,您可以通過添加自定義的中斷控制器來處理一個復雜的系統(tǒng)。 異??刂破?Nios II的架構有一個簡單的向量異常控制器來處理所有的異常類型。異常控制器,包括內部硬件中斷,從而使處理器執(zhí)行轉移到異常地址。異常處理程序地址確定異??刂破鳎⒄{度一個合適的異常程序。異常地址由在Qsys中的Nios II處理器參數(shù)指定的編輯器和SOPC構成。 所有的異常都是精確的。該處理器已完成執(zhí)行精確的手段的錯誤指令之前的所有指令,并沒有開始執(zhí)行說明以下錯誤指令。一旦異常處理程序清除異常則異常處理器恢復執(zhí)行程序。EIC接口EIC接口可以提高硬件中斷的性能,還可以減少程序的中斷延遲。EIC接口通常用于與映射寄存器組結合,而你需要的不僅僅是Nios II內部提供32個中斷控制器。Nios II處理器通過EIC接口連接到EIC 。目前,EIC中斷由Qsys和SOPC內部的中斷控制器連接構成。EIC自動選擇并連接到Nios II處理器,與中斷處理程序的地址和寄存器組選擇信息相連接。EIC特定中斷算法的實現(xiàn),一般根據(jù)中斷優(yōu)先級來判斷處理順序。 Nios II處理器不依賴于任何特定的中斷優(yōu)先級方案中的EIC。對于外部中斷,EIC接口自主提供中斷級別。 Nios II處理器用于確定中斷程序的中斷級。任何外部中斷可配置一個沒有被屏蔽 status.PIE位,并且沒有中斷級別。EIC接口可以通過軟件配置。當EIC接口和映射寄存器集在Nios II內核實現(xiàn)時,你必須確保你的軟件是在Nios II EDS9.0或更高版本上建立的。早期版本有ERET指令與映射寄存器不兼容的實現(xiàn)功能。EIC的典型例子,在嵌入式外設IP用戶指南的中斷向量控制器章節(jié)中。有關EIC使用細節(jié),請參考Nios II處理器參考手冊的編程模型“異常處理”一章。內部中斷控制器Nios II的架構支持32個內部硬件中斷。處理器核心有32個電平敏感的中斷請求(IRQ)輸入,IRQ0至IRQ31,提供了獨特的輸入為每個中斷源。 IRQ優(yōu)先級是由軟件決定,該架構支持中斷嵌套。可以通過啟用和禁用任何單獨的中斷源來控制使能寄存器,其中包含一個中斷軟件使能位由IRQ輸入。軟件可以通過啟用和禁用使用的PIE位來控制狀態(tài)寄存器。當且僅當下列所有條件為真時,硬件中斷產生:狀態(tài)寄存器的PIE位為1 一個中斷請求輸入,IRQ,有效 相應的n位使能寄存器的值為1在SOPC中,Nios II處理器內核提供中斷向量自定義指令,從而加速中斷向量調度,以減少程序的中斷延遲。EIC接口的中斷向量自定義指令與Altera的中斷向量控制器比使用效率較低,從而棄用Qsys。 Altera建議使用EIC接口。有關中斷向量定制指令,請參閱Nios II處理器參考手冊“自訂指令選項”實例。內存和I / O組織本節(jié)介紹了Nios II內存的硬件細節(jié),I / O的組織。涵蓋了一般概念所有的Nios II的處理器系統(tǒng),以及從系統(tǒng)到系統(tǒng)的功能。Nios II內存和I / O的組織的靈活特性是Nios II處理器系統(tǒng)與傳統(tǒng)的微控制器之間的最顯著差異。由于Nios II處理器在存儲器和外設是可配置的,因此內存和I / O組織變化是從系統(tǒng)到系統(tǒng)。Nios II的核心采用以下提供的指令對內存和I/ O進行訪問: 主端口指令,Avalon 內存映射(Avalon-MM)主端口通過系統(tǒng)互聯(lián)架構連接到指令存儲器 緩存指令,將高速緩沖存儲器的內容存儲到Nios II內核 數(shù)據(jù)存儲器中的數(shù)據(jù)主端口,Avalon-MM主端口和系統(tǒng)互聯(lián)架構外設連接 高速數(shù)據(jù)緩存存儲器內部的數(shù)據(jù)存儲到Nios II的核心 緊耦合指令或數(shù)據(jù)存儲器端口的接口快速將Nios II內核外的數(shù)據(jù)存儲到芯片內Nios II的架構可處理硬件程序的細節(jié),所以程序員可以開發(fā)Nios II的應用程序,來實現(xiàn)具體的知識硬件。對于編程問題的詳細信息,請參閱Nios II處理器參考手冊的編程模型章。指令和數(shù)據(jù)總線 Nios II體系結構支持獨立的指令和數(shù)據(jù)總線,它作為哈佛架構。指令和數(shù)據(jù)總線連接Avalon-MM主端口和Avalon-MM的規(guī)范接口。該數(shù)據(jù)主端口連接到內存和外圍元件,而指令主端口只連接到內存組件。內存和外設訪問 Nios II架構通過的內存映射I/ O接口訪問數(shù)據(jù)存儲器和外設映射到數(shù)據(jù)主端口的地址空間。該 Nios II的架構使用小端字節(jié)順序,字和半字存儲在內存的高位地址。 Nios II體系結構不指定有關內存的任何外設、數(shù)量、類型,并依賴于系統(tǒng)與外圍設備相連接。通常情況下,Nios II處理器系統(tǒng)包含快速片上的混合存儲器和較慢的片外存儲器。外設通過接口將存在的外設數(shù)據(jù)存儲到芯片。指令主端口Nios II的指令總線通過一個32位的Avalon -MM主端口來實現(xiàn)。該指令主端口執(zhí)行單一的功能,取指令是由處理器執(zhí)行,該指令主端口不執(zhí)行任何寫操作。指令主端口是一個流水線的Avalon -MM主端口。支持流水線的Avalon -MM轉讓與最大限度地減少同步存儲以及減緩流水線的延遲,并增加了系統(tǒng)的整體最大存儲值。該主端口指令可以發(fā)出連續(xù)的讀取請求,將之前的數(shù)據(jù)讀取,并且讀取后請求返回。Nios II處理器可以連續(xù)緩存指令和執(zhí)行分支并且指令管道盡可能保持活躍。指令主端口始終獲取32位的數(shù)據(jù)。該主端口指令依賴于互連系統(tǒng)結構和動態(tài)總線的邏輯。通過動態(tài)總線,每次指令一個完整的字,不管目標存儲器的寬度,都自動返回。因此,程序不需要知道Nios II處理器系統(tǒng)內存的寬度。Nios II架構支持芯片以較慢速度訪問內存來提高指令端口提取指令的性能。想了解更多詳細內容,請參閱“高速緩存內存“一節(jié)第2-13頁。 Nios II的架構支持緊密耦合內存,可以延遲訪問片上存儲器。更多信息,請參閱讀2-14頁的“緊耦合存儲器”章節(jié)的有關詳細信息。數(shù)據(jù)主端口 Nios II的數(shù)據(jù)總線支持一個32位的Avalon-MM主端口。數(shù)據(jù)主端口擁有兩個功能: 閱讀來自存儲器或外設的數(shù)據(jù)時,處理器執(zhí)行的負載指令 將數(shù)據(jù)寫入存儲器或外設時,處理器執(zhí)行一個存儲指令 字節(jié)使能主端口上的信號,通過要寫入指定的其中四個字節(jié)通道來存儲操作。當Nios II的核心與數(shù)據(jù)高速緩沖存儲器被配置為大于四個字節(jié),數(shù)據(jù)主端口支持流水線的Avalon-MM傳輸。當該數(shù)據(jù)的高速緩存只有4個字節(jié)大小,任何內存流水線都是由數(shù)據(jù)主端口來感知等待狀態(tài)。裝載和存儲操作可以在一個單一時鐘周期內完成,數(shù)據(jù)主端口連接到內存的零等待狀態(tài)。在Nios II架構支持芯片以高速緩存來提高平均數(shù)據(jù)訪問速度較慢的內存?zhèn)鬏斝阅?。更多信息,請參閱“快取記憶體”第2-13頁的說明。 Nios II的架構支持緊密耦合內存,可以延遲訪問片上存儲器。請參閱第2頁-14因為細節(jié)“緊耦合存儲器”。共享內存的指令和數(shù)據(jù)通常情況下,指令和數(shù)據(jù)主端口共享一個包含指令和數(shù)據(jù)的存儲器。而處理器內核具有獨立的指令和數(shù)據(jù)總線,整體Nios II處理器的系統(tǒng)可能呈現(xiàn)一個單一的,共享指令/數(shù)據(jù)總線到外面的世界。 Nios II處理器的外部視圖系統(tǒng)依賴于在系統(tǒng)中和的結構的存儲器和外圍設備系統(tǒng)互連結構。該數(shù)據(jù)和指令主端口不會導致一個僵局狀態(tài),其中一個端口抑制其他端口。為了獲得最高的性能,指定數(shù)據(jù)主端口高底是由指令和數(shù)據(jù)共享主內存的優(yōu)先權序列端口決定的。高速緩存存儲器Nios II的架構支持高速緩存存儲器的兩個指令主端口(指令緩存)和數(shù)據(jù)主端口(數(shù)據(jù)緩存)。高速緩存存儲器駐留片上作為Nios II處理器核心的一個組成部分。高速緩沖存儲器可以提高使用速度慢的Nios II處理器系統(tǒng)的平均內存訪問時間片外存儲器,例如SDRAM用于程序和數(shù)據(jù)的存儲。指令和數(shù)據(jù)高速緩存在運行時永遠啟用,但方法是提供軟件繞過數(shù)據(jù)緩存,以便外設訪問不返回緩存的數(shù)據(jù)。緩存管理和緩存的一致性是由軟件來處理。Nios II的指令集提供了緩存管理指令??膳渲玫母咚倬彺?高速緩沖存儲器是可選的。需要更高的存儲性能(或通過聯(lián)系,需要高速緩存存儲器)是依賴于應用程序。許多應用程序所需要的最小的可能的處理器內核,并且可以折衷表現(xiàn)為尺寸。 Nios II處理器內核可能包括一個或兩個高速緩沖存儲器,另外,對于核心,提供數(shù)據(jù)或指令高速緩存,高速緩沖存儲器是用戶可配置的。包含高速緩沖存儲器的,不影響程序的功能,但它確實會影響速度,該處理器取指令和讀取/寫入數(shù)據(jù)。高速緩沖存儲器 高速緩沖存儲器中以提高性能的效果是基于以下前提: 定期存儲器位于芯片,和訪問時間相比芯片記憶較長 循環(huán)指令最大關鍵性能比緩存指令小性能關鍵型數(shù)據(jù)最大塊比數(shù)據(jù)緩存較小 最佳的高速緩存配置為特定的應用程序,雖然可以做出決定是有效跨越廣泛的應用。例如,如果一個Nios II處理器系統(tǒng)僅包括速度快,片上存儲器(即,它從來沒有訪問速度慢,片存儲器),指令或數(shù)據(jù)高速緩沖存儲器是不可能提供任何性能增益。如另一個例子,如果一個程序的臨界循環(huán)為2 K字節(jié),但指令緩存為1 KB,指令緩存并不能提高執(zhí)行速度。在事實上,指令高速緩沖存儲器可能在這種情況下降低性能。如果一個應用程序總是要求以位于高速緩存中特定的數(shù)據(jù)的代碼段或內存性能方面的原因,緊密耦合內存功能可以提供一個更合適的解決方案。請參閱“緊耦合存儲器”2-14頁的詳細信息。緩存旁路方法 Nios II的體系結構提供了用于繞過數(shù)據(jù)高速緩存的下列方法: I / O負載和存儲指令 31位旁路緩存I / O負載和存儲指令加載和存儲I / O指令的方法,如ldio和STIO旁路數(shù)據(jù)緩存和迫使一個Avalon-MM的數(shù)據(jù)轉移到一個指定的地址。 31位旁路緩存方法 數(shù)據(jù)主端口上的31位旁路緩存方法使該地址的31位作為標記,指示是否處理器應該從數(shù)據(jù)高速緩存,或旁路轉移到它。這是一個方便的軟件,可能需要緩存某些地址和旁路等。軟件可以通過地址作為函數(shù)之間的參數(shù),而不必指定是否被尋址的數(shù)據(jù)的任何進一步的信息被高速緩存。 要了解哪些內核實現(xiàn)的緩存旁路方法,請參考Nios II處理器參考手冊的核心實施細則的篇章。緊耦合存儲器緊耦合存儲器提供保證的低延時內存訪問性能關鍵型應用程序。相比于高速緩沖存儲器中,緊密耦合內存提供了以下好處:性能類似高速緩存存儲器軟件可以保證性能的關鍵代碼或數(shù)據(jù)位于緊耦合存儲器無實時緩存間接,如加載,無效,或沖洗記憶在物理上,一個緊耦合存儲器端口是在Nios II的一個單獨的主端口 處理器核心,類似的指令或數(shù)據(jù)的主端口。一個Nios II的核心可以有零個,一個或多個緊密耦合的存儲器。在Nios II架構支持緊密耦合的存儲器,用于指令和數(shù)據(jù)的訪問。每個緊密耦合存儲器端口直接連接到只有一個內存有保障的低,固定延遲。內存是外部的Nios II的核心,位于芯片。 緊耦合存儲器的訪問 緊耦合存儲器占用正常的地址空間,像其他的內存通過系統(tǒng)互聯(lián)架構連接的設備。緊耦合存儲器的地址范圍(如果有的話)在系統(tǒng)生成時確定。 使用常規(guī)的加載和存儲指令的軟件訪問緊耦合存儲器。從軟件的角度來看,訪問緊耦合存儲器與其他存儲器相比是沒有區(qū)別的。高效緊耦合存儲器一個系統(tǒng)可以使用緊密耦合內存以達到最大性能訪問的代碼或數(shù)據(jù)的特定部分。例如,中斷密集型應用程序可以將異常處理程序代碼到一個緊密耦合的存儲器,以最大限度地減少中斷延遲。同樣的,計算密集的數(shù)字信號處理(DSP),應用程序可以將數(shù)據(jù)緩沖區(qū)入緊耦合存儲器的最快可能的數(shù)據(jù)訪問。 如果應用程序的內存需求是足夠小,以適應整個芯片上,它是可以使用緊密耦合的存儲器專用代碼和數(shù)據(jù)。大應用程序必須選擇性地選擇要在緊耦合存儲器包括以最大限度地提高成本性能權衡。 有關更多的緊密耦合內存原則,請閱讀Nios II處理器手冊的緊耦合內存章節(jié)。地址地圖 地址映射為存儲器和外設的Nios II處理器系統(tǒng)設計依賴。你的Qsys和SOPC Builder中指定的地址映射。但是也有一些處理器的一部分,特別值得一提三個地址: 復位地址 異常地址 中斷處理程序的地址 程序員通過使用宏和驅動程序訪問存儲器和外設。因此,靈活的地址映射不會影響應用程序的開發(fā)人員。存儲器管理單元 可選的Nios II的MMU提供以下特性和功能: 虛擬地址到物理地址的映射 存儲器保護32位虛擬地址和物理地址,一個4 GB的虛擬地址空間映射到高達4 GB的物理內存 4 KB大小的頁和幀可直接訪問低512 MB的物理地址空間 硬件轉換后備緩沖器(TLB的),加速地址轉換 獨立的TLB指令和數(shù)據(jù)訪問 讀,寫和執(zhí)行每頁控制權限 每頁默認緩存行為控制 TLB的作為n路組相聯(lián)高速緩存軟件的頁表 TLB的大小和結合在Nios II處理器參數(shù)配置編輯 頁表(或等效的數(shù)據(jù)結構)格式由系統(tǒng)決定軟件 由系統(tǒng)軟件確定TLB項替換策略 由系統(tǒng)軟件確定TLB項寫入策略有關MMU實現(xiàn)的更多信息,請參Nios II處理器參考手冊編程型號的篇章。 你可以選擇包括MMU在內的程序,來例化您的Nios II硬件系統(tǒng)。MMU始終處于啟用狀態(tài),并數(shù)據(jù)和指令高速緩存的虛擬索引,標記緩存。幾個 參數(shù)可供選擇,來優(yōu)化MMU為您的系統(tǒng)增速。 有關用戶要了解Nios II的MMU的完整詳細信息,請參閱Nios II處理器參考手冊的實例篇章。Nios II的MMU是可選的,相互排斥其外的Nios II微處理器。 Nios II的系統(tǒng)可以包括任一個MMU或MPU,但不能同時包含一個MMU和MPU在同一個Nios II處理器內核。存儲器保護單元 可選的Nios II MPU提供以下特性和功能: 存儲器保護 最多32個指令地區(qū)和32個地區(qū)的數(shù)據(jù) 可變的指令和數(shù)據(jù)區(qū)的大小 區(qū)域內存量大小或高地址限制規(guī)定 讀取和寫入訪問權限的數(shù)據(jù)區(qū)域 執(zhí)行訪問權限的指令地區(qū) 重疊區(qū)域有關MPU實現(xiàn)的詳細信息,請參閱Nios II處理器參考手冊的編程模型章。 你可以選擇包括主控板在內的硬件系統(tǒng),來實例化您的Nios II硬件系統(tǒng)。MPU始終啟用,幾個參數(shù)可供選擇,來優(yōu)化MPU為您的系統(tǒng)服務。 有關用戶想了解Nios II微處理器的完整詳細信息,請參閱Nios II處理器參考手冊實例篇章。 Nios II的MPU是可選的,相互排斥的Nios II的MMU。 Nios II的系統(tǒng)可以包括任一MPU或MMU,但不能同時包含一個微控制器和MMU在同一個Nios II處理器內核。JTAG調試模塊 Nios II的架構支持JTAG調試模塊,提供芯片仿真功能從主機PC遠程控制處理器?;赑C的軟件調試工具與JTAG調試模塊進行通信,并提供設施,例如以下功能: 下載程序到內存 啟動和停止執(zhí)行 設置斷點和觀察點 分析寄存器和存儲器 收集實時執(zhí)行跟蹤數(shù)據(jù)調試模塊連接到Altera 的JTAG電路中。然后通過調試探針可以對標準的JTAG接口訪問外部處理器FPGA中。在處理器方面,調試模塊連接到信號內的處理器核心。調試模塊具有不可屏蔽的控制處理器,和不需要存根軟件測試下鏈接到應用程序。所有系統(tǒng)在管理員可見模式下運行,處理器的資源可用于調試模塊。對于跟蹤數(shù)據(jù)收集,調試模塊存儲在跟蹤存儲器中的數(shù)據(jù)無論是芯片還是在調試探頭。調試模塊增益控制處理器無論是通過產生一個硬件中斷信號,或通過寫中斷指令到程序的內存來執(zhí)行。在這兩種情況下,該處理器將執(zhí)行轉移到位于斷點地址的例程。地址被指定在Qsys中的Nios II處理器參數(shù)編輯器和SOPC中 。軟處理器內核,如Nios II處理器提供獨特的調試功能超越傳統(tǒng)的,固定處理器的功能。在Nios II軟性質處理器可以讓你的系統(tǒng)在開發(fā)中使用一個全功能的調試調試核心,后來刪除了調試功能,以節(jié)省邏輯資源。為釋放版本的產品,JTAG調試模塊的功能可被減少,或完全刪除。以下各節(jié)描述了Nios II JTAG調試模塊的功能硬件。的所有硬件功能的使用依賴于主機的軟件,如Nios II軟件構建工具的Eclipse,它管理的連接針對處理器和控制調試過程。JTAG目標連接 該JTAG目標連接提供到通過連接到處理器的能力標準的JTAG引腳上的Altera的FPGA中。這提供了基本的功能,以啟動或停止處理器,并檢查和編輯寄存器和存儲器。該JTAG最低要求為Nios II閃存編程器。 當處理器沒有最低時鐘頻率的要求,Altera公司建議您設計的系統(tǒng)時鐘頻率至少四倍JTAG時鐘頻率,以確保芯片上的儀器(OCI)核心功能正常。下載并執(zhí)行軟件下載軟件是指為可執(zhí)行代碼和數(shù)據(jù)下載到的能力通過JTAG連接處理器的內存。下載軟件后,JTAG調試模塊可以退出調試模式并將執(zhí)行權轉由內存可執(zhí)行代碼的開始。軟件斷點軟件斷點讓你駐留在RAM中的指令上設置斷點。該軟件斷點機制寫入斷點指令轉換成可執(zhí)行代碼存儲在RAM中。當處理器執(zhí)行的指令休息,控制轉移到JTAG調試模塊。硬件斷點硬件斷點允許你對居住在指令上設置斷點非易失性存儲器,如閃存。硬件斷點機制連續(xù)監(jiān)視處理器的當前指令的地址。如果該指令的地址硬件斷點地址匹配時,JTAG調試模塊需要控制處理器。硬件斷點使用JTAG調試模塊的硬件實現(xiàn)觸發(fā)功能。硬件觸發(fā) 硬件觸發(fā)器激活基于對指令或條件調試操作 實時程序執(zhí)行過程中的數(shù)據(jù)總線。觸發(fā)器可以做多叫停處理器執(zhí)行。例如,觸發(fā)器可以被用來使跟蹤數(shù)據(jù)收集在實時處理器執(zhí)行。目標觸發(fā)器 JTAG調試模塊提供了兩個級別的觸發(fā)功能,稱為目標觸發(fā)器。目標觸發(fā)器使能JTAG調試模塊,B事件上觸發(fā)而A事件不觸發(fā)轉化為,A事件導致觸發(fā)動作,使觸發(fā)器B事件觸發(fā)。 觸發(fā)值的范圍 JTAG調試模塊可對數(shù)據(jù)或地址值的范圍上的數(shù)據(jù)觸發(fā)總線。這種機制使用兩個硬件觸發(fā),共同創(chuàng)造一個觸發(fā)條件激活的范圍在規(guī)定范圍內的值。跟蹤捕獲跟蹤捕獲是指能夠記錄的指令,由指令執(zhí)行的因為它在實時執(zhí)行代碼的處理器。 JTAG調試模塊提供以下跟蹤功能:捕獲執(zhí)行跟蹤(指令總線周期)。捕獲數(shù)據(jù)跟蹤(數(shù)據(jù)總線周期)。對于每個數(shù)據(jù)總線周期,捕獲地址,數(shù)據(jù),或兩者兼而有之。啟動和停止捕獲跟蹤,實時,基于觸發(fā)器。手動啟動和主機控制下停止跟蹤??蛇x擇停止捕獲跟蹤時,跟蹤緩沖區(qū)已滿,留下處理器執(zhí)行。在片上內存緩沖區(qū)的JTAG調試模塊中存儲跟蹤數(shù)據(jù)。 (此內存是只能通過JTAG連接。 )存儲跟蹤數(shù)據(jù)在片調試探頭較大的緩沖區(qū)。某些跟蹤功能需要額外的許可證或調試工具來自第三方調試提供商。例如,一個片上跟蹤緩沖器的一個標準功能Nios II處理器,而是采用了片上跟蹤緩沖器需要額外的調試軟件和MIPS科技或勞特巴赫有限公司提供的硬件。有關詳細信息,請搜索關于MIPS科技網站()和勞特巴赫有限公司網站()的“Nios II”。執(zhí)行與數(shù)據(jù)跟蹤 JTAG調試模塊支持跟蹤指令總線(執(zhí)行跟蹤)時,數(shù)據(jù)總線(數(shù)據(jù)跟蹤),或兩者同時進行。執(zhí)行跟蹤記錄只有的指令地址執(zhí)行,使您能夠分析在內存(即,在其中的函數(shù))代碼執(zhí)行。數(shù)據(jù)跟蹤與記錄相關的數(shù)據(jù)每個加載和存儲操作的數(shù)據(jù)總線上。 JTAG調試模塊可以篩選數(shù)據(jù)總線跟蹤實時捕捉以下內容: 負載地址存儲地址雙方加載和存儲地址 負載數(shù)據(jù)加載地址和數(shù)據(jù) 存儲地址和數(shù)據(jù) 地址和數(shù)據(jù)的加載和存儲 在觸發(fā)事件的數(shù)據(jù)總線單一樣本跟蹤幀幀是一個單位的內存分配,收集跟蹤數(shù)據(jù)。然而,幀并不是一個絕對的衡量跟蹤標準。為了跟上處理器執(zhí)行實時步伐,進行優(yōu)化執(zhí)行跟蹤,只存儲選中的地址,如分支,電路,陷阱和中斷。這些地址,可以從主機端的調試軟件,可以由指令執(zhí)行跟蹤進行重建指定的精確。此外,執(zhí)行跟蹤數(shù)據(jù)以壓縮格式被存儲,使得一個幀代表以上的一個指令。如這些優(yōu)化的結果,實際開始和結束點跟蹤收集在執(zhí)行過程中可能會從用戶指定的啟動和結束略有不同。數(shù)據(jù)跟蹤存儲要求100跟蹤緩沖區(qū)實時加載和存儲。當存儲到跟蹤緩沖區(qū),數(shù)據(jù)跟蹤幀的優(yōu)先級低于執(zhí)行跟蹤框架。因此,當數(shù)據(jù)幀在實時存儲時,執(zhí)行和跟蹤數(shù)據(jù)都不能保證正好與每個同步等。附件2:外文原文(復印件)2. Processor ArchitectureThis chapter describes the hardware structure of the NiosII processor, including a discussion of all the functional units of the Nios II architecture and the fundamentals of the Nios II processor hardware implementation. This chapter contains the following sections: “Processor Implementation” on page 22 “Register File” on page 23 “Arithmetic Logic Unit” on page 24 “Reset and Debug Signals” on page 28 “Exception and Interrupt Controllers” on page 28 “Memory and I/O Organization” on page 210 “JTAG Debug Module” on page 217The Nios II architecture describes an instruction set architecture (ISA). The ISA in turn necessitates a set of functional units that implement the instructions. A Nios II processor core is a hardware design that implements the Nios II instruction set and supports the functional units described in this document. The processor core does not include peripherals or the connection logic to the outside world. It includes only the circuits required to implement the Nios II architecture.The Nios II architecture defines the following functional units: Register file Arithmetic logic unit (ALU) Interface to custom instruction logic Exception controller Internal or external interrupt controller Instruction bus Data bus Memory management unit (MMU) Memory protection unit (MPU) Instruction and data cache memories Tightly-coupled memory interfaces for instructions and data JTAG debug moduleProcessor ImplementationThe functional units of the Nios II architecture form the foundation for the Nios II instruction set. However, this does not indicate that any unit is implemented in hardware. The Nios II architecture describes an instruction set, not a particular hardware implementation. A functional unit can be implemented in hardware, emulated in software, or omitted entirely. A Nios II implementation is a set of design choices embodied by a particular Nios II processor core. All implementations support the instruction set defined in the Instruction Set Reference chapter of the Nios II Processor Reference Handbook. Each implementation achieves specific objectives, such as smaller core size or higher performance. This flexibility allows the Nios II architecture to adapt to different target applications. Implementation variables generally fit one of three trade-off patterns: more or less of a feature; inclusion or exclusion of a feature; hardware implementation or software emulation of a feature. An example of each trade-off follows: More or less of a featureFor example, to fine-tune performance, you can increase or decrease the amount of instruction cache memory. A larger cache increases execution speed of large programs, while a smaller cache conserves on-chip memory resources. Inclusion or exclusion of a featureFor example, to reduce cost, you can choose to omit the JTAG debug module. This decision conserves on-chip logic and memory resources, but it eliminates the ability to use a software debugger to debug applications. Hardware implementation or software emulationFor example, in control applications that rarely perform complex arithmetic, you can choose for the division instruction to be emulated in software. Removing the divide hardware conserves on-chip resources but increases the execution time of division operations. For information about which Nios II cores supports what features, refer to the Nios II Core Implementation Details chapter of the Nios II Processor Reference Handbook. For complete details about user-selectable parameters for the Nios II processor, refer to the Instantiating the Nios II Processor chapter of the Nios II Processor Reference Handbook.Register FileThe Nios II architecture supports a flat register file, consisting of thirty-two 32-bit general-purpose integer registers, and up to thirty-two 32-bit control registers. The architecture supports supervisor and user modes that allow system code to protect the control registers from errant applications.The Nios II processor can optionally have one or more shadow register sets. A shadow register set is a complete set of Nios II general-purpose registers. When shadow register sets are implemented, the CRS field of the status register indicates which register set is currently in use. An instruction access to a general-purpose register uses whichever register set is active.A typical use of shadow register sets is to accelerate context switching. When shadow register sets are implemented, the Nios II processor has two special instructions, rdprs and wrprs, for moving data between register sets. Shadow register sets are typically manipulated by an operating system kernel, and are transparent to application code. A Nios II processor can have up to 63 shadow register sets.For details about shadow register set implementation and usage, refer to “Registers” and “Exception Processing” in the Programming Model chapter of the Nios II Processor Reference Handbook. For details about the rdprs and wrprs instructions, refer to the Instruction Set Reference chapter of the Nios II Processor Reference Handbook. The Nios II architecture allows for the future addition of floating-point registers. Arithmetic Logic UnitThe Nios II ALU operates on data stored in general-purpose registers. ALU operations take one or two inputs from registers, and store a result back in a register.Unimplemented InstructionsSome Nios II processor core implementations do not provide hardware to support the entire Nios II instruction set. In such a core, instructions without

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論