新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 8051、ARM和DSP指令周期的測(cè)試與分析

        8051、ARM和DSP指令周期的測(cè)試與分析

        ——
        作者:華中科技大學(xué) 李達(dá)義 時(shí)間:2007-12-10 來源:?jiǎn)纹瑱C(jī)與嵌入式系統(tǒng)應(yīng)用 收藏

        摘要 在實(shí)時(shí)嵌入式控制系統(tǒng)中,指令周期對(duì)系統(tǒng)的性能有至關(guān)重要的影響。介紹幾種最常用的微控制器的工作機(jī)制,采用一段循環(huán)語(yǔ)句對(duì)這幾種微控制器的指令周期進(jìn)行測(cè)試,并進(jìn)行分析比較。分析結(jié)論對(duì)系統(tǒng)控制器的選擇有一定的指導(dǎo)作用。

        關(guān)鍵詞

          在實(shí)時(shí)控制系統(tǒng)中,選擇微控制器的指標(biāo)時(shí)最重要的是計(jì)算速度的問題。指令周期是反映計(jì)算速度的一個(gè)重要指標(biāo),為此本文對(duì)三種最具代表性的微控制器(單片機(jī)、ARM7TDMI核的型單片機(jī)和)的指令周期進(jìn)行了分析和測(cè)試。為了能觀察到指令周期,將三種控制器的GPIO口設(shè)置為數(shù)字輸出口,并采用循環(huán)不斷地置位和清零,通過觀察GPIO口的波形變化得到整個(gè)循環(huán)的周期。為了將整個(gè)循環(huán)的周期與具體的每一條指令的指令周期對(duì)應(yīng)起來,通過C語(yǔ)言源程序得到匯編語(yǔ)言指令來計(jì)算每一條匯編語(yǔ)言的指令周期。

        工作機(jī)制及指令周期的測(cè)試

          AT89S51單片機(jī)的時(shí)鐘采用內(nèi)部方式,時(shí)鐘發(fā)生器對(duì)振蕩脈沖進(jìn)行2分頻。由于時(shí)鐘周期為振蕩周期的兩倍(時(shí)鐘周期=振蕩周期P1+振蕩周期P2),而1個(gè)機(jī)器周期含有6個(gè)時(shí)鐘,因此1個(gè)機(jī)器周期包括12個(gè)晶振的振蕩周期。取石英晶振的振蕩頻率為11.059 2 MHz,則單片機(jī)的機(jī)器周期為12/11.059 2=1.085 1 μs。51系列單片機(jī)的指令周期一般含1~4個(gè)機(jī)器周期,多數(shù)指令為單周期指令,有2周期和4周期指令。

          為了觀察指令周期,對(duì)單片機(jī)的P1口的最低位進(jìn)行循環(huán)置位操作和清除操作。源程序如下:

        #include<reg51.h>
        main() {
          while(1) {
            P1=0x01;
            P1=0x00;
          }
        }

          采用KEIL uVISION2進(jìn)行編譯、鏈接,生成可執(zhí)行文件。當(dāng)調(diào)用該集成環(huán)境中的Debug時(shí),可以得到上述源程序混合模式的反匯編代碼:

            2:main()
            3: {
            4:while(1)
            5:{
            6:P1=0x01;
          0x000F759001MOVP1(0x90),#0x01
            7:P1=0x00;
          0x0012 E4CLRA
          0x0013 F590MOVP1(0x90),A
            8:}
          0x001580EDSJMPmain (C:0003)

          其中斜體的代碼為C源程序,正體的代碼為斜體C源程序?qū)?yīng)的匯編語(yǔ)言代碼。每行匯編代碼的第1列為該代碼在存儲(chǔ)器中的位置,第2列為機(jī)器碼,后面是編譯、鏈接后的匯編語(yǔ)言代碼。所有指令共占用6個(gè)機(jī)器周期(其中“MOV  P1(0x90),#0x01”占用2個(gè)機(jī)器周期,“CLR  A”和“MOV  P1(0x90),A”各占用1個(gè)機(jī)器周期,最后一個(gè)跳轉(zhuǎn)指令占用2個(gè)機(jī)器周期),則總的循環(huán)周期為6



        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 滨州市| 桓台县| 安徽省| 乌拉特中旗| 车致| 遂溪县| 雷州市| 鄱阳县| 万源市| 凤城市| 舒城县| 南安市| 宁安市| 连城县| 嘉祥县| 虞城县| 孙吴县| 来凤县| 潜山县| 云林县| 册亨县| 枞阳县| 河东区| 绵阳市| 开化县| 白水县| 广丰县| 临洮县| 长汀县| 永善县| 闻喜县| 淮滨县| 克拉玛依市| 巧家县| 沧源| 大宁县| 朝阳市| 肥西县| 池州市| 合肥市| 黑龙江省|