freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

microblaze軟核處理器接口-資料下載頁(yè)

2025-07-17 15:59本頁(yè)面
  

【正文】 Reg 機(jī)器狀態(tài)寄存器 std_logic_vector(0 to 4) output Trace_PID_Reg 進(jìn)程標(biāo)示寄存器 std_logic output Trace_New_Reg_Value 目標(biāo)寄存器更新值 std_logic output Trace_Exception_Taken 指令引起采納異常 std_logic output Trace_Exception_Kind 異常類(lèi)型 std_logic_vector(0 to 31) output Trace_Jump_Taken 分支指令評(píng)估為真,例如:采納 std_logic_vector(0 to 31) output Trace_Delay_Slot 指令時(shí)延遲隙的采納分支 std_logic_vector(0 to 31) output Trace_Data_Access 數(shù)據(jù)側(cè)存儲(chǔ)器訪問(wèn)有效 std_logic output 跟蹤接口 跟蹤信號(hào) Trace_Data_Address 數(shù)據(jù)側(cè)存儲(chǔ)器訪問(wèn)地址 std_logic_vector(0 to 31) output Trace_Data_Write_Value 數(shù)據(jù)側(cè)的寫(xiě)訪問(wèn)值 std_logic_vector(0 to 31) output Trace_Data_Byte_Enable 數(shù)據(jù)側(cè)存儲(chǔ)器訪問(wèn)字節(jié)使能 std_logic output Trace_Data_Read 數(shù)據(jù)側(cè)的存儲(chǔ)器訪問(wèn)為讀操作 std_logic output Trace_Data_Write 數(shù)據(jù)側(cè)的存儲(chǔ)器訪問(wèn)為寫(xiě)操作 std_logic output Trace_DCache_Req 數(shù)據(jù)存儲(chǔ)器地址在數(shù)據(jù)緩存范圍內(nèi) std_logic output Trace_DCache_Hit 數(shù)據(jù)存儲(chǔ)器地址在數(shù)據(jù)緩存中 std_logic output Trace_ICache_Req 指令存儲(chǔ)器地址在指令緩存范圍內(nèi) std_logic output Trace_ICache_Hit 指令存儲(chǔ)器地址在指令緩存中 std_logic output Trace_OF_PipeRun 流水超前為譯碼階段 std_logic output Trace_EX_pipeRun 流水超前為執(zhí)行階段 std_logic output Trace_MEM_pipeRun 流水超前為存儲(chǔ)器階段 std_logic output Trace_MB_Halted 調(diào)試導(dǎo)致流水線停止 std_logic output 跟蹤接口 跟蹤異常類(lèi)型 Trace_Exception_Kind[0:4] 描述 00000 FSL異常 00001 非對(duì)齊異常 00010 非法操作符異常 00011 指令總線異常 00100 數(shù)據(jù)總線異常 00101 除數(shù)為 0異常 00110 FPU異常 00111 特權(quán)指令異常 01010 中斷 01011 外部非屏蔽斷點(diǎn) 01100 外部可屏蔽斷點(diǎn) 10000 數(shù)據(jù)存儲(chǔ)異常 10001 指令存儲(chǔ)異常 10010 數(shù)據(jù) TLB缺失異常 10011 指令 TLB缺失異常 編程接口 MicroBlaze應(yīng)用二進(jìn)制接口( Application Binary Interface, ABI)對(duì)于在匯編語(yǔ)言級(jí)開(kāi)發(fā)軟件是非常重要 的。 MicroBlaze GNU編譯器允許下面所介紹的規(guī)約。 由匯編語(yǔ)言程序員所編寫(xiě)的代碼也遵循同樣的規(guī)約, 該規(guī)約與編譯器產(chǎn)生的代碼兼容。 編程接口 堆棧規(guī)則 表 MicroBlaze的堆棧規(guī)則。堆棧幀的 ABI規(guī)則定義了協(xié)議,該協(xié)議用來(lái)傳遞參數(shù),保存非 易失性存儲(chǔ)器的值和為函數(shù)內(nèi)的本地變量分配空間。 編程接口 堆棧規(guī)則 高地址 為調(diào)用子例程的功能參數(shù)( Arg n…Arg1 ) (可選的:對(duì)于任何一個(gè)由當(dāng)前程序所調(diào)用程序的最多數(shù)目的參數(shù)要求 ) 先前的堆棧指針 鏈接寄存器( R15) 被調(diào)者保存寄存器( R31..R19) (可選的:只有那些當(dāng)前程序所使用的寄存器被保存 ) 當(dāng)前程序的本地變量 (可選的:如果在程序中定義才出現(xiàn) ) 功能參數(shù)( Argn…Arg1 ) (可選的:對(duì)于任何一個(gè)由當(dāng)前程序所調(diào)用程序的最多數(shù)量的參數(shù)要求 ) 新堆棧指針 鏈接寄存器 低地址 編程接口 堆棧規(guī)則 那些包含調(diào)用其它子例程的函數(shù)也稱(chēng)為非葉結(jié)點(diǎn) 函數(shù)。這些非葉結(jié)點(diǎn)函數(shù)為自己創(chuàng)建新的堆棧幀。當(dāng) 程序開(kāi)始執(zhí)行時(shí),堆棧指針有最大值。當(dāng)函數(shù)被調(diào) 用,堆棧指針被減小。調(diào)用函數(shù)的堆棧指針的值比被 調(diào)函數(shù)的堆棧指針的值要高。 圖 。該例子 Fun1調(diào)用 Fun2, Fun2調(diào)用 Fun3。當(dāng) Fun1調(diào)用 Fun2時(shí), SP的值減 小。 SP繼續(xù)減少用來(lái)為 Fun3提供堆棧幀。在返回時(shí), SP的值增加。 編程接口 堆棧規(guī)則 調(diào)用函數(shù)通過(guò)寄存器 R5R10或堆棧幀傳遞參數(shù)到 被調(diào)用函數(shù)。被調(diào)者使用調(diào)用者的堆棧區(qū)域來(lái)保存?zhèn)? 遞到被調(diào)者的參數(shù)。例如, Fun2的參數(shù)保存在 R5R10 或者分配給 Fun1的堆棧幀。 圖 函數(shù)調(diào)用過(guò)程 存儲(chǔ)器模型 MicroBlaze所定義的存儲(chǔ)器模型有四個(gè)不同的 部分: ( 1)小數(shù)據(jù)區(qū); ( 2)數(shù)據(jù)區(qū); ( 3)普通非初始化區(qū); ( 4)文字或常數(shù); 存儲(chǔ)器模型 小數(shù)據(jù)區(qū) 小尺寸的全局初始化變量保存在這個(gè)區(qū)域。保存 變量的尺寸門(mén)檻為 8個(gè)字節(jié)(在 MicroBlaze C 編譯器 mbgcc),但是能通過(guò)給編譯器命令行改變值。 64KB 的存儲(chǔ)器分配給小數(shù)據(jù)區(qū)。通過(guò)使用讀寫(xiě)小數(shù)據(jù)區(qū)指 針寄存器 (R13)和 16位偏移量來(lái)訪問(wèn)這個(gè)區(qū)域。分配小 尺寸的變量到這個(gè)區(qū)域減少要求使用 IMM指令訪問(wèn)全 局變量。在該區(qū)域的變量可以使用絕對(duì)地址訪問(wèn)。 存儲(chǔ)器模型 數(shù)據(jù)區(qū) 相對(duì)而言,大尺寸的初始化的變量被保存到數(shù) 據(jù)區(qū)內(nèi),使用讀寫(xiě)小數(shù)據(jù)區(qū)指針寄存器( R13)或 絕對(duì)地址訪問(wèn)(取決于編譯器的命令行選項(xiàng))。 存儲(chǔ)器模型 普通的非初始區(qū) 非初始化的全局變量保存在這個(gè)區(qū)域,使用讀 寫(xiě)小數(shù)據(jù)區(qū)的指針寄存器 R13或絕對(duì)地址訪問(wèn)(取 決于編譯器的設(shè)置)。 存儲(chǔ)器模型 文字或常數(shù) 常數(shù)存放在只讀小數(shù)據(jù)區(qū)。使用只讀小數(shù)據(jù)區(qū) 指針寄存器( R2)訪問(wèn)。 中斷和異常句柄 MicroBlaze保留一些地址空間用來(lái)處理中斷和 異常。表 。 有效 硬件跳轉(zhuǎn)到 軟件標(biāo)號(hào) Start/Reset 0x0 _start User expection 0x8 _exception_handler Interrupt 0x10 _interrupt_handler Break(HW/SW) 0x18 Hardware exception 0x20 _hw_exception_handler Reserved for future use 0x280x4F 中斷和異常句柄 下面給出了在這些位置所期望的代碼。對(duì)于沒(méi)有使 用 xlmodexmdstub編譯器選項(xiàng)的程序, 件由 mbgcc編譯器傳遞到 mbld連接器。這個(gè)文件設(shè)置 合適的地址用于異常句柄。 對(duì)于使用 xlmodexmdstub編譯器選項(xiàng)的程序, 。通過(guò)使用已經(jīng)加 載到 0x0地址的 xmdstub運(yùn)行程序。因此在運(yùn)行時(shí), 0x8到 0x14地址(取決中斷還是異 常)寫(xiě)合適的指令。 中斷和異常句柄 ? 下面給出了用于處理中斷和異常的句柄代碼。 ? 0x00: bri _start1 ? 0x04: nop ? 0x08: imm high bits of address (user exception handler) ? 0x0c: bri _exception_handler ? 0x10: imm high bits of address (interrupt handler) ? 0x14: bri _interrupt_handler ? 0x20: imm high bits of address (HW exception handler) ? 0x24: bri _hw_exception_handler 中斷和異常句柄 MicroBlaze允許異常和中斷例程放在任何一個(gè) 32 位地址。用戶(hù)異常句柄代碼由 _exception_handler開(kāi)始, 硬件異常句柄由 _hw_exception_handler。而中斷句柄由 _interrupt_handler開(kāi)始。 在當(dāng)前的 MicroBlaze系統(tǒng)中,有一些用于中斷和異 常處理的空程序,用戶(hù)可以修改這些空程序。為了重 載這些程序,并鏈接用戶(hù)自己的中斷和異常句柄,必 須使用 interrupt_handler屬性來(lái)定義中斷句柄代碼。 當(dāng) XMD工具使用軟件斷點(diǎn)時(shí),斷點(diǎn)( HW/SW)地 址位置被保留用來(lái)處理軟件斷點(diǎn) 。
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1