當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]   一、EM78P447S指令的執(zhí)行時(shí)序  作為時(shí)基的時(shí)鐘振蕩器,產(chǎn)生的時(shí)鐘脈沖信號(hào)經(jīng)內(nèi)部分頻電路分頻后形成“指令周期(Tins)”。作為EM78P447S單片機(jī)的重要特色之一,一個(gè)指令周期既可以占用2個(gè)時(shí)鐘周期

  一、EM78P447S指令的執(zhí)行時(shí)序
  作為時(shí)基的時(shí)鐘振蕩器,產(chǎn)生的時(shí)鐘脈沖信號(hào)經(jīng)內(nèi)部分頻電路分頻后形成“指令周期(Tins)”。作為EM78P447S單片機(jī)的重要特色之一,一個(gè)指令周期既可以占用2個(gè)時(shí)鐘周期,也可以占用4個(gè)時(shí)鐘周期,可以由用戶自主選定。因此,一個(gè)“指令周期”可以由2個(gè)時(shí)鐘周期(即2個(gè)節(jié)拍Q1和Q2)或4個(gè)時(shí)鐘周期(即4個(gè)節(jié)拍Q1、Q2、Q3和Q4)構(gòu)成。每當(dāng)Q1節(jié)拍的上升沿出現(xiàn)時(shí),程序計(jì)數(shù)器PC自動(dòng)加1。
  由于EM78單片機(jī)內(nèi)部采用雙總線結(jié)構(gòu),使得它在執(zhí)行一條指令的同時(shí),就可以提取下一條指令,從而實(shí)現(xiàn)“流水作業(yè)”。就是說,在同一個(gè)指令周期之內(nèi),執(zhí)行指令和提取指令兩種活動(dòng)在同時(shí)進(jìn)行。這就使每一條指令的平均執(zhí)行時(shí)間為一個(gè)指令周期,、因此,就可以所成,EM78單片機(jī)指令的執(zhí)行時(shí)問“單周期化”了。絕大多數(shù)指令的運(yùn)行時(shí)間都僅占用一個(gè)指令周期,只有極個(gè)別的指令(即對(duì)程序計(jì)數(shù)器PC做“寫”操作的指令,比如MOV PC,A)才占用兩個(gè)指令周期,這一點(diǎn)應(yīng)該引起注意。
  二、EM78P447S指令概述
  不同CPU內(nèi)核的單片機(jī),具有不同的指令系統(tǒng)。指令系統(tǒng)中的每一條指令都完成一種特定功能的簡(jiǎn)單操作,比如數(shù)據(jù)傳送操作、加法操作等。將若干條實(shí)現(xiàn)簡(jiǎn)單操作的指令語句,按照一定的規(guī)則排列組合起來,就構(gòu)成了一個(gè)可以完成復(fù)雜功能的程序。 為了便于學(xué)習(xí)和掌握,通常每一條指令都用表意性很強(qiáng)的英文單詞或語句縮寫來代表。例如,NOP指令,就是由“No Operation.”一句英文縮略而成,中文含義是“空操作” 所以,通常人們將代表一條指令的一個(gè)字符串稱為“助記符”。假如按指令被使用的頻繁程度劃分整個(gè)指令系統(tǒng),其實(shí)只有一部分指令在編寫程序時(shí)經(jīng)常用到,而另一部分指令卻較少使用,還有一部分指令極少用到。每條指令一般都由操作碼和操作數(shù)組成,也有個(gè)別指令不帶操作數(shù)。操作碼是指令操作功能的記述,而操作數(shù)則描述操作的對(duì)象和操作的范圍。
  1.指令結(jié)構(gòu)
  一條指令的指令碼一般都可分解成兩部分:第一部分為操作碼(OPCODE),代表指令功能;第二部分為操作數(shù)(OPERAND),表示指令操作的對(duì)象,或運(yùn)算時(shí)所需要的參數(shù)。操作數(shù)又可以細(xì)分為兩部分:第一操作數(shù)和第二操作數(shù)。第一操作數(shù)就是目標(biāo)操作數(shù),第二操作數(shù)就是源操作數(shù)。以一條傳送指令為例,源操作數(shù)就是數(shù)據(jù)的發(fā)源地,而目標(biāo)操作數(shù)就是數(shù)據(jù)的目的地。 EM78P447S單片機(jī),共有指令58條,其編碼長(zhǎng)度均為13比特(bit)其一般指令格式為:操作碼第一操作數(shù),第二操作數(shù)或操作碼 目標(biāo)操作數(shù),源操作數(shù) 這種書寫格式與流行的MCS-51單片機(jī)的指令系統(tǒng),以及許多微機(jī)原理教科書中介紹的80X86指令系統(tǒng)相一致,也比較符合人們的記憶習(xí)慣。對(duì)于EM78P447S指令系統(tǒng)中的一條指令,操作數(shù)可以是兩個(gè)、一個(gè)或一個(gè)也沒有。
  2 指令描述方法
  對(duì)后面描述過程中所采用的一些符號(hào)或表示方法需作說明,見下表。


  3.EM78P447S指令說明
  以下對(duì)于EM78P447S單片機(jī)整個(gè)指令系統(tǒng)中的每條指令,以“指令的字母為序”進(jìn)行全面介紹,包括語法規(guī)則、指令編碼、操作內(nèi)容、影響標(biāo)志和功能說明等。其中語法規(guī)則就是匯編格式,也就是匯編器工具軟件認(rèn)可的格式。

4.操作數(shù)的尋址方式

操作數(shù)指定參與運(yùn)算的數(shù)據(jù)或者數(shù)據(jù)所在的存放地址。所謂“尋址”就是尋找操作數(shù)的存放地址,也就是給操作數(shù)定位的過程。所謂尋址方式,就是尋找操作數(shù)或操作數(shù)所在地址的方法和形式。

在EM78P447S的指令系統(tǒng)中,根據(jù)操作數(shù)的來源不同,設(shè)計(jì)了5種尋址方式:立即尋址、直接尋址、隱含尋址、間接尋址和比特尋址。

(1)立即尋址

在這種尋址方式中,操作數(shù)在指令碼中直接獲?。ㄟ@種在指令碼中直接攜帶的操作數(shù)就稱為立即數(shù))。

[例]ADD A,@16H;

實(shí)現(xiàn)的功能是,將立即數(shù)16H(前面需要帶有一個(gè)標(biāo)識(shí)符@)與累加器A的內(nèi)容(假設(shè)為99H)相加,結(jié)果(AFH)送到A。其指令碼的二進(jìn)制形式為:1,1111,0001,0110;其中前5位是操作碼,后8位就是立即數(shù)。指令執(zhí)行過程如上所示。算術(shù)邏輯單元ALU的兩個(gè)入口,送入的分別是加數(shù)16H(來自指令碼)和被加數(shù)99H(來自累加器A),在ALU中完成加法操作,從ALU的唯一出口把結(jié)果AFH送回A中。

(2)直接尋址

采用直接尋址方式的指令,可以在指令碼中直接獲取一個(gè)存放著操作數(shù)的存儲(chǔ)地址,即指令碼中包含著被訪問(即讀寫)寄存器的單元地址。

[例]OR A,15H;

實(shí)現(xiàn)的功能是,將地址為15H的RAM單元的內(nèi)容(假設(shè)是16H)與累加器A的內(nèi)容(假設(shè)是99H)進(jìn)行邏輯“或”之后,結(jié)果(9FH)送入A中。參加邏輯“或”運(yùn)算的一個(gè)數(shù)據(jù)(16H)所在的單元地址(15H)可以從指令中直接得到。操作過程如上所示。(3)間接尋址在采用寄存器間接尋址方式的指令碼中,6位寄存器地址必為“全0”。利用rrrrrr=000000這個(gè)“專用地址”,特指RSR (RAM選擇寄存器),并且是以RSR寄存器內(nèi)容為地址,所指定的工作寄存器單元中存放著被訪問的數(shù)據(jù)。從表面上看,指令碼中的6位0指定的是IAR(間接尋址寄存器),其實(shí)IAR僅僅是一個(gè)有名無實(shí)的寄存器單元,只不過是將它的地址編碼給專用化了。這樣做可大大簡(jiǎn)化指令系統(tǒng)。

為了便于理解,我們不妨換一個(gè)角度來分析,把RSR看成一個(gè)具有雙地址(分別為00H和04H)的特殊的寄存器單元,而可以不再提及IAR寄存器。當(dāng)用地址04H訪問RSR時(shí),就像訪問普通寄存器一樣,可以直接對(duì)RSR的內(nèi)容進(jìn)行讀或?qū)?;而用地?0H訪問RSR時(shí),而它就是一個(gè)間接尋址寄存器,不是對(duì)RSR的內(nèi)容進(jìn)行讀或?qū)?,而是把它的?nèi)容作為地址使用。假如用戶所需要訪問的一組寄存器有地址相鄰的特點(diǎn),使用間接尋址是很方便的。

[例]XOR A,0;

實(shí)現(xiàn)的功能是,將15H號(hào)RAM單元的內(nèi)容(假設(shè)為16H)與A內(nèi)容(假設(shè)為99H)相“異或”,運(yùn)算結(jié)果(8FH)送回A。參加“異或”運(yùn)算的一個(gè)操作數(shù)(16H)可以從指令碼中間接得到。RSR、A和15H號(hào)RAM單元的內(nèi)容都是預(yù)先存入的。其操作過程如下圖所示。

在下頁的下中描述了直接尋址方式和間接尋址方式,這兩種尋址過程中RAM工作寄存器地址的形成。對(duì)于直接尋址方式,體選碼來自RAM選擇寄存器RSR的最高2位,體內(nèi)地址直接來自指令碼;對(duì)于間接尋址方式,體選碼也來自RAM選擇寄存器RSR的最高2位,但是體內(nèi)地址卻來自RSR的低6位。

對(duì)于RAM的特殊功能寄存器空間中的各寄存器只能進(jìn)行直接尋址,不能進(jìn)行間接尋址。

(4)隱含尋址

采用隱含尋址方式的指令,在指令碼中不必指明存放著操作數(shù)的存儲(chǔ)地址,即指令碼中并非包含著被訪問(即讀寫)寄存器的單元地址,就可以自動(dòng)地訪問一個(gè)默認(rèn)的寄存器。

[例]CONTR;

實(shí)現(xiàn)的功能是,將控制寄存器CONT的內(nèi)容讀取之后,經(jīng)過ALU送到累加器A中(CONT寄存器沒有統(tǒng)一的地址編碼,這一點(diǎn)與眾不同)。其操作過程如下圖所示。

(5)比特尋址

可以對(duì)任一寄存器中的任一比特位直接尋址訪問,也就是指令碼中既包含著被訪問寄存器的地址,又包含著該寄存器中的某一比特的地址。如果將RAM存儲(chǔ)器看成一個(gè)陣列的話,那么在這個(gè)陣列中尋找某一個(gè)比特,就需要一個(gè)縱坐標(biāo)和一個(gè)橫坐標(biāo)縱坐標(biāo)就相當(dāng)于單元地址,橫坐標(biāo)就相當(dāng)于比特地址。

[例]BS 15H,4;

實(shí)現(xiàn)的功能是把地址為15H的寄存器單元內(nèi)的比特4置為1。

5.以累加器A為中樞的數(shù)據(jù)傳遞方式 數(shù)據(jù)的邏輯運(yùn)算和算術(shù)運(yùn)算過程,以及控制信號(hào)的輸入和輸出過程,在單片機(jī)內(nèi)部都可以看成是“數(shù)據(jù)傳遞”的過程。根據(jù)EM78P447S的硬件系統(tǒng)和軟件系統(tǒng)(即指令系統(tǒng)和尋址方式)的規(guī)劃特點(diǎn),我們可以總結(jié)出在單片機(jī)內(nèi)部,在各個(gè)寄存器之間進(jìn)行數(shù)據(jù)傳遞,能夠?qū)崿F(xiàn)的幾種途徑和方式。不妨可以用上進(jìn)行形象化地描述。該圖中的每一條帶箭頭的線條都代表一種傳遞方式,在每一條帶箭頭的線條旁邊,還同時(shí)分別給出了實(shí)現(xiàn)相應(yīng)的那一種數(shù)據(jù)傳遞所用指令的一個(gè)實(shí)例。其中有一點(diǎn)值得注意的是,“MOV R,R”指令中的“R”實(shí)際指的是同一個(gè)工作寄存器單元,該指令的目的是影響標(biāo)志位“Z” 事實(shí)上,就不存在不同工作寄存器單元之間直接傳遞的指令,只能以A作中轉(zhuǎn)實(shí)現(xiàn)間接傳遞。

6.“CPU內(nèi)核一專用寄存器一模塊或部件”三者相互關(guān)系

對(duì)于單片機(jī)的開發(fā)和應(yīng)用,其主要任務(wù)有兩項(xiàng):一是軟件設(shè)計(jì),二是硬件設(shè)計(jì)。硬件沒計(jì)我們暫且不提,在此只想用軟件設(shè)計(jì)的觀點(diǎn),從不同角度剖析和理解單片機(jī)內(nèi)部的組織關(guān)系。

軟件設(shè)計(jì)實(shí)際上就是運(yùn)用指令編制程序,而EM78P447S單片機(jī)的每條指令的作用范圍非常集中,

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉