一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

Cortex A9架構(gòu)下為何使用結(jié)構(gòu)體效率會(huì)更高一些

電子設(shè)計(jì) ? 來源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-24 12:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作為過來人,我發(fā)現(xiàn)很多程序猿新手,在編寫代碼的時(shí)候,特別喜歡定義很多獨(dú)立的全局變量,而不是把這些變量封裝到一個(gè)結(jié)構(gòu)體中,主要原因是圖方便,但是要知道,這其實(shí)是一個(gè)不好的習(xí)慣,而且會(huì)降低整體代碼的性能。

另一方面,最近有幸與大神「公眾號(hào):裸機(jī)思維」的傻孩子交流的時(shí)候,他聊到:“其實(shí)Cortex在架構(gòu)層面就是更偏好面向?qū)ο蟮模呐履阒皇鞘褂昧私Y(jié)構(gòu)體),其表現(xiàn)形式就是:「Cortex所有的尋址模式都是間接尋址」——換句話說「一定依賴一個(gè)寄存器作為基地址」。

舉例來說,同樣是訪問外設(shè)寄存器,過去在8位和16位機(jī)時(shí)代,人們喜歡給每一個(gè)寄存器都單獨(dú)綁定地址——當(dāng)作全局變量來訪問,而現(xiàn)在Cortex在架構(gòu)上更鼓勵(lì)底層驅(qū)動(dòng)以寄存器頁(也就是結(jié)構(gòu)體)為單位來定義寄存器,這也就是說,同一個(gè)外設(shè)的寄存器是借助擁有同一個(gè)基地址的結(jié)構(gòu)體來訪問的?!?/p>

以Cortex A9架構(gòu)為前提,下面一口君詳細(xì)給你解釋為什么使用結(jié)構(gòu)體效率會(huì)更高一些。

一、全局變量代碼反匯編

1. 源文件

「gcd.s」

text
.global _start
_start:
ldr sp,=0x70000000 get stack top pointer
b main

「main.c」


* main.c

* Created on: 2020-12-12
* Author: pengdan

int xx=0;
int yy=0;
int zz=0;
int main(void)

xx=0x11;
yy=0x22;
zz=0x33;
while(1);
return 0;

「map.lds」

OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_FORMAT("elf32-arm", "elf32-arm", "elf32-arm")
OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS

. = 0x40008000;
. = ALIGN(4);
.text :

gcd.o(.text)
*(.text)

. = ALIGN(4);
.rodata :
{ *(.rodata) }
. = ALIGN(4);
.data :
{ *(.data) }
. = ALIGN(4);
.bss :
{ *(.bss) }

「Makefile」

TARGET=gcd
TARGETC=main
all:
arm-none-linux-gnueabi-gcc -O1 -g -c -o $(TARGETC).o $(TARGETC).c
arm-none-linux-gnueabi-gcc -O1 -g -c -o $(TARGET).o $(TARGET).s
arm-none-linux-gnueabi-gcc -O1 -g -S -o $(TARGETC).s $(TARGETC).c
arm-none-linux-gnueabi-ld $(TARGETC).o $(TARGET).o -Tmap.lds -o $(TARGET).elf
arm-none-linux-gnueabi-objcopy -O binary -S $(TARGET).elf $(TARGET).bin
arm-none-linux-gnueabi-objdump -D $(TARGET).elf > $(TARGET).dis
clean:
rm -rf *.o *.elf *.dis *.bin

【交叉編譯工具,自行搜索安裝】

審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式設(shè)計(jì)

    關(guān)注

    0

    文章

    393

    瀏覽量

    21800
  • Cortex
    +關(guān)注

    關(guān)注

    2

    文章

    203

    瀏覽量

    47346
  • ARM架構(gòu)
    +關(guān)注

    關(guān)注

    15

    文章

    183

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    迅為iTOP-3588S開發(fā)板核心板引腳240PIN全部引出8GB內(nèi)存32GBEMMC存儲(chǔ)

    性能強(qiáng) iTOP-3588S開發(fā)板采用瑞芯微RK3588S處理器,是全新代AloT高端應(yīng)用芯片,搭載八核64位CPU,四核Cortex-A76和四核Cortex-A55架構(gòu)主頻高達(dá)2
    發(fā)表于 06-23 11:19

    瑞迅科技RK3568主板賦能健康檢測一體機(jī)創(chuàng)新應(yīng)用

    硬件平臺(tái),RK3568主板的創(chuàng)新應(yīng)用正在重新定義健康服務(wù)的效率與體驗(yàn)。 、RK3568主板:健康檢測一體機(jī)的“智慧心臟” 瑞迅科技自主研發(fā)的RK3568主板,搭載四核ARM Cortex-A
    的頭像 發(fā)表于 05-22 15:45 ?242次閱讀
    瑞迅科技RK3568主板賦能健康檢測<b class='flag-5'>一體</b>機(jī)創(chuàng)新應(yīng)用

    iTOP-3588S開發(fā)板四核心架構(gòu)GPU內(nèi)置GPU可以完全兼容0penGLES1.1、2.0和3.2。

    性能強(qiáng) iTOP-3588S開發(fā)板采用瑞芯微RK3588S處理器,是全新代AloT高端應(yīng)用芯片,搭載八核64位CPU,四核Cortex-A76和四核Cortex-A55架構(gòu)主頻高達(dá)2
    發(fā)表于 05-15 10:36

    迅為iTOP-RK3588S開發(fā)板/核心板瑞芯微RK3588S處理器6TOPS算力內(nèi)置NPU

    性能強(qiáng) iTOP-3588S開發(fā)板采用瑞芯微RK3588S處理器,是全新代AloT高端應(yīng)用芯片,搭載八核64位CPU,四核Cortex-A76和四核Cortex-A55架構(gòu)主頻高達(dá)2
    發(fā)表于 04-10 11:13

    Arm發(fā)布基于Armv9架構(gòu)Cortex-A320處理器

    邊緣 AI 需要更卓越的計(jì)算性能、更強(qiáng)大的安全性,以及更出色的軟件靈活性。隨著軟件愈發(fā)復(fù)雜化,Armv9 架構(gòu)應(yīng)運(yùn)而生,以提供先進(jìn)的機(jī)器學(xué)習(xí) (ML) 和 AI 功能,并具備增強(qiáng)的安全特性。該架構(gòu)現(xiàn)已在
    的頭像 發(fā)表于 02-27 17:10 ?780次閱讀

    迅為iTOP-RK3588S開發(fā)板/核心板6TOPS的NPU算力視頻編解碼8K編碼+8K解碼

    性能強(qiáng) iTOP-3588S開發(fā)板采用瑞芯微RK3588S處理器,是全新代AloT高端應(yīng)用芯片,搭載八核64位CPU,四核Cortex-A76和四核Cortex-A55架構(gòu)主頻高達(dá)2
    發(fā)表于 02-20 14:24

    迅為RK3588S開發(fā)板/核心板介紹

    性能強(qiáng) iTOP-3588S開發(fā)板采用瑞芯微RK3588S處理器,是全新代AloT高端應(yīng)用芯片,搭載八核64位CPU,四核Cortex-A76和四核Cortex-A55架構(gòu)主頻高達(dá)2
    發(fā)表于 02-13 14:40

    基于Armv9架構(gòu)的MediaTek天璣8400移動(dòng)芯片問世

    如今,基于 Armv9 CPU 技術(shù)構(gòu)建的人工智能 (AI) 旗艦智能手機(jī)立于技術(shù)前沿,為 AI 創(chuàng)新提供了前所未有的機(jī)遇。為了應(yīng)對(duì)持續(xù)增長的 AI 工作負(fù)載的計(jì)算強(qiáng)度及復(fù)雜度,Armv9.2 CPU 集群帶來了更強(qiáng)性能、更高效率,以及更多功能,為新
    的頭像 發(fā)表于 12-24 14:18 ?766次閱讀

    Cortex-A55 處理器到底什么來頭?創(chuàng)龍教儀文帶您了解

    Cortex-A55:同樣支持多核配置,但通常會(huì)有更高的核心數(shù),如八核架構(gòu)。在頻率方面,也會(huì)根據(jù)具體實(shí)現(xiàn)有所不同。 國產(chǎn)Cortex-A
    發(fā)表于 12-03 17:00

    結(jié)構(gòu)成員的順序會(huì)影響結(jié)構(gòu)的大小嗎

    相同的結(jié)構(gòu)成員,如果把順序調(diào)整下,會(huì)不會(huì)影響結(jié)構(gòu)的大??? 答案是會(huì)的,這主要跟字節(jié)對(duì)齊有關(guān)
    的頭像 發(fā)表于 11-25 16:24 ?560次閱讀

    Arm Cortex-X925 樹立全新性能標(biāo)桿,實(shí)現(xiàn)人工智能、游戲和多任務(wù)處理的先進(jìn)功能

    Cortex-X925基于Armv9.2架構(gòu),樹立了CPU性能的全新標(biāo)桿,實(shí)現(xiàn)了Cortex-X系列有史以來最大幅度的IPC同比提升。得益于最新的三納米工藝節(jié)點(diǎn),Cortex-X925
    的頭像 發(fā)表于 10-08 12:43 ?828次閱讀
    Arm <b class='flag-5'>Cortex</b>-X925 樹立全新性能標(biāo)桿,實(shí)現(xiàn)人工智能、游戲和多任務(wù)處理的先進(jìn)功能

    iTOP-3562開發(fā)板/核心板采用RK3562,集成四核A53+Mali G52架構(gòu)

    A53+Mali G52架構(gòu),主頻2GHZ,內(nèi)置1TOPSNPU算力,RK809動(dòng)態(tài)調(diào)頻。支持OpenGLES1.1/2.0/3.2、0penCL2.0、Vulkan 1.1內(nèi)嵌高性能2D加速硬件
    發(fā)表于 09-05 11:30

    X86架構(gòu)處理器有哪些優(yōu)點(diǎn)和缺點(diǎn)

    X86架構(gòu)處理器作為計(jì)算機(jī)領(lǐng)域的重要組成部分,具有多個(gè)顯著的優(yōu)點(diǎn)和定的缺點(diǎn)。以下是對(duì)X86架構(gòu)處理器優(yōu)缺點(diǎn)的詳細(xì)分析。
    的頭像 發(fā)表于 08-22 11:25 ?4746次閱讀

    X86架構(gòu)和ARM架構(gòu)有什么區(qū)別

    X86架構(gòu)和ARM架構(gòu)是兩種主流的CPU架構(gòu),它們?cè)诙鄠€(gè)方面存在顯著的差異。以下是對(duì)這兩種架構(gòu)的詳細(xì)比較,涵蓋了追求目標(biāo)、應(yīng)用領(lǐng)域、技術(shù)特點(diǎn)、性能功耗比、軟件生態(tài)以及未來趨勢等方面。
    的頭像 發(fā)表于 08-22 11:21 ?1.2w次閱讀

    聚徽-一體工控機(jī)為何會(huì)死機(jī)

    工業(yè)自動(dòng)化推動(dòng)了現(xiàn)代工業(yè)設(shè)備的革新,逐步取代了傳統(tǒng)的人工化生產(chǎn)流程。在這過程中,工控觸摸一體機(jī)發(fā)揮著至關(guān)重要的作用。然而,即使是高效的自動(dòng)化設(shè)備,在日常使用中也可能遭遇故障,其中常見的便是死機(jī)現(xiàn)象。那么,一體工控機(jī)
    的頭像 發(fā)表于 08-12 09:42 ?607次閱讀