日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

sparc體系架構(gòu)的窗口寄存器的深入理解

嵌入式IoT ? 來源:嵌入式IoT ? 作者:嵌入式IoT ? 2021-01-07 10:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

sparc體系架構(gòu)的窗口寄存器的深入理解

1.概述

2.窗口寄存器的特性

3.程序的設(shè)計

4.sparc設(shè)計對于嵌入式編程的優(yōu)劣

1.概述

sparc這種架構(gòu)有著特殊的窗口寄存器,使用sparc芯片,一定會對這種窗口寄存器產(chǎn)生疑惑,然而這種硬件特性卻讓軟件設(shè)計有著更加獨特的方式。下面來描述一下sparc架構(gòu)中這種串口寄存器的特性以及編程模型。

2394659a-5074-11eb-8b86-12bb97331649.png

采用窗口寄存器,可以減少函數(shù)調(diào)用過程中返回時間,因為通過硬件進行壓棧操作時,可以減少指令條數(shù)以及減少訪問存儲器的次數(shù)。

窗口寄存器的本質(zhì)是每當執(zhí)行一次函數(shù)調(diào)用過程時,寄存器窗口會自動的指向下一個窗口,當子程序返回時,也不需要額外的出棧操作,只是將窗口偏移到上個寄存器即可。

而兩個相鄰的窗口則有重疊部分,可以對兩個父子函數(shù)之間進行參數(shù)傳遞,這樣大大的提高了訪問的效率以及寄存器的專一性。

2.窗口寄存器的特性

當在實際的程序中使用時,往往會涉及到多個函數(shù)的嵌套,這些在復(fù)雜程序設(shè)計上非常的普遍,業(yè)務(wù)邏輯的增加會顯著的增加函數(shù)調(diào)用的深度。如果函數(shù)調(diào)用超過了這些8個窗口,sparc架構(gòu)又是該如何處理呢?

在sparc的架構(gòu)中,CWP(當前窗口指針)是PSR(程序狀態(tài)寄存器)的一部分,在某一固定的時刻,處理器中都只會有32個整數(shù)寄存器可以被使用。這32個寄存器為8個全局寄存器、8個返回結(jié)果寄存器、8個局部寄存器、8個輸入寄存器。CWP通常會因SAVE指令(SAVE指令一般在過程調(diào)用時使用,用來開辟新的棧幀并切換寄存器窗口)而減一,因RESTORE指令(在從過程中返回前切換回調(diào)用者的寄存器窗口)而加一,陷阱事件(中斷,異?;騎RAP指令)和RETT指令(從陷阱中返回)也會改變CWP,不過函數(shù)調(diào)用比陷阱更為常見。

23bbd74c-5074-11eb-8b86-12bb97331649.png

窗口無效掩碼(WIM) WIM指示了哪個窗口是無效的,無效的意思是該窗口保存了調(diào)用者的信息所以不可再使用,上圖中,WIM指向w7,而CWP指向w0,所以現(xiàn)在如果執(zhí)行一條SAVE指令,則會觸發(fā)窗口溢出陷阱,反之,如果CWP指向w0且又執(zhí)行了一條RESTORE指令,則會觸發(fā)窗口下溢陷阱。

所謂的窗口下溢則是說當前窗口不夠用了,需要將已經(jīng)滿了的窗口寄存器的數(shù)據(jù)壓入到棧上,也就是內(nèi)存中,壓入后的窗口寄存器又可以重新利用起來了,而上個滿了的窗口寄存器則存在內(nèi)存中了。當函數(shù)返回到窗口無效寄存器時,則發(fā)生上溢陷阱,該陷阱中會執(zhí)行出棧的操作,從而將寄存器進行恢復(fù)。

3.程序的設(shè)計

對于C語言來說,并不用關(guān)注架構(gòu)的不同帶來的差異性,而對于匯編來說,則設(shè)計卻是完全的不同。GCC已經(jīng)處理好了C轉(zhuǎn)換成匯編的邏輯。

23e62858-5074-11eb-8b86-12bb97331649.png

每個save指令都是在被調(diào)用的函數(shù)的第一條指令處開始執(zhí)行。而SAVE的指令與ADD的指令相同,其功能是可以將sparcCWP減一。讓CWP-1窗口成為新的當前的窗口。

當函數(shù)執(zhí)行完成后,則執(zhí)行restore指令,讓窗口指令加一。窗口就回歸原位了。

4.sparc設(shè)計對于嵌入式編程的優(yōu)劣

對于嵌入式來說,如果只設(shè)計可控的程序,邏輯設(shè)計上盡可能的單一可控,并且最好函數(shù)的嵌套深度不應(yīng)該超過8個,最好不發(fā)生上溢或者下溢操作。這樣不用訪問存儲器,并且底層的指令很少,對于程序的執(zhí)行效率很有保障。有上溢或者下溢,一次性就需要壓?;蛘叱鰲2僮?,使得其程序的執(zhí)行效率不在那么高效。

而對于rtos來說,設(shè)計上也稍微復(fù)雜了一些,需要不僅需要判斷當前窗口的溢出情況,還需要保存窗口寄存器的棧,這樣對于系統(tǒng)上下文的線程棧需要的空間消耗是非常大的。目前也沒有想到合適方式去減少棧的消耗,而且在rtos上,sparc架構(gòu)所占的優(yōu)勢并不是很明顯,以上僅僅是我對這種架構(gòu)在嵌入式上使用的一些看法。

總結(jié)起來,sparc架構(gòu)的好處是由于有了窗口寄存器模型,如果程序設(shè)計的優(yōu)秀簡單,這個是非常好的,效率也可以非常高,簡潔的寄存器、簡潔的控制狀態(tài),需要編程人員要有很高的水平。缺點就是不考慮sparc架構(gòu)的編程方式,將會使得程序的效率非常的低下,sparc芯片的使用也變得十分的困難。

責任編輯:xj

原文標題:sparc體系架構(gòu)的窗口寄存器的深入理解

文章出處:【微信公眾號:嵌入式IoT】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5620

    瀏覽量

    130454
  • 窗口
    +關(guān)注

    關(guān)注

    0

    文章

    66

    瀏覽量

    11315
  • SPARC
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    10188

原文標題:sparc體系架構(gòu)的窗口寄存器的深入理解

文章出處:【微信號:Embeded_IoT,微信公眾號:嵌入式IoT】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    深入解析SN74SSTVF16857 14位寄存器緩沖

    深入解析SN74SSTVF16857 14位寄存器緩沖 在電子設(shè)計領(lǐng)域,寄存器緩沖是非常重要的組件,它能幫助我們更好地處理和傳輸數(shù)據(jù)。今
    的頭像 發(fā)表于 04-23 16:15 ?98次閱讀

    深入解析SN74SSTU32864D:25位可配置寄存器緩沖

    深入解析SN74SSTU32864D:25位可配置寄存器緩沖 在電子設(shè)計領(lǐng)域,高性能、可配置的寄存器緩沖是實現(xiàn)高效數(shù)據(jù)傳輸和處理的關(guān)鍵組
    的頭像 發(fā)表于 04-23 13:40 ?140次閱讀

    深入解析SN74SSTV16857 14位寄存器緩沖

    深入解析SN74SSTV16857 14位寄存器緩沖 一、產(chǎn)品概述 SN74SSTV16857是一款14位寄存器緩沖,不過需要注意的是,
    的頭像 發(fā)表于 04-23 11:40 ?148次閱讀

    SN74SSTV16857:14位寄存器緩沖的技術(shù)剖析

    SN74SSTV16857:14位寄存器緩沖的技術(shù)剖析 引言 在電子設(shè)計領(lǐng)域,寄存器緩沖是一種常見且關(guān)鍵的組件,它在數(shù)據(jù)傳輸和處理中發(fā)揮著重要作用。今天我們要
    的頭像 發(fā)表于 04-23 11:40 ?182次閱讀

    深入解析 SSTV16859:雙輸出 13 位寄存器的卓越性能與應(yīng)用

    深入解析 SSTV16859:雙輸出 13 位寄存器的卓越性能與應(yīng)用 在電子設(shè)計領(lǐng)域,合適的寄存器對于系統(tǒng)的穩(wěn)定運行和高效性能至關(guān)重要。今天,我們將深入探討 Fairchild 公司
    的頭像 發(fā)表于 04-11 16:55 ?676次閱讀

    深入理解積分型ADC

    深入理解積分型ADC 一、引言 作為電子工程師,我們在設(shè)計中常常需要將模擬信號轉(zhuǎn)換為數(shù)字信號,而積分型模數(shù)轉(zhuǎn)換(ADCs)就是實現(xiàn)這一功能的重要手段之一。積分型ADC能夠提供高分辨率的模數(shù)轉(zhuǎn)換,并
    的頭像 發(fā)表于 04-02 09:15 ?728次閱讀

    74AHC594:8位移位寄存器的詳細解析與應(yīng)用

    74AHC594:8位移位寄存器的詳細解析與應(yīng)用 在電子設(shè)計領(lǐng)域,移位寄存器是一種常見且重要的數(shù)字電路元件,它能夠?qū)崿F(xiàn)數(shù)據(jù)的串行輸入、串行輸出或并行輸出。今天,我們就來深入了解一下SGMICRO公司
    的頭像 發(fā)表于 03-26 09:10 ?519次閱讀

    74HC595 8位移位寄存器:設(shè)計與應(yīng)用全解析

    74HC595 8位移位寄存器:設(shè)計與應(yīng)用全解析 在電子工程師的工具箱中,移位寄存器是一個非常實用的組件。今天,我們就來深入了解一下SG Micro Corp的74HC595 8位串行輸入/串行輸出
    的頭像 發(fā)表于 03-16 10:35 ?413次閱讀

    74LV595A:8位移位寄存器的全方位解析

    74LV595A:8位移位寄存器的全方位解析 在電子設(shè)計領(lǐng)域,移位寄存器是一種常用的邏輯元件,能實現(xiàn)數(shù)據(jù)的串行輸入和并行輸出。今天我們要深入探討SGMICRO的74LV595A,一款功能強大的8位
    的頭像 發(fā)表于 03-16 10:35 ?293次閱讀

    深入剖析74HCT595:8位移位寄存器的卓越之選

    深入剖析74HCT595:8位移位寄存器的卓越之選 作為電子工程師,在設(shè)計電路時,經(jīng)常會遇到需要擴展IO口或者進行數(shù)據(jù)串行傳輸?shù)那闆r。這時,一款性能出色的移位寄存器就顯得尤為重要。今天,我們就來
    的頭像 發(fā)表于 03-16 10:25 ?802次閱讀

    深入解析STPIC6D595:8位移位寄存器的卓越性能與應(yīng)用

    深入解析STPIC6D595:8位移位寄存器的卓越性能與應(yīng)用 在電子設(shè)計領(lǐng)域,對于需要相對適中負載功率的系統(tǒng),如LED驅(qū)動等,一款合適的移位寄存器至關(guān)重要。今天,我們就來深入探討STP
    的頭像 發(fā)表于 01-26 17:40 ?892次閱讀

    深入解析CY74FCT399T:一款高性能的四2輸入寄存器

    深入解析CY74FCT399T:一款高性能的四2輸入寄存器 在電子工程師的日常設(shè)計中,選擇合適的寄存器對于實現(xiàn)高效、穩(wěn)定的電路至關(guān)重要。今天,我們就來深入了解一下德州儀器(Texas
    的頭像 發(fā)表于 01-16 17:10 ?1229次閱讀

    從“能用”到“懂原理”:ARMv8寄存器架構(gòu)深度拆解

    、ELR這些寄存器,只知道是保存狀態(tài)的,卻搞不清背后的設(shè)計邏輯; 其實ARMv8的寄存器架構(gòu),不是“零散知識點的堆砌”,而是圍繞“高效運算”“安全隔離”“狀態(tài)可控”三個核心目標設(shè)計的完整體系
    的頭像 發(fā)表于 01-10 07:10 ?384次閱讀
    從“能用”到“懂原理”:ARMv8<b class='flag-5'>寄存器</b><b class='flag-5'>架構(gòu)</b>深度拆解

    LAT1170+如何理解 RAMECC FAR 寄存器的值

    電子發(fā)燒友網(wǎng)站提供《LAT1170+如何理解 RAMECC FAR 寄存器的值.pdf》資料免費下載
    發(fā)表于 01-09 16:12 ?0次下載

    使用寄存器點亮LED燈

    學(xué)習本章時,配合以上芯片手冊中的“19. I/O Ports”章節(jié)一起閱讀,效果會更佳,特別是涉及到寄存器說明的部分。本章內(nèi)容涉及到較多寄存器方面的深入內(nèi)容,對于初學(xué)者而言這些內(nèi)容豐富也較難
    的頭像 發(fā)表于 05-28 17:37 ?1511次閱讀
    使用<b class='flag-5'>寄存器</b>點亮LED燈
    吴桥县| 泰和县| 治多县| 诸城市| 阿荣旗| 黔江区| 太仓市| 邻水| 石景山区| 定襄县| 泗洪县| 霍城县| 泗水县| 夏津县| 溧阳市| 金沙县| 崇左市| 淅川县| 旅游| 石狮市| 醴陵市| 昌都县| 中牟县| 分宜县| 仙桃市| 梁平县| 阳谷县| 南漳县| 慈溪市| 南陵县| 满城县| 江源县| 乌鲁木齐市| 大渡口区| 乾安县| 蒲城县| 建宁县| 辉南县| 腾冲县| 奉贤区| 云龙县|