ARM微處理器的工作狀態(tài)
處理器狀態(tài)
1.ARM狀態(tài):32位,這種狀態(tài)下執(zhí)行的是字方式的ARM指令
2.Thumb狀態(tài):16位,這種狀態(tài)下執(zhí)行的是半字方式的ARM指令
芯片(SC2440)(Samsung)SOC(片上系統(tǒng))
CPU與外設(shè)的連接(非直連)
- 利用控制器(LCD)與適配器(顯卡)
- 例如:顯卡與CPU連接,外設(shè)與顯卡連接
- (CPU)ARM920T:一個(gè)有37個(gè)寄存器(每個(gè)寄存器的容量都是32位):31個(gè)通用寄存器,(包含兩套匯編指令:ARM指令32位,Thumb指令16位):32表示一條指令由32位二進(jìn)制位組成,16表示一條指令由16位二進(jìn)制位組成
- R13:SP 堆棧寄存器账劲,對(duì)棧區(qū)的操作
- R14:LR 鏈接寄存器刷钢,處理中斷/異常服務(wù)程序,將下一條指令的地址放到LR寄存器中,處理完異常之后,再重新回到原來(lái)的地方往下執(zhí)行
- R15:PC 程序計(jì)數(shù)器(存放的是指令)在數(shù)據(jù)區(qū)
- CPSR:當(dāng)前程序狀態(tài)寄存器(高4位功能: N:表示上一次執(zhí)行結(jié)果為負(fù)數(shù) Z:一條指令執(zhí)行結(jié)果為0 C:做加法或減法發(fā)生禁位則C置1 V:溢出 低八位功能: 第5位T:表示是出于Thumb狀態(tài), 第6位F:表示FRQ 第7位I:表示IRQ )
- SPSR:用來(lái)備份CPSR的
進(jìn)程空間劃分了四個(gè)區(qū)域
1.堆區(qū)
2.棧區(qū):(既可以是順序棧也可以是鏈?zhǔn)綏1锼瘮?shù)調(diào)用相當(dāng)于的操作是入棧彻舰,函數(shù)調(diào)用結(jié)束蔓涧,空間被回收即為出棧)耍缴,(局部變量的定義與形參變量的定義都定義在棧區(qū)渐苏,形參的本質(zhì)都是變量定義)
3.數(shù)據(jù)區(qū)
4.代碼區(qū)
CPU執(zhí)行一條指令的基本過(guò)程
1.取指(獲取指令,從內(nèi)存里獲取)
2.譯碼
2.5.取數(shù)據(jù)(可能有的指令需要做,有的不需要)(取數(shù)據(jù):從立即數(shù)里取數(shù)據(jù),歸根到底是從內(nèi)存里取)(mov r0 10:不用取數(shù)據(jù),但要存數(shù)據(jù))
3.執(zhí)行
3.5存數(shù)據(jù)(可能有的指令需要做)
什么是片上系統(tǒng)
- SoC: System on Chip的縮寫技健,稱為系統(tǒng)級(jí)芯片勒葱,也有稱片上系統(tǒng),意指它是一個(gè)產(chǎn)品巴柿,是一個(gè)有專用目標(biāo)的集成電路凛虽,其中包含完整系統(tǒng)并有嵌入軟件的全部?jī)?nèi)容。
從狹義角度講广恢,它是信息系統(tǒng)核心的芯片集成凯旋,是將系統(tǒng)關(guān)鍵部件集成在一塊芯片上;從廣義角度講, SoC是一個(gè)微小型系統(tǒng)袁波,如果說(shuō)中央處理器(CPU)是大腦瓦阐,那么SoC就是包括大腦、心臟篷牌、眼睛和手的系統(tǒng)。國(guó)內(nèi)外學(xué)術(shù)界一般傾向?qū)oC定義為將微處理器踏幻、模擬IP核枷颊、數(shù)字IP核和存儲(chǔ)器(或片外存儲(chǔ)控制接口)集成在單一芯片上,它通常是客戶定制的该面,或是面向特定用途的標(biāo)準(zhǔn)產(chǎn)品夭苗。SoC定義的基本內(nèi)容主要表現(xiàn)在兩方面:其一是它的構(gòu)成,其二是它形成過(guò)程隔缀。系統(tǒng)級(jí)芯片的構(gòu)成可以是系統(tǒng)級(jí)芯片控制邏輯模塊题造、微處理器/微控制器CPU 內(nèi)核模塊、數(shù)字信號(hào)處理器DSP模塊猾瘸、嵌入的存儲(chǔ)器模塊界赔、和外部進(jìn)行通訊的接口模塊、含有ADC /DAC的模擬前端模塊牵触、電源提供和功耗管理模塊淮悼,對(duì)于一個(gè)無(wú)線SoC還有射頻前端模塊、用戶定義邏輯(它可以由FPGA或ASIC實(shí)現(xiàn))以及微電子機(jī)械模塊揽思,更重要的是一個(gè)SoC 芯片內(nèi)嵌有基本軟件(RDOS或COS以及其他應(yīng)用軟件)模塊或可載入的用戶軟件等袜腥。系統(tǒng)級(jí)芯片形成或產(chǎn)生過(guò)程包含以下三個(gè)方面:1) 基于單片集成系統(tǒng)的軟硬件協(xié)同設(shè)計(jì)和驗(yàn)證;2) 再利用邏輯面積技術(shù)使用和產(chǎn)能占有比例有效提高即開發(fā)和研究IP核生成及復(fù)用技術(shù),特別是大容量的存儲(chǔ)模塊嵌入的重復(fù)應(yīng)用等;3) 超深亞微米(UDSM) 钉汗、納米集成電路的設(shè)計(jì)理論和技術(shù)羹令。SoC設(shè)計(jì)的關(guān)鍵技術(shù) 具體地說(shuō), SoC設(shè)計(jì)的關(guān)鍵技術(shù)主要包括總線架構(gòu)技術(shù)损痰、IP核可復(fù)用技術(shù)福侈、軟硬件協(xié)同設(shè)計(jì)技術(shù)、SoC驗(yàn)證技術(shù)徐钠、可測(cè)性設(shè)計(jì)技術(shù)癌刽、低功耗設(shè)計(jì)技術(shù)、超深亞微米電路實(shí)現(xiàn)技術(shù)等,此外還要做嵌入式軟件移植显拜、開發(fā)研究衡奥,是一門跨學(xué)科的新興研究領(lǐng)域。
異常模式
1.用戶模式usr 17個(gè)寄存器R0-R12 R13 R14 R15 CPSR
2.系統(tǒng)模式sys 17個(gè)寄存器
3.快速中斷異常模式fiq 16個(gè)寄存器R0-R7 R8-R12 R15 CPSR SPSR
4.中斷異常模式irq 20個(gè)寄存器 R13 R14(自帶的) SPSR
5.管理異常模式svc 20個(gè)寄存器 R13 R14(自帶的) SPSR
6.中止異常模式abt 20個(gè)寄存器 R13 R14 SPSR
7.未定義異常模式und 20個(gè)寄存器 R13 R14(自帶的) SPSR
ARM所支持的異常
1.復(fù)位
2.未定義指令
3.軟件中斷
進(jìn)程的5個(gè)狀態(tài)
1.就緒
2.執(zhí)行
3.僵尸
4.暫停
5.睡眠(一個(gè)進(jìn)程進(jìn)入睡眠的好處是,可以節(jié)省時(shí)間片給別的進(jìn)程執(zhí)行)(如何喚醒呢?通過(guò)中斷)
寄存器(寄生在CPU里面的寄存器,寄存器不能獨(dú)立存在)的存儲(chǔ)方式
1.cache(1)獲取數(shù)據(jù)的速度比在內(nèi)存里快很多(2)如果cache里有CPU想要的數(shù)據(jù),則CPU不需要訪問(wèn)內(nèi)存了,速度大大提高(3)但是cache容量不是太大
2.內(nèi)存
3.外存
C語(yǔ)言回顧
- C語(yǔ)言的核心是函數(shù)
指針最大的用途
1.指針和函數(shù)形參(指針可以傳遞一塊內(nèi)存空間)
2.指針和結(jié)構(gòu)體
函數(shù)的定義
1.自定義函數(shù)
2.別人寫的函數(shù):(1)C庫(kù)(2)操作系統(tǒng)(OS)提供的(系統(tǒng)調(diào)用函數(shù))
3.第三方函數(shù)
作業(yè)
- 結(jié)構(gòu)體作為函數(shù)形參有什么缺點(diǎn),怎么解決