導航:首頁 > 數據分析 > 數據暫存器lt1和lt2在哪裡

數據暫存器lt1和lt2在哪裡

發布時間:2025-07-10 08:11:30

① 醫院計算機五大應用系統

醫院計算機世旦五大應用系統

一般來說分以下幾大類應用系統:
系統管理平台(SMS)
臨床資訊系統(CIS)
病人管理系統(PAS)
臨床工作站系統(CWS)
管理資訊系統(MIS)
決策支援系統(DSS)
知識管理系統(KMS)
公共應用服務(CAS)
協作互動支援服務(TES)
也有醫院按各應用系統模組分法,常見的有:
HIS (Hospital Information System) 醫院資訊系統
CIS (Clinical Information System) 臨床資訊系統
LIS (Laboratory Information System)實驗室(檢驗科)資訊系統
PACS (Picture Archiving and Communication Systems) 影像歸檔和通訊系統
RIS (Radiology Information System) 放射科資訊管理系統
EMR (Electronic Medical Record) 電子病歷
OA (Office Automation) 辦公自動化
CRM (Customer Relationship Management)客戶關系管理
PEIS (Physical Examination Information System) 體檢資訊系統
ORIS (Operation Room Information System) 手術室資訊系統
CCIS (Critical Care Information System) 重症監護資訊系統
WMIS (Wireless Medical Information System) 無線醫療資訊系統

計算機網路有哪五大應用?

強大的功能極大地推動了網際網路的發展和普及,它可以使一個從沒有用過計算機的人,幾分鍾內就可以學會瀏覽網上豐富多彩的多媒體資訊。您只需要用滑鼠點選一下相關題目和照片就可以從一個網站進入另一個網站,從一個國家進入另一個國家,坐在家中就可輕松漫遊全球。
電子郵件(E-MAIL):是計算機與通訊相結合的產物,主要用於計算機使用者之間交換電子信件。發信者在計算機上輸入發信檔案內容,存入發信方信箱中,藉助通訊網路將放在發信方信箱中的信件傳送到收信方信箱中橘賣,當收信人開啟自己的計算機,藉助通訊網路便可開啟收方信箱,閱讀發方傳來的信件。在網際網路眾多的應用中,電子郵件無疑是其中最受歡迎的一個。 無論您住在天涯,還是住在海角,通過可愛的"伊妹兒",我們便可以方便地通訊聯絡。噢!遠在大洋彼岸的哥哥生日到了,趕快給他"E-MAIL"一張賀卡,再附上一段家人的囑咐和期望,短短幾分鍾便飛到了他的手裡。回過頭來,再算算經濟帳,花了不到幾毛錢,以後跟哥哥聯絡再不用為錢發愁! 在擁有了一個電子信箱之後,您還可以使用網路的"新聞訂閱"服務。我們將最新的國內、國際新聞,公眾服務資訊,娛樂資訊,計算機網路業界資訊,財政證券資訊,熱門話題等豐富的內容進行分類收集、整理、加工,按照您指定的訂閱需求,定時傳送到您的信箱里。擁有了電子信箱,您就擁有了一個稱職的秘書,保證讓您緊跟時代的潮流!
檔案傳輸(FTP):網上的很多應用軟體、游戲、歌曲等檔案都是共享並可以免費下載的,您只需登入相關網站,使用FTP協議就可下載所需的檔案。
USENET新聞:USENET是一個世界范圍的電子公告板,用於釋出公告、新聞和各種文章供大家使用。USENET的每個論壇又稱為新聞組,如同報紙一樣,每篇來稿被看成一篇文章,每個人都可以閱讀,每個讀過文章的人都可以根據自己的觀點發表評論。
遠端登入(TELNET):通過使用TELNET,INTERNET上的使用者可以將自己的計算機模擬成一台遠端計算機的終端,然後在它上面執行程搜伍擾式,或者使用它的軟體和硬體資源。

計算機的應用系統有哪些

一、系統軟體
1.作業系統
2.程式語言設計
3.語言處理程式
4.資料庫管理程式
5.系統輔助處理程式
二、應用軟體
1、文書處理軟體
2、資訊管理軟體
3、輔助設計軟體
4、實時控制軟體
我現在大概就知道這么多,希望對你有幫助!

計算機的應用系統包括哪些?

一般由計算機硬體系統、系統軟體、應用軟體組成。計算機基本硬體系統由運算器和控制器、儲存器、外圍介面和外圍裝置組成。系統軟體包括作業系統、編譯程式、資料庫管理系統、各種高階語言等。應用軟體由通用支援軟體和各種應用軟體包組成。

計算機五大系統?

五大系統?硬體系統吧?
計算機硬體系統由運算器、控制器、儲存器、輸入裝置,輸出裝置組成

計算機應用系統方面的程式設計題

解:MOV A,R1
MOV R0,A
(2)外部RAM 20H單元內容送R0。
解:MOV R0,#20H
MOVX A,@R0
MOV R0,A
(3)外部RAM 20H單元內容送內部RAM 20H單元。
解:MOV R0,#20H
MOVX A,@R0
MOV @R0,A
(4)外部RAM 1000H單元內容送內部RAM 20H單元。
解:MOV DPTR,#1000H
MOVX A,@DPTR
MOV 20H,A
(5)外部ROM 2000H單元內容送R0。
解:MOV DPTR,#2000H
CLR A
MOVC A,@A+DPTR
MOV R0,A
(6)外部RAM 2000H單元內容送內部RAM 20H單元。
解:MOV DPTR,#2000H
CLR A
MOVC A,@A+DPTR
MOV 20,A
(7)外部RAM 2000H單元內容送外部RAM 20H單元。
解:MOV DPTR,#2000H
CLR A
MOVC A,@A+DPTR
MOV R0, #20H
MOV @R0,A
2-2 已知A=7AH,R0=30H,(30H)=A5H,PSW=81H。問執行以下各指令的結果(每條指令都以題中規定的資料參加操作)。
(1)XCH A,R0 A=30H,R0=7AH, P=0
(2)XCH A,30H A=A5H, (30H)=7AH, P=0
(3)XCH A,@R0 A=A5H, (30H)=7AH, P=0
(4)XCHD A,@R0 A=75H, (30H)=AAH, P=1
(5)SWAPA A=A7H P=1
(6)ADD A,R0 A=AAH Cy=0 OV=1 P=0
(7)ADD A,30H A=1FH Cy=1 OV=0 P=1
(8)ADD A,#30H A=AAH Cy=0 OV=1 P=0
(9)ADDC A,30H A=20H Cy=1 OV=1 P=1
(10)SUBB A,30H A=D4H Cy=1 OV=1 P=0
(11)SUBB A,#30H A=49H Cy=0 OV=0 P=1
(12)DA A A=80H Cy=1 P=1
(13)RL A A=F4H Cy=1 P=1
(14)RLC A A=F5H Cy=0 P=0
(15)CJNE A,#30H,00 A=7AH Cy=0 P=1
(16)CJNE A,#30H,00 A=7AH Cy=1 P=1
2-3 設內部RAM的30H單元內容為40H,即(30H)=40H,還知(40H)=10H,(10H)=00H,埠P1=CAH,問執行以下指令後各有關存貯器單元、暫存器及埠的內容(即R0,R1,A,B,P1,40H,30H及10H單元)。
MOV R0,#30H
MOV A,@R0
MOV R1,A
MOV B,@R1
MOV @R1,P1
MOV P2,P1
MOV 10H,#30H
MOV 30H,10H
解:每條指令執行後的結果依次如下列所示:R0=30H,A=40H,R1=40H,B=10H,(40H)=CAH,P2=CAH,(10H)=20H,(30H)=20H。
由此可知執行後的各單元內容:R0=30H,R1=40H,A=40H, B=10H, P1=CAH, (40H)=CAH,(30H)=20H,(10H)=20H。
2-4 設R0=17H,A=83H,(17H)=34H,問執行以下指令後,A=?
ANL A,#17H
ORL 17H,A
XRL A,@R0
CPL A
解:此題是為了熟悉邏輯運算指令。各條指令的執行結果如下:
A←83H∧17H=10000011∧00010111=03H
(17H) ←34H∨03H=00110100∨00000011=37H
A←03H⊕37H=00000011⊕00110111=34H
A←A=00110100=CBH
所以程式執行後,A=CBH
2-5 試編寫程式,將內部RAM的20H,21H,22H三個連續單元的內容依次存入2FH,2EH和2DH單元。
解:此題可以直接用傳送指令來完成:
MOV 2FH,20H
MOV 2EH,21H
MOV 2DH,22H
當然也可以用迴圈程式來做:
MOV R0,#20H ;源資料區首地址
MOV R1,#2FH ;目的資料區首地址
MOV R3,#03H ;資料塊長度
LOOP: MOV A,@R0
MOV @R1,A
INC R0
DEC R1
DJNZ R2,LOOP
SJMP $
2-6 編寫程式,進行兩個16位數的減法:6F5DH-13B4H。結果存至內部RAM的30H和31H單元,30H存差的低8位。
解:程式如下:
MOV A,#5DH
CLR C
SUBB A,#0B4H
MOV 30H,A
MOV A,#6FH
SUBB A,#13H
MOV 31H,A
SJMP $
由於MCS=51指令系統中,減法指令只能完成帶借位減法,所以在開始做減法時,一般都要對進位位Cy清0。
2-7 編寫程式,若累加器A的內容分別滿足以下條件時,則程式轉至LABEL存貯單元。設A中存的是無符號數。
1、A 10
解:此題可直接用比較條件轉移指令來完成,有關的程式語句如下:
CJNE A,#0AH,00H
JNG LABEL
比較條件轉移指令根據A-0AH的結果來位置Cy的值,只要A 10,減法就不需要借位,即Cy=0。再用一條「JNC」指令就可以決定是否要轉移至LABEL。偏移量00H表示比較後無論結果如何都先執行下一條語句。
2、A>10
解:這時如果仍然與0AH比較,則無法區分A >10(要轉移)和A=10(不轉移)。當然也可以增加其它的指令(如累加器判斷零條件轉移語句等)來完成所需的功能,但會使語句增多,程式不夠簡潔。不如直接與0BH(十進位制數11)比較,比較之後A 11都使Cy=0,相當於A>10才使Cy=0。仍用兩條語句就能完成所需功能
CJNE A,#0BH,00H
JNG LABEL
3、A 10
解:這種情況與題(2)相似,可直接與11作比較,但這時是Cy=1時才轉移。
CJNE A,#0BH,00H
JC LABEL
4、A<10
解:這時只需直接和10作比較即可,與題(1)類似:
CJNE A,#0AH,00H
JC LABEL
2-8 已知SP=25H,PC=2345H,(24H)=12H,(25H)=34H,(26H)=56H。問此時執行RET指令後,SP=?PC=?
解:MCS-51系統中,堆疊是向上生長的,故出棧操作時堆疊指標要減小。執行RET指令的過程如下:
PC15-8 (SP) 即PC15-8=(25H)=34H
SP SP-1 即SP=24H
PC7-0 (SP) 即PC7-0=(24H)=12H
SP SP-1 即SP=23H
結果為:SP=23H,PC=3412H
2-9 若SP=25H,PC=2345H,標號LABEL所在的地址為3456H,問執行長呼叫指令LCALL LABEL後,堆疊指標和堆疊的內容發生什麼變化?PC的值等於什麼?
解:長呼叫指令完成兩個功能:把下一條指令地址堆入堆疊,並把所呼叫子程式的入口地址賦予程式計數器PC。過程如下:
PC PC+3 所以PC=2345H+3=2348H
SP SP+1 所以SP=26H
(SP) PC7-0 所以(26H)=48H
SP SP+1 所以SP=27H
(SP) PC15-8 所以(27H)=23H
PC LABEL 所以PC=3456H
結果應為:SP=27H,(26H)=48H,(27H)=23H,PC=3456H。
2-10 上題的LCALL指令能否直接換成ACALL指令,為什麼?如果使用ACALL指令,則可呼叫的地址范圍是什麼?
解:ACALL指令只能在2K位元組范圍內呼叫。具體來講,要求PC+2後,PC的高5位與呼叫地址LABEL的高5位相同。或者說執行ACALL以後的PC值和呼叫地址應在同一頁內(每頁地址范圍為2K位元組)。在本題中:
PC+2=2345+2=2347H,高5位00100
而 LABEL=3456H, 高5位00110
兩者不相等,不在同一頁內,所以不能直接換成ACALL指令
如果使用ACALL指令,則可呼叫地址最小值為2000H,最大值為27FFH。即高5位地址保持00100不變,低11位地址可以從全0變為全1。地址范圍為2K位元組。
2-11 試編寫程式,查詢在內部RAM的20H-50H單元中是否有0AAH這一資料。若有,則將51H單元置為01H;若未找到;則使51H單元置為0。
解:這個題可以有兩種基本的解法。其一是先計算出資料塊的長度,然後再作迴圈和比較,程式如下:
CLR C
MOV R0,#20H ;R0中為資料塊首地址
MOV A,#50H ;資料塊末地址
SUBB A,R0
INC A
MOV R1,A ;R1存資料塊長度
LOOP1:CJNE @R0,#0AAH,LOOP2
MOV 51H,#01H ;找到置(51H)=01H
SJMP LOOP3
LOOP2: ING R0
DJNZ R1,LOOP1
MOV 51H,#00H ;未找到,置(51H)=01H
LOOP3: SJMP $
第二種解法則直接用比較條件轉移指令判斷是否已經完成最後一次比較。這時MCS-51指令系統的特點之一。程式如下:
MOV R0,#20H ;R0存資料塊首地址
LOOP1: CJNE @R0,#0AAH,LOOP2 ;比較
MOV 51H,#01H ;找到,置(51H)=01H
SJMP LOOP3
LOOP2: ING R0
DJNZ R0,#51H,LOOP1 ;未比較完則迴圈
MOV 51H,#00H ;未找到,置(51H)=01H
LOOP3: SJMP $
2-12 試編寫程式,查詢在內部RAM的20H-50H單元中出現00H的次數,並將查詢的結果存入51H單元。
解:此題的解法與上題相似,採用第二種解法,程式如下:
MOV R0,#1FH
MOV R1,#00H ;R1用作計數器
LOOP1: ING R0
CJNE @R0,#00H,LOOP2
INC R1 ;找到一個00H,計數器加1
LOOP2: CJNE @R0,#50H,LOOP1 ;未比較完則迴圈
MOV 51H,R1 ;存比較結果
SJMP $
2-13 試編寫程式,求20H單元和21H單元中兩個補碼數差的絕對值,即 。結果保留在A中。若計算結果出現溢位,則置22H單元為0FFH,否則,22H應為00H。
解:可直接用減法指令來完成減法,然後依據差的符號來求絕對值,若差為正數,則差就是所求絕對值。若差為負數,則求反加一之後就可得到絕對值。當然減法之後先要判斷是否溢位。若溢位,則只需置溢位標記:使(22H)=0FFH即可。程式如下:
CLR C
MOV 22H,#0FFH
MOV A,20H
SUBB A,21H
JB OV,NEXT
JNB ACC.7,NEXT1 ;差為正則轉移
CPL A ;差為負,求補為絕對值
ING A
NEXT1:MOV 22H.,#00H
NEXT: SJMP $
2-14 試編寫程式,求20H,21H,22H單元的三個補碼數差得絕對值,即 。結果保留在A中。若運算出現溢位,則置23H單元為0FFH;否則,置23H單元為00H。
解:此題的解法與上題相似。只是每次減法以後都要判斷是否出現溢位,而不是做完兩次減法以後才判斷溢位。因為有可能第一次減法以後已經溢位,再作一次減法以後反倒沒有溢位,而這時的結果實際上已經不正確了。例如,64-(-64)-(-1)=129。結果已經溢位,但分兩步運算時,先由
64-(-64)=01000000-11000000=10000000
這時已經出現溢位,OV=1。若再作第二次減法,則結果為:
10000000-11111111=10000001
溢位標志反而被清零(因為負數減負數不可能溢位),但實際的結果並不正確。所以,需要每作完一次減法運算就檢查溢位標志。程式如下:
CLR C
MOV 23H,#0FFH ;先置溢位標志
MOV A,20H
SUBB A,21H ;第一次相減
JB OV,NEXT ;溢位則結束
CLR C ;准備第二次相減
SUBB A,22H ;第二次相減
JB OV,NEXT ;溢位則結束
JNB ACC.7,NEXT1 ;差為正則轉移
CPL A ;求反加一
ING A
NEXT1:MOV 23H.,#00H
NEXT: SJMP $
2-15 有一個16位二進位制數,高8位存於21H單元,低8位存於20H單元。試問:(1)執行以下程式段,完成什麼邏輯功能?(2)能否用MOV指令替代其中的XCH指令而不改變程式的邏輯功能?寫出相應的程式段。(3)這兩個程式段的執行結果是否完全相同?差別在那裡?
CLR C
XCH A,21H
RRC A
XCH A,21H
XCH A,20H
RRC A
XCH A,20H
解:(1)程式完成的邏輯功能是使21H和20H中的16位二進位制數右移一位,並使最高位為0,一般稱為邏輯右移一位。
(2)可以用MOV指令,修改後程式段如下:
CLR C
MOV A,21H
RRC A
MOV 21H,A
MOV A,20H
RRC A
MOV 20H,A
(3)有所差別。雖然從16位右移功能來說兩者的功能是相同的,但第一個程式段執行後,累加器A的內容仍維持原值,而第二個程式段執行後將改變A中的數值。
2-16 分析以下程式段的邏輯功能。若要用MOV指令代替其中的交換指令而不改變程式的邏輯功能,應如何進行修改?設20H中存放的是兩個四位二進位制數。
MOV R1,#20H
XCHD A,@R1
ADD A,#01H
XCHD A,@R1
XCH A,@R1
ADD A,#01H
XCH A,@R1
解:程式的功能是將20H單元中的兩個四位二進位制數分別加1,並且舍棄可能產生的進位。如(20H)=6AH,程式執行後位(20H)=7BH。又如(20H)=9FH,執行後(20H)=A0H。
不採用交換指令而要完成同樣的功能,可以有多種修改方法。以下僅為一例:
MOV R1,#20H
XCHD A,@R1
ADD A,#01H ;低4位加1
JB AC,NEXT ;判斷低四位有無進位
ADD A,#01H ;高4位加1
NEXT: MOV @R1,A ;送回20H單元
2-17 分析以下程式段的執行結果。若是將其中的DA A指令取消,則結果會有什麼不同?
CLR C
MOV 20H,#99H
MOV A,20H
ADD A,#01H
DA A
MOV 20H,A
解:程式執行結果是A=00H,Cy=1,(20H)=00H。
取消DAA指令後,執行結果為A=9AH,Cy=0,(20H)=9AH。
2-18 以下的兩個程式段中,R2內所存入的都是兩位16進位制數。試問這兩個程式段各進行多少次迴圈?
MOV R2,#60H
LOOP:……
……
DJNZ R2,LOOP
SJMP $
MOV R2,#60H
LOOP:……

什麼是計算機應用系統的安全性

就是計算機系統(軟硬體)的安全性(防入侵,抗干擾,資料保護等)

請教計算機應用系統設計(嵌入式)方向

我是做嵌入式開發的,現在的嵌入式,絕大部分都是用linux平台開發,所以你首先要學好linux,給你推薦幾本書吧,這幾本是我初學的時候看的,很不錯。
關於linux程式設計的書:《Linux程式設計(原書第2版)》,《[Linux英文原版圖書系列].WILEY-Beginning_Linux_Programming_Third_Edition》,《LINUX程式設計白皮書》。
linux核心的:《自己動手寫作業系統》,《Linux核心與程式設計》。

最新計算機人機互動應用系統有哪些?

谷歌好像有這方面的東西,可以去找找。

計算機傳統三大應用領域是什麼

計算機主要應用的領域包括以下六個方面:
一、資訊管理
資訊管理是以資料庫管理系統為基礎,輔助管理者提高決策水平,改善運營策略的計算機技術。資訊處理具體包括資料的採集、儲存、加工、分類、排序、檢索和釋出等一系列工作。資訊處理已成為當代計算機的主要任務。是現代化管理的基礎。據統計,80%以上的計算機主要應用於資訊管理,成為計算機應用的主導方向。資訊管理已廣泛應用與辦公自動化、企事業計算機輔助管理與決策、情報檢索、圖書館里、電影電視動畫設計、會計電算化等各行各業。
計算機的應用已滲透到社會的各個領域,正在日益改變著傳統的工作、學習和生活的方式,推動著社會的科學計算
科學計算是計算機最早的應用領域,是指利用計算機來完成科學研究和工程技術中提出的數值計算問題。在現代科學技術工作中,科學計算的任務是大量的和復雜的。利用計算機的運算速度高、儲存容量大和連續運算的能力,可以解決人工無法完成的各種科學計算問題。例如,工程設計、地震預測、氣象預報、火箭發射等都需要由計算機承擔龐大而復雜的計算量。
二、過程式控制制
過程式控制制是利用計算機實時採集資料、分析資料,按最優值迅速地對控制物件進行自動調節或自動控制。採用計算機進行過程式控制制,不僅可以大大提高控制的自動化水平,而且可以提高控制的時效性和准確性,從而改善勞動條件、提高產量及合格率。因此,計算機過程式控制制已在機械、冶金、石油、化工、電力等部門得到廣泛的應用。
三、輔助技術
計算機輔助技術包括CAD、CAM和CAI。
1、計算機輔助設計(ComputerAidedDesign,簡稱CAD)
計算機輔助設計是利用計算機系統輔助設計人員進行工程或產品設計,以實現最佳設計效果的一種技術。CAD技術已應用於飛機設計、船舶設計、建築設計、機械設計、大規模積體電路設計等。採用計算機輔助設計,可縮短設計時間,提高工作效率,節省人力、物力和財力,更重要的是提高了設計質量。
2、計算機輔助製造(ComputerAidedManufacturing,CAM)
計算機輔助製造是利用計算機系統進行產品的加工控制過程,輸入的資訊是零件的工藝路線和工程內容,輸出的資訊是刀具的運動軌跡。將CAD和CAM技術整合,可以實現設計產品生產的自動化,這種技術被成為計算機整合製造系統。有些國家已把CAD和計算機輔助製造(ComputerAidedManufacturing)、計算機輔助測試(ComputerAidedTest)及計算機輔助工程(ComputerAidedEngineering)組成一個整合系統,使設計、製造、測試和管理有機地組成為一體,形成高度的自動化系統,因此產生了自動化生產線和「無人工廠」。
3、計算機輔助教學(ComputerAidedInstruction,簡稱CAI)
計算機輔助教學是利用計算機系統進行課堂教學。教學課件可以用PowerPoint或Flash等製作。CAI不僅能減輕教師的負擔,還能教學內容生動、形象逼真,能夠動態演示實驗原理或操作過程激發學生的學習興趣,提高教學質量,為培養現代化高質量人才提供了有效方法。
四、翻譯
1947年,美國數學家、工程師沃倫·韋弗與英國物理學家、工程師安德魯·布思提出了以計算機進行翻譯(簡稱「機譯」)的設想,機譯從此步入歷史舞台,並走過了一條曲折而漫長的發展道路。機譯被列為21世紀世界十大科技難題。與此同時,機譯技術也擁有巨大的應用需求。
機譯消除了不同文字和語言間的隔閡,堪稱高科技造福人類之舉。但機譯的譯文質量長期以來一直是個問題,離理想目標仍相差甚遠。中國數學家、語言學家周海中教授認為,在人類尚未明了大腦是如何進行語言的模糊識別和邏輯判斷的情況下,機譯要想達到「信、達、雅」的程度是不可能的。這一觀點恐怕道出了制約譯文質量的瓶頸所在。
五、多媒體應用
隨著電子技術特別是通訊和計算機技術的發展,人們已經有能力把文字、音訊、視訊、動畫、圖形和影象等各種媒體綜合起來,構成一種全新的概念—「多媒體」(Multimedia)。在醫療、教育、商業、銀行、保險、行政管理、軍事、工業、廣播、交流和出版等領域中,多媒體的應用發展很快。
六、計算機網路
計算機網路是由一些獨立的和具備資訊交換能力的計算機互聯構成,以實現資源共享的系統。計算機在網路方面的應用使人類之間的交流跨越了時間和空間障礙。計算機網路已成為人類建立資訊社會的物質基礎,它給我們的工作帶來極大的方便和快捷,如在全國范圍內的銀行信用卡的使用,火車和飛機票系統的使用等。可以在全球最大的網際網路絡——Inter上進行瀏覽、檢索資訊、收發電子郵件、閱讀書報、玩網路游戲、選購商品、參與眾多問題的討論、實現遠端醫療服務等。

② ARM架構簡介及詳細資料

歷史

一顆主要用於路由器的Conexant ARM處理器是Acorn電腦公司(Acorn Computers Ltd)於1983年開始的開發計畫。

這個團隊由Roger Wilson和Steve Furber帶領,著手開發一種新架構,類似進階的MOS Technology 6502處理器。Acorn有一大堆建構在6502架構上的電腦,因此能設計出一顆類似的晶片即意味著對公司有很大的優勢。

團隊在1985年時開發出ARM1 Sample版,而首顆"真正"的產能型ARM2於次年量產。ARM2具有32位的數據匯流排、26位的定址空間,並提供64 Mbyte的定址范圍與16個32-bit的暫存器。這些暫存器其中有一顆做為(word大小)程式計數器,其前面6 bits和後面2 bits用來保存處理器狀態標記(Processor Status Flags)。ARM2可能是全世界最簡單實用的32位微處理器,其僅容納了30,000個電晶體(相較於Motorola六年後的68000其包含了70,000顆)。之所以精簡的原因在於它不含微碼(請參閱microcode)(這表示大概只有68000的1/3至1/4),而與現今大多數的 CPU 不同,它沒有包含任何的高速快取。這個精簡的特色使它只需消耗很少的電能,卻能發揮比 Intel 80286 更好的效能。後繼的處理器ARM3更備有4KB的高速快取,使它能發揮更佳的效能。

在1980年代晚期,蘋果電腦開始與Acorn合作開發新版的ARM核心,由於這專案非常重要,Acorn甚至於1990年將設計團隊另組成一間名為安謀國際科技(Advanced RISC Machines Ltd.)的新公司。也基於這原因,使得ARM有時候反而稱作Advanced RISC Machine而不是Acorn RISC Machine。由於其母公司ARM Holdings plc於1998年的倫敦交易市場和NASDAQ掛牌上市[1],使得Advanced RISC Machines成了ARM Ltd旗下擁有的產品。

這個專案到後來進入了ARM6,首版的式樣在1991年釋出,然後蘋果電腦使用ARM6架構的ARM 610來當作他們Apple Newton PDA的基礎。在1994年,Acorn使用ARM 610做為他們Risc PC電腦內的CPU。

在這些變革之後,核心部份卻大多維持一樣的大小。ARM2有30,000顆電晶體,但ARM6卻也只增長到35,000顆。主要概念是以ODM的方式,使ARM核心能搭配一些選配的零件而製成一顆完整的CPU,而且可在現有的晶圓廠里製作並以低成本的方式達到很大的效能。

ARM的經營模式在於出售其智慧財產權核(IP core),授權廠家依照設計製作出建構於此核的微控制器和中央處理器。最成功的實作案例屬 ARM7TDMI,幾乎賣出了數億套內建微控制器的裝置。

DEC 購買這個架構的產權(此處會造成混淆在於其本身也製造 DEC Alpha 並研發出StrongARM。在 233 MHz 的頻率下,這顆 CPU 只消耗一瓦特的電能(後來的晶片消耗得更少)。這項設計後來為了和 Intel 的控訴和解而技術移轉,Intel 因而趁機以 StrongARM 架構補強他們老舊的 i960 產線。Intel 後來開發出他們自有的高效能實作,稱作XScale,之後也賣給了 Marvell。

支援智慧型型手機、PDA和其他手持裝置最常見的架構是ARMv4。XScale 和 ARM926 處理器是ARMv5TE,而且比起建構在 ARMv4 的 StrongARM、ARM925T 和 ARM7TDMI 等處理器還更常見於許多高階裝置上。架構版本如下欄所示。

設計檔案

講求精簡又快速的設計方式,整體電路化卻又不採用微碼,就像早期使用在Acorn微電腦的8位6502處理器。

ARM架構包含了下述RISC特性:

讀取/儲存 架構

不支援地址不對齊記憶體存取(ARMv6核心現已支持)

正交指令集(任意存取指令可以任意的定址方式存取數據Orthogonal instruction set)

大量的16 × 32-bit 暫存器陣列(register file)

固定的32 bits 操作碼(opcode)長度,降低編碼數量所產生的耗費,減輕解碼和流水線化的負擔。

大多均為一個CPU周期執行。

為了補強這種簡單的設計方式,相較於同時期的處理器如Intel 80286和Motorola 68020,還多加了一些特殊設計:

大部分指令可以條件式地執行,降低在分支時產生的負重,彌補分支預測器(branch predictor)的不足。

算數指令只會在要求時更改條件編碼(condition code)

32-bit筒型位移器(barrel shifter)可用來執行大部分的算數指令和定址計算而不會損失效能

強大的索引定址模式(addressing mode)

精簡但快速的雙優先權中斷子系統,具有可切換的暫存器組

有個附加在ARM設計中好玩的東西,就是使用一個4-bit 條件編碼 在每個指令前頭,表示每支指令的執行是否為有條件式的

這大大的減低了在記憶體存取指令時用到的編碼位,換句話說,它避免在對小型敘述如if做分支指令。有個標準的範例引用歐幾里得的最大公因子演算法:

在C程式語言中,循環為:

int gcd (int i, int j)

{

while (i != j)

if (i > j)

i -= j;

else

j -= i;

return i;

}

在ARM 匯編語言中,循環為:

loop CMP Ri, Rj ; 設定條件為 "NE"(不等於) if (i != j)

; "GT"(大於) if (i > j),

; or "LT"(小於) if (i < j)

SUBGT Ri, Ri, Rj ; 若 "GT"(大於), i = i-j;

SUBLT Rj, Rj, Ri ; 若 "LT"(小於), j = j-i;

BNE loop ; 若 "NE"(不等於),則繼續迴圈

這避開了then和else子句之間的分支。

另一項指令集的特色是,能將位移(shift)和回轉(rotate)等功能並成"資料處理"型的指令(算數、邏輯、和暫存器之間的搬移),因此舉例來說,一個C語言的敘述

a += (j << 2);

在ARM之下,可簡化成只需一個word和一個cycle即可完成的指令

ADD Ra, Ra, Rj, LSL #2

這結果可讓一般的ARM程式變得更加緊密,而不需經常使用記憶體存取,流水線也可以更有效地使用。即使在ARM以一般認定為慢速的速度下執行,與更復雜的CPU設計相比它仍能執行得不錯。

ARM處理器還有一些在其他RISC的架構所不常見到的特色,例如PC-相對定址(的確在ARM上PC為16個暫存器的其中一個)以及 前遞加或後遞加的定址模式。

另外一些注意事項是 ARM 處理器會隨著時間,不斷地增加它的指令集。某些早期的 ARM 處理器(比ARM7TDMI更早),譬如可能並未具備指令可以讀取兩 Bytes 的數量,因此,嚴格來講,對這些處理器產生程式碼時,就不可能處理如 C 語言物件中使用 "volatile short" 的資料型態。

ARM7 和大多數較早的設計具備三階段的流水線化(Pipeline):提取指令、解碼,並執行。較高效能的設計,如 ARM9,則有五階段的流水線化。提高效能的額外方式,包含一顆較快的加法器,和更廣的分支預測邏輯線路。

這個架構使用"協處理器"提供一種非侵入式的方法來延伸指令集,可透過軟體下 MCR、MRC、MRRC和MCRR 等指令來對協處理器定址。協處理器空間邏輯上通常分成16個協處理器,編號分別從 0 至 15 ,而第15號協處理器(CP15)是保留用作某些常用的控制功能,像是使用高速快取和記憶管理單元運算(若包含於處理器時)。

在 ARM 架構的機器中,周邊裝置連線處理器的方式,通常透過將裝置的實體暫存器對應到 ARM 的記憶體空間、協處理器空間,或是連線到另外依序接上處理器的裝置(如匯流排)。協處理器的存取延遲較低,所以有些周邊裝置(例如 XScale 中斷控制器)會設計成可透過不同方式存取(透過記憶體和協處理器)。

Thumb

較新的ARM處理器有一種16-bit指令模式,叫做Thumb,也許跟每個條件式執行指令均耗用4位的情形有關。在Thumb模式下,較小的opcode有更少的功能性。例如,只有分支可以是條件式的,且許多opcode無法存取所有CPU的暫存器。然而,較短的opcode提供整體更佳的編碼密度(注:意指程式碼在記憶體中占的空間),即使有些運算需要更多的指令。特別在記憶體埠或匯流排寬度限制在32 以下的情形時,更短的Thumb opcode能更有效地使用有限的記憶體頻寬,因而提供比32位程式碼更佳的效能。典型的嵌入式硬體僅具有較小的32-bit datapath定址范圍以及其他更窄的16 bits定址(例如Game Boy Advance)。在這種情形下,通常可行的方案是編譯成 Thumb 程式碼,並自行最佳化一些使用(非Thumb)32位指令集的CPU相關程式區,因而能將它們置入受限的32-bit匯流排寬度的記憶體中。

首顆具備 Thumb 技術的處理器是 ARM7TDMI。所有 ARM9 和後來的家族,包括 XScale 都納入了 Thumb 技術。

Jazelle

ARM 還開發出一項技術,Jazelle DBX (Direct Bytecode eXecution),允許它們在某些架構的硬體上加速執行Java bytecode,就如其他執行模式般,當呼叫一些無法支援bytecodes的特殊軟體時,能提供某些bytecodes的加速執行。它能在現存的ARM與Thumb模式之間互相執行。

首顆具備Jazelle技術的處理器是ARM926EJ-S:Jazelle以一個英文字母'J'標示於CPU名稱中。它用來讓手機製造商能夠加速執行Java ME的游戲和套用程式,也因此促使了這項技術不斷地開發。

Thumb-2

Thumb-2 技術首見於 ARM1156 核心 ,並於2003年發表。Thumb-2 擴充了受限的 16-bit Thumb 指令集,以額外的 32-bit 指令讓指令集的使用更廣泛。因此 Thumb-2 的預期目標是要達到近乎 Thumb 的編碼密度,但能表現出近乎 ARM 指令集在 32-bit 記憶體下的效能。

Thumb-2 至今也從 ARM 和 Thumb 指令集中派生出多種指令,包含位欄(bit-field)操作、分支建表(table branches),和條件執行等功能。

ThumbEE

ThumbEE,也就是所謂的Thumb-2EE,業界稱為Jazelle RCT技術,於2005年發表,首見於 Cortex-A8 處理器。ThumbEE 提供從 Thumb-2 而來的一些擴充性,在所處的執行環境(Execution Environment)下,使得指令集能特別適用於執行階段(Runtime)的編碼產生(例如即時編譯)。Thumb-2EE 是專為一些語言如 Limbo、Java、C#、Perl 和 Python,並能讓 即時編譯器 能夠輸出更小的編解碼卻不會影響到效能。

ThumbEE 所提供的新功能,包括在每次存取指令時自動檢查是否有無效指標,以及一種可以執行陣列范圍檢查的指令,並能夠分支到分類器(handlers),其包含一小部份經常呼叫的編碼,通常用於高階語言功能的實作,例如對一個新物件做記憶體配置。

NEON

進階 SIMD 延伸集,業界稱為NEON技術,它是一個結合 64 和 128 bit 的 SIMD(Single Instruction Multiple Data 單指令多重數據)指令集,其針對多媒體和訊號處理程式具備標准化加速的能力。NEON 可以在 10 MHz 的 CPU 上執行 MP3 音效解碼,且可以執行 13 MHz 頻率以下的 GSM AMR (Adaptive Multi-Rate) 語音編碼。NEON具有一組廣泛的指令集、各自的暫存器陣列,以及獨立執行的硬體。NEON 支援 8-, 16-, 32- 和 64-bit 的整數及單精度浮點數據,並以 SIMD 的方式運算,執行圖形和游戲處理中關於語音/視訊的部分。SIMD 在 向量超級處理機 中是個決定性的要素,它具備同時多項處理功能。在 NEON 技術中,SIMD 最高可支援到同時 16 個運算。

VFP

VFP 是在協同處理器針對ARM架構的衍生技術。它提供低成本的單精度和倍精度浮點運算能力,並完全相容於ANSI/IEEE Std 754-1985 二進制浮點算數標准。VFP 提供大多數適用於浮點運算的套用,例如PDA、智慧手機、語音壓縮與解壓、3D圖像以及數位音效、印表機、機上盒,和汽車套用等。VFP 架構也支援 SIMD(單指令多重數據)平行化的短向量指令執行。這在圖像和訊號處理等套用上,非常有助於降低編碼大小並增加輸出效率。

在ARM-based處理器中,其他可見的浮點、或 SIMD 的協同處理器還包括了 FPA, FPE, iwMMXt。他們提供類似 VFP 的功能但在opcode層面上來說並不具有相容性。

安全性擴充

TrustZone(TM) 技術出現在 ARMv6KZ 以及較晚期的套用核心架構中。它提供了一種低成本的方案,針對系統單晶片(SoC)內加入專屬的安全核心,由硬體建構的存取控制方式支援兩顆虛擬的處理器。這個方式可使得套用程式核心能夠在兩個狀態之間切換(通常改稱為領域(worlds)以避免和其他功能領域的名稱混淆),在此架構下可以避免資訊從較可信的核心領域泄漏至較不安全的領域。這種核心領域之間的切換通常是與處理器其他功能完全無關聯性(orthogonal),因此各個領域可以各自獨立運作但卻仍能使用同一顆核心。記憶體和周邊裝置也可因此得知目前核心運作的領域為何,並能針對這個方式來提供對裝置的機密和編碼進行存取控制。典型的 TrustZone 技術套用是要能在一個缺乏安全性的環境下完整地執行作業系統,並在可信的環境下能有更少的安全性的編碼。

授權方

ARM 公司本身並不靠自有的設計來製造或出售 CPU ,而是將處理器架構授權給有興趣的廠家。ARM 提供了多樣的授權條款,包括售價與散播性等項目。對於授權方來說,ARM 提供了 ARM 核心的整合硬體敘述,包含完整的軟體開發工具(編譯器、debugger、SDK),以及針對內含 ARM CPU 矽晶片的銷售權。對於無晶圓廠的授權方來說,其希望能將 ARM 核心整合到他們自行研發的晶片設計中,通常就僅針對取得一份生產就緒的智慧財產權核心(IP Core)認證。對這些客戶來說,ARM 會釋出所選的 ARM 核心的版圖,連同抽象模擬模型和測試程式,以協助設計整合和驗證。需求更多的客戶,包括整合元件製造商(IDM)和晶圓廠家,就選擇可合成的RTL(暫存器傳輸級,如 Verilog)形式來取得處理器的智慧財產權(IP)。藉著可整合的 RTL,客戶就有能力能進行架構上的最佳化與加強。這個方式能讓設計者完成額外的設計目標(如高震盪頻率、低能量耗損、指令集延伸等)而不會受限於無法更動的電路圖。雖然 ARM 並不授予授權方再次出售 ARM 架構本身,但授權方可以任意地出售製品(如晶片元件、評估板、完整系統等)。商用晶圓廠是特殊例子,因為他們不僅授予能出售包含 ARM 核心的矽晶成品,對其它客戶來講,他們通常也保留重製 ARM 核心的權利。

就像大多數 IP 出售方,ARM 依照使用價值來決定 IP 的售價。在架構上而言,更低效能的 ARM 核心比更高效能的核心擁有較低的授權費。以矽晶片實作而言,一顆可整合的核心要比一顆硬體宏(黑箱)核心要來得貴。更復雜的價位問題來講,持有 ARM 授權的商用晶圓廠(例如韓國三星和日本富士通)可以提供更低的授權價格給他們的晶圓廠客戶。透過晶圓廠自有的設計技術,客戶可以更低或是免費的ARM預付授權費來取得 ARM 核心。相較於不具備自有設計技術的專門半導體晶圓廠(如台積電和聯電),富士通/三星對每片晶圓多收取了兩至三倍的費用。對中少量的套用而言,具備設計部門的晶圓廠提供較低的整體價格(透過授權費用的補助)。對於量產而言,由於長期的成本縮減可藉由更低的晶圓價格,減少ARM的NRE成本,使得專門的晶圓廠也成了一個更好的選擇。

許多半導體公司持有 ARM 授權:Atmel、Broad、Cirrus Logic、Freescale(於2004從摩托羅拉公司獨立出來)、富士通、英特爾(藉由和Digital的控訴調停)、IBM,英飛凌科技,任天堂,恩智浦半導體(於2006年從飛利浦獨立出來)、OKI電氣工業,三星電子,Sharp,STMicroelectronics,德州儀器 和 VLSI等許多這些公司均擁有各個不同形式的ARM授權。雖然ARM的授權項目由保密契約所涵蓋,在智慧財產權工業,ARM是廣為人知最昂貴的CPU核心之一。單一的客戶產品包含一個基本的 ARM 核心可能就需索取一次高達美金20萬的授權費用。而若是牽涉到大量架構上修改,則費用就可能超過千萬美元

閱讀全文

與數據暫存器lt1和lt2在哪裡相關的資料

熱點內容
ug編程幾何視圖在哪裡 瀏覽:553
搜索文件內容程序 瀏覽:58
數據相乘用的什麼函數 瀏覽:38
抖音頭條全系app有哪些 瀏覽:39
數據恢復後為什麼文件是空的 瀏覽:827
win7虛擬wifi無法上網路連接 瀏覽:888
海康監控文件的格式 瀏覽:363
excel怎麼變成了tmp文件 瀏覽:770
ant網路上是什麼意思 瀏覽:641
資料庫原理試題 瀏覽:648
pe系統桌面文件夾在哪個盤 瀏覽:369
win10密碼格式 瀏覽:873
網站後台小圖標 瀏覽:318
微博視頻發到qq空間上 瀏覽:633
為什麼學習編程語言頭腦空白 瀏覽:15
電腦找不到該文件位置怎麼刪除 瀏覽:207
angularjs單文件下載 瀏覽:667
釘釘列印單據顯示找不到該文件 瀏覽:237
昆鐵app培訓系統怎麼修改賬號 瀏覽:553
電腦桌面設置多個新建文件夾 瀏覽:801

友情鏈接