導航:首頁 > 程序命令 > MDR對程序員透明嗎

MDR對程序員透明嗎

發布時間:2025-07-30 23:15:58

⑴ 三級存儲系統構成工作原理

主存和Cache之間的數據調動是由硬體自動完成的,對所有程序員均是透明的;而主存和輔存之間的數據調動則是由硬體和操作系統共同完成的,對應用程序員是透明的。MDR和MAR邏輯上在主存中,實際上在CPU中;地址解碼器在主存中。

三級緩存是為讀取二級緩存後未命中的數據設計的—種緩存,在擁有三級緩存的CPU中,只有約5%的數據需要從內存中調用,這進一步提高了CPU的效率。

其運作原理在於使用較快速的儲存裝置保留一份從慢速儲存裝置中所讀取數據且進行拷貝,當有需要再從較慢的儲存體中讀寫數據時,緩存(cache)能夠使得讀寫的動作先在快速的裝置上完成,如此會使系統的響應較為快速。

⑵ 電路板上的Tⅴ一cⅴBS代表什麼



1. 計算機組成原理概論

計算機:數字電子計算機

組成:計算機硬體系統的邏輯實現

原理:不以具體機型為依託的,基本實現原理。

計算機組成原理:掌握如何實現的具體細節。

1.1 計算機系統簡介

計算機系統由兩大部分組成:硬體和軟體。軟體又包括系統軟體和應用軟體。

系統軟體可以管理整個計算機系統:

應用軟體是按照任務需要編製成的程序。

可以簡單將軟體看作一個層次結構,硬體為軟體提供介面,系統軟體又為應用軟體形成介面,來完成不同的程序。

對於計算機的物理結構層次,我們這門課主要研究邏輯層和微電路層的具體實現方式。

計算機系統的指令層次如下圖所示

操作系統可以管理軟硬體的資源。

計算機系統結構定義了系統軟硬體的交界面,定義了哪些功能由軟體實現,哪些功能由硬體實現,定義為==程序員所見到的計算機系統的屬性概念性的結構與功能特性==。(指令系統,數據類型,定址技術,I/O機理),即程序員需要理解的東西。

計算機組成:實現計算機體系結構所體現的屬性,即具體指令的實現。

1.2 計算機的基本組成 1.2.1 馮諾依曼結構

上圖實線表示數據流動,虛線表示控制反饋。

馮諾依曼結構以運算器為中心,容易形成瓶頸。我們可以使用存儲器作為中心來進行優化,但是還不夠。

1.2.2 現代計算機硬體框圖

指令和數據都是保存在存儲器中的。

1.2.3 存儲器的基本組成

MAR是存儲器地址寄存器,保存了存儲單元的地址和編號,長度反映存儲單元的個數。

MDR是存儲器數據寄存器,保存了要存入存儲體的數據或剛從存儲體拿出來的數據,長度反映存儲字長。

利用MAR和MDR來將數據放入存儲器。

1.2.4 運算器的結構

ALU(算術邏輯單元),通常是一個組合電路,輸入撤銷,輸出也撤銷,因此需要加上寄存器保存參與運算的計算

數據寄存器X保存輸入參數,ACC為累加寄存器,保存結果,乘法可能使得數據位數保存不下,使用MQ寄存器保存低位。

上表中存放了不同運算中,運算器的工作過程,以乘法為例,操作過程如下:

這些操作的過程順序是由控制器來控制完成的。

1.2.5 控制器的基本結構

控制器的功能是解釋指令(完成指令)、保證指令的按序執行

下面以取數指令為例分析指令執行過程(取數送到ACC中)

  1. PC保存指令的地址,送到MAR進行定址
  2. MAR根據地址到存儲體中找到保存的指令
  3. MDR從存儲體中取出指令
  4. 送到IR中,IR存放要執行的指令
  5. IR將操作碼送入CU中進行分析
  6. 同時將地址碼送到MAR中找這個數的數據
  7. MAR根據地址到存儲體中找到要取的數
  8. MDR保存從存儲體中取出的數
  9. CU控制下,將要取的數送到ACC中。

CU分析控制這些步驟的過程。

1.3 計算機硬體的主要技術指標

2. 計算機的發展以及應用 2.1 計算機的發展史

第一台計算機,1946年ENIAC,十進制運算。

電子技術的發展與計算機體系結構技術的發展對計算機的發展產生了決定性作用。

根據硬體技術來對計算機進行劃分代碼

電子管→晶體管→大規模集成電路→大規模集成電路→超大規模集成電路

軟體技術的發展:機器語言(面向機器)、匯編語言(面向機器)、高級語言(面向問題)。

2.2 計算機的應用

3. 系統匯流排 3.1 匯流排(bus)的基本概念

匯流排是連接各個部件的信息傳輸線,是各個部件共享的傳輸介質,是信號的公共傳輸線。

如果使用單匯流排結構(系統匯流排),那麼同時只能有一對部件進行信號傳輸,效率較低,使用雙匯流排結構效率會更高。

上面的結構,無法在I/O和主存之間進行直接的信息傳輸,必須要通過CPU。

3.2 匯流排的分類

3.3 匯流排的特性和性能指標

匯流排印刷到電路板上(主板),其他設備插板插到電路板上。

匯流排的性能指標:

3.4 匯流排結構

增加了DMA(直接存儲器訪問)匯流排,外部設備直接訪問存儲器內存。高速設備直接通過DMA訪問主存。

CPU與cache通過局部匯流排進行相連,擴展匯流排將外部設備連接。

高速設備和低速設備分離,分別連接到高速匯流排和擴展匯流排上。

PCI高速匯流排來連接高速設備,PCI匯流排可以通過橋來進行擴展。

3.5 匯流排控制 3.5.1 匯流排判優控制

通過是否能對匯流排發出佔用請求,我們將設備分為主設備(主模塊)和從設備(從模塊)。主設備可以對匯流排有控制權,從設備響應從主設備發來的匯流排命令

匯流排判優控制可以分為兩種:集中式和分布式。下面介紹幾種集中式的匯流排判優控制結構。

主設備通過BR申請匯流排的控制權,有設備在使用匯流排,則設置BS。匯流排控制部件通過BG來鏈式查詢這些介面是否提出了BR,遇到了BR則交出控制權。

因此,優先順序則為BG的查詢順序。這種結構對電路故障特別敏感,尤其是BG,如果BG後面出了問題,會導致後面的設備一直不會響應。

數據線用於數據的傳輸,地址線用於從設備的查找。通過設備地址線來查找某個設備是否發出匯流排請求。計數器的值通過設備地址線進行傳輸,來查找某個設備是否發出請求。可以自定義計數器的計數方式,來改變從哪個設備先查詢等。

為每個I/O介面增加了BR和BG,通過排隊器來進行優先順序排隊。這種方式使用的線數較多。

3.5.2 匯流排通信控制

為了解決通信雙方(主從設備)協調配合的問題。

匯流排的傳輸周期(完成一次主從設備完整可靠的傳輸所需要的時間):

強制同步,如果設備之間速度不同,快的設備需要等慢的設備。

不互鎖:不管從設備是否接收到請求信號,過段時間主設備都會撤銷請求。不管主設備是否接收到應答信號,從設備多段時間都會撤銷應答。

半互鎖和全互鎖針對上面進行改進。

增加等待響應信號,當wait為低電平,則等待一個T。

使用分離式通信來將匯流排空閑的時間也充分利用起來。

4. 存儲器 4.1 概述

按照存取方式對存儲器進行分類:

按照在計算機中的作用分類:

存儲器的層次結構:

4.2 主存儲器 4.2.1 概述

主存的基本組成:

主存與CPU之間的聯系:

主存中存儲單元地址的分配:

主存的技術指標:

4.2.2 主存儲器半導體晶元簡介

基本結構:

解碼驅動方式:

第一種方法是線選法

第二種方法是重合法

4.2.3 隨機存取存儲器(RAM) 4.2.3.1 靜態RAM(SRAM)

SRAM的基本電路:

SRAM晶元舉例(Intel 2114):

4.2.3.2 動態RAM(DRAM)

DRAM的基本電路:

還有一種結構是單管動態RAM:

三管DRAM晶元舉例(Intel 1103):

單管DRAM晶元舉例(Intel 4116 16k×1位):

動態RAM的刷新:

4.2.3.3 兩種RAM的比較4.2.4 只讀存儲器(ROM)

ROM中一般保存系統信息或系統程序。早期是只讀的,不可以寫,經過多年的發展和改進,現在的ROM可以自己多次讀寫。

4.2.5 CPU與存儲器的連接

存儲器容量擴展可以通過位擴展(增加存儲字長)、字擴展(增加存儲字的數量)、同時擴展。

CPU與存儲器的連接:

4.2.6 存儲器的校驗

校驗,檢測合法代碼,對非法代碼進行糾錯。

編碼的糾錯、檢錯能力與編碼的最小距離有關。最小距離為任意兩組合法代碼之間二進制位數的最小差異。$$ L-1 = D + C (D≥C) $$L為最小距離,D為檢測錯誤的位數,C為糾正錯誤的位數。

漢明碼是具有一位糾錯能力的編碼,漢明碼都採用了奇偶校驗和分組校驗(分組的奇偶校驗,分組之間是有重疊的,校驗位放在2 ^ k處,k=0,1,2,3...)。

漢明碼的分組,將代碼中每一位進行分組(1,2,3,4,5,6,7序號),將每一位的序號進行分組,序號的二進制最右邊一位為1的,第一組,右邊第二位為1的,第二組......

==最後的校驗結果,哪一位是1,那麼這位對應的那組中的那個序號的代碼位出錯。如果出現了多個1,那麼就是這幾個組中公共的那位出錯了。==

4.2.7 提高主存的訪問以及存儲速度

CPU速度提升很快,但是存儲器的速度提升較慢。

我們可以採用高速器件,採用層次結構(Cache-主存),==調整主存結構。==

4.3 高速緩沖存儲器(Cache) 4.3.1 概述

CPU與主存(DRAM)之間存在速度差異,為了避免CPU「空等」的現象,使用cache。

程序訪問的局部性原理

cache的工作原理:

把主存和cache分成大小相等的塊,每個塊大小相等,主存的塊數量遠遠大於cache的塊數量。==主存與cache之間的信息傳送是按塊傳送,塊內地址不變,cache的每個塊的標記,標記了這個塊是主存的哪個塊。==

主存塊調入了緩存(即cache標記了),稱為命中,CPU可直接在緩存中取得數據;如果沒有調入,稱為未命中。

我們希望,每次執行程序,都盡可能的在cache中提取數據,這樣速度會很快。CPU欲訪問的信息在Cache中的比率稱為命中率,命中率與Cache的容量和塊長有關。一般每塊取4-8個字,一般為一個存取周期內從主存調出的信息長度。

cache與主存的訪問效率:

這裡面平均訪問時間為每次訪問的平均時間(可能從cache,可能從主存)。

4.3.2 cache的基本結構與讀寫操作

cache的基本結構:

讀寫操作:

cache的改進:

4.3.3 cache-主存的地址映射

即主存的任意一塊載入到cache中的哪塊。

直接映射:

即主存中任意一個塊,只能映射到指定的一個cache塊中,cache塊可以是一對多的。相當於將主存分區,每個區內的這些塊,對應於cache的所有塊;這樣在cache的標記中,有t位的標記,表示當前該cache塊存放的是主存哪個區的對應位置信息。

這種方法cache塊的利用率比較低,且可能會沖突。

全相聯映射:

主存中任意一個塊,可以被放入cache中的任意一個塊中。

這樣的話,雖然塊的利用率高了,但是因為塊可以映射到任意一個位置,如果查詢某個主存塊是否已經放入cache,需要比較所有的cache標記,速度較慢。

==組相聯映射==

與直接映射相似,==將cache分組,每個組可以有多個塊;將主存分區,每個區的大小為cache的組數==。這樣每個區的第0塊,可以放入cache第0組的任何一個位置,因為每個組有多個塊,解決了直接映射的沖突問題;想查詢某個主存的塊是否放入了cache,只需要在對應的組進行查詢即可,解決了全相聯映射的問題。

4.3.4 替換演算法

如果內存塊滿了,如何替換,將誰彈出。

先進先出(FIFO)演算法

近期最少使用(LRU)演算法

4.4 輔助存儲器

輔助存儲器的主要作用是保存程序、文檔和影音資料,不能直接與CPU交換信息,需要調入主存才能進行讀寫。

包括磁碟存儲器和光碟存儲器等。

⑶ 璁$畻鏈虹郴緇熸傝-絎旇

title: 璁$畻鏈虹郴緇熸傝-絎旇
date: 2019-09-28 10:40:32
tags:
typora--images-to: ./璁$畻鏈虹郴緇熸傝-絎旇

鏈絝犲氨鏄姒傛嫭鎬х殑璁茶В浜嗕竴涓嬭$畻鏈虹殑涓浜涘熀鏈甯歌瘑.鍜岃$畻鏈鴻兘浜х敓鐨勬繁鍒誨摬瀛︾悊蹇靛拰璁$畻鏈虹粍鎴愮殑灞傛

浠8浣嶄簩榪涘埗涓轟緥,榪欓噷闇瑕佽冭檻浜岃繘鍒舵槸姝f暟榪樻槸璐熸暟,璐熸暟鐨勮瘽瑕佹嬁鍒拌ˉ鐮佸湪璁$畻,琛ョ爜琛ㄧず娉曚腑鏈楂樹綅浠h〃絎﹀彿浣

鍗佽繘鍒惰漿浜岃繘鍒,灝辨槸姣忔¢櫎浠2,璁板綍浣欐暟,鐒跺悗浠庡彸鍒板乏鎺掑垪,寰楀埌浜岃繘鍒舵暟.

榪欏洓涓緇撴瀯灝辨槸甯冨皵浠f暟鐨勫熀紜緇撴瀯.涔熸槸寰堝氱數瀛愬師鍣ㄤ歡鑳芥椂闂寸殑鍥哄畾闂ㄧ粨鏋

嫻鐐規暟鐢ㄦ潵琛ㄧず灝忔暟.浣嗕篃涓嶆槸緇濆圭殑綺劇『.鍙鑳藉湪浜岃繘鍒舵暟鐨勮寖鍥村唴灝介噺鎺ヨ繎緇撴灉.嫻鐐規暟鐢ㄥ滻鏈夌殑緇撴瀯鏉ヨ〃紺,綾諱技縐戝﹁℃暟娉,鐢變笁閮ㄥ垎緇勬垚 姣斿 12340 =1.234*10^4

絎﹀彿浣:1bit 0涓烘f暟1浣嶈礋鏁

鏁板艱寖鍥:8bit 鎸囨暟閮ㄥ垎

鏁板肩簿搴:23bit 灝炬暟閮ㄥ垎

浜岃繘鍒剁殑姣忓洓浣嶉兘鍙浠ュ瑰簲涓涓16榪涘埗, 鍥犳ょ洿鎺ュ洓浣嶅洓浣嶄竴緇勮漿鎹㈠氨琛

​ 濡 0011 1101 0110 1110 杞鎹涓 3 D 6 E 涔熷氨鏄3D6E

鍚岀悊 鍗佸叚榪涘埗杞鎹浜岃繘鍒,灝辨槸鎶婃瘡浣嶈漿鎴愬洓涓浜岃繘鍒01

鏈絝犲皢浜嗕竴浜涗簩榪涘埗鐨勫父鐢ㄨ漿鎹,鍏跺疄鏈涓昏佺殑鏄琛ョ爜,閫氳繃琛ョ爜鎶婂噺娉曡漿鎹㈡垚鍔犳硶,綆鍖栦簡璁$畻鏈虹殑瀹炵幇.鑰屾誕鐐規暟鍒欐槸閫氳繃鐗虹壊鏁板瓧鐨勭簿搴︽潵鎵╁ぇ浜嗘暟鍊肩殑鑼冨洿,鍖呮嫭琛ㄧず鏇村ぇ鐨勫ぇ鏁板 1.5 10^20鍜屾洿灝忕殑灝忔暟.1.5 *10^(-20)

in杈撳叆鐢靛帇鏃,p鏂寮n鑱旈, out鍜宱v鐩哥粌.杈撳嚭0v

in鏃犵數鍘嬫椂,p鑱旈,n鏂寮,out鍜2.9v鐩歌繛,杈撳嚭2.9v

鐢佃礬in鐨勮緭鍏ュ拰out鐨勮緭鍑虹粨鏋滄繪槸鎯沖弽鐨

A B浠諱竴鏂規湁鐢靛帇,閮戒細瀵艱嚧涓婃柟p鏂寮,涓嬫柟0V鑱旈, 鍒機杈撳嚭涓0v

A B閮芥棤鐢靛帇鏃, 涓婃柟 2.9v 涓嶤鑱旈, 鍒機杈撳嚭2.9V

​ 鎴栭棬灝辨槸鎴栭潪闂ㄧ殑鐩稿弽鎴栬呰 鎴栭棬鍙栧弽灝辨槸鎴栭潪闂

​ 鐢佃礬灝辨槸鎴栭潪闂ㄧ殑杈撳嚭緇撴瀯鍦ㄥ姞涓婁箣鍓嶇殑闈為棬,鎶婄粨鏋滃湪鍙嶈漿

宸﹁竟閮ㄥ垎.AB浠繪剰涓涓涓0鍒欎笂杈逛袱涓狿鍨嬩細鏈変竴涓榪為,瀵艱嚧C杈撳嚭涓1,鍦ㄧ粡榪囬潪闂ㄥ悗杈撳嚭涓0

A B 閮戒負1鏃, 涓婅竟涓や釜P琛岄兘絝鍙,姝ゆ椂c杈撳嚭涓0,緇忚繃闈為棬鍚庝負1

鍒拌繖閲屼簩榪涘埗榪愮畻鐨勪笌鎴栭潪.灝卞凡緇忓彲浠ラ氳繃鐢佃礬鏉ュ疄鐜頒簡.鑰屼笌鎴栭潪,寮傛垨浣滀負鏈鍩虹鐨勫厓浠,鍦ㄧ粡榪囧嶆潅鐨勭粍鍚堝彲浠ュ艦鎴愭洿澶氬嶆潅鐨勯昏緫.涓嬭竟鎶婅繖鍑犱釜闂ㄧ敤絎﹀彿鎶借薄鍖,鍏朵腑涓庨潪闂ㄥ拰鎴栭潪闂ㄥ氨鏄瀵逛笌闂ㄥ拰鎴栭棬鍙栧弽

鍐崇瓥鍗曞厓鏄涓嶈兘瀛樺偍鏁版嵁鐨勭數璺緇勫悎,浠栫殑杈撳嚭鍙栧喅浜庡綋鍓嶇殑杈撳叆.杈撳嚭鍚庣殑鏁版嵁涔熸病鍔炴硶鍦ㄥ喅絳栧崟鍏冧腑瀛樺偍璧鋒潵.

綆鍗曟潵璇村喅絳栧崟鍏冨氨鏄鐢卞疄鏃剁殑杈撳叆浜х敓瀹炴椂鐨勮緭鍑.騫朵笉淇濆瓨緇撴灉.

鎵鏈夌殑杈撳嚭緇撴灉娌℃″彧鏈変竴涓鏄1,鍏朵粬閮芥槸闆.榪欎釜鍑犱釜緇撴瀯鐢ㄦ潵媯嫻嬪尮閰嶄笉鍚岀殑杈撳叆妯″紡.鍥犱負浠栧彲浠ラ氳繃杈撳嚭鐨勭粨鏋滃垽鏂杈撳叆鐨勬潵婧

涓庨棬鍓嶇殑灝忓渾鍦堣〃紺哄硅緭鍏ュ彇鍙. AB鐨勬瘡縐嶇粍鍚堥兘瀵瑰簲涓涓杈撳嚭綰胯礬.榪欏氨鏄涓縐嶅垽鏂閫昏緫

榪欐槸涓涓涓鎷嗗氱殑緇勫悎

ABCD 涓鐩存槸杈撳叆鐨勬暟鎹婧.鏈夌數鍘. 鑰岄氳繃S鐨勪袱鏍圭嚎璺鐨勭粍鍚.鏉ュ喅瀹氫嬌鐢ˋBCD鐨勯偅涓杈撳叆鏉ヤ紶閫掔粰杈撳嚭.

榪欐槸涓涓澶氬悎涓鐨勭粍鍚

緔鍔犲櫒鏄鐢ㄦ潵鍋氫簩榪涘埗鐨勫姞娉曠殑.浜岃繘鍒剁殑鍔犳硶 鍏跺疄鏄涓変釜杈撳叆浜х敓涓や釜杈撳嚭鐨勭粨鏋

濡 a= 10111 鍔 b= 11101 鍏跺疄鏄涓や釜鏁扮殑姣忎竴浣嶉愭笎鐩稿姞.浣嗘槸榪欓噷涓や釜浣嶇浉鍔犲彲鑳戒細浜х敓榪涗綅.鎵浠ュ簲璇ユ敼涓烘槸a鍜宐鐨勬瘡涓浣嶅拰鍓嶄竴浣嶄駭鐢熺殑榪涗綅(鍙浠ユ槸1鎴0) 榪涜岀浉鍔. 浜х敓鐨勭粨鏋滀篃鍖呮嫭褰撳墠浣嶇殑鍜,鍜屼竴涓榪涗綅.鐢╟arryi琛ㄧず絎琲-1浣嶄駭鐢熺殑榪涗綅, carryi+1琛ㄧずi浣嶄駭鐢熺殑榪涗綅, si鏄褰撳墠浣嶇浉鍔犵殑緇撴灉 鐪熷艱〃濡備笅

闂ㄧ數璺濡備笅,鍙浠ョ湅鍒.涓や釜1浣嶇浉鍔,灝遍渶瑕佽繖涔堝氱數璺,鐒跺悗浜х敓鐨勪紶ci+1榪樿佷綔涓轟笅涓浣嶇浉鍔犵殑杈撳叆榪涗綅.

璁插氫釜1浣嶇殑鍏ㄥ姞鍣ㄧ粍鍚,褰㈡垚澶氫負鍔犳硶鍣

鏈鍙寵竟鐨0 鏄絎涓浣嶅姞娉曠殑榪涗綅,鐒跺悗浜х敓鐨刢1浣滀負絎浜屼綅鍔犳硶鐨勮繘浣. S0,S1,S2,S3鍒欐槸姣忎綅鍔犳硶鍚庣殑緇撴灉,鏈鍚庤緭鍑虹殑浜岃繘鍒舵牸寮忓氨鏄 C4S3S2S1S0

鎸囬氳繃涓庢垨闈炰笁涓闂ㄧ殑鍚勭嶇粍鍚,鍙浠ュ疄鐜頒換浣曢昏緫鍑芥暟.綾諱技閬撳剁殑涓夌敓涓囩墿

瀛樺偍鍗曞厓鐢ㄦ潵鎶婃暟鎹淇濆瓨鍦ㄧ數璺涓,鍦ㄤ嬌鐢ㄧ殑鏃跺欏皢鍏惰緭鍑

浠栬兘瀛樺偍1姣旂壒鐨勪俊鎮,S鍜孯鏄涓や釜杈撳叆絝 ab鏄杈撳嚭絝.榪欎釜鍣ㄤ歡瑙勫畾RS涓嶈兘鍚屾椂涓0.鑰屼笖榪欎釜鐢佃礬浠諱綍鏃跺橝鍜宎鐩稿悓,B鍜宐鐩稿悓.

榪欎釜鍣ㄤ歡鐨勮勫緥鏄.褰揝鍜孯閮戒負0鎴栭兘涓1鏃, a b鐨勭姸鎬侀兘鏄紼沖畾涓嶅彉

褰揜浠 1->0鏃, a->0 b->1

褰揝浠 1->0 鏄,a->1,b->0.

鑰 R鎴朣浠 0->1鏃 a,b鐨勭姸鎬佺ǔ瀹氫笉鍙

鍥犳ゅ彧鏈 R鎴朣浠1->0鏃,鎵嶄細鏀瑰彉ab鐨勭姸鎬,鍏朵粬鎯呭喌 ab淇濇寔涓嶅彉, 榪欏氨鐩稿綋浜庤繖涓鍣ㄤ歡鎻愪緵浜嗕繚瀛樼姸鎬佺殑鍔熻兘鍜屽彉鏇寸姸鎬佺殑鍔熻兘,榪欏氨鏄涓涓瀛樺偍鍣.

鍦ㄩ攣瀛樺櫒鍓嶅湪鍔犱袱涓鎺у埗,we琛ㄧず鍙鍐,D鏄杈撳叆鐨勬暟鎹,褰搘e涓0鏃,SR閮芥槸1.杈撳嚭涓嶅彉,鍙鏈夊綋W0->1鏃,鏃犺

D鏄0榪樻槸1.閮藉艱嚧 RS鍏朵腑涓涓鐢1->0,灝變細瀵艱嚧鍏朵腑涓涓杈撳嚭浼氬彉涓1

涓句緥.We涓1,濡傛灉D涓0,R浼 1->0,b鍙樻垚1a鍙樻垚0 We涓1,濡傛灉D涓1,S浼 1->0, 鍒檃鍙樻垚1b鍙樻垚0

鍥犳 We涓1鏃,a鐨勭粨鏋滃拰D鍚屾,琛ㄧずD鐨勬暟鎹淇濆瓨鍦ㄤ簡a涓,we涓0鏃,a鐨勬暟鎹涓嶄細鍦ㄥ彉鍖.

鍒版.榪欎釜閿佸瓨鍣ㄥ彲浠ラ氳繃鏁版嵁鏁版嵁D鍜岃誨啓鎺у埗W鏉ュ彉鏇,淇濆瓨鏁版嵁浜.

鎶婂氫釜闂ㄦ帶D閿佸瓨鍣ㄧ浉榪,鐢ㄥ悓涓涓猈E淇″彿鎺у埗,灝卞艦鎴愪簡澶氫綅鐨勫瘎瀛樺櫒

涓嬪浘鏄4浣嶅瘎瀛樺櫒,D鏄鏁版嵁婧 Q鏄杈撳嚭鐨勫瓨鍌ㄧ粨鏋 WE緇熶竴鎺у埗鍥涗綅閿佸瓨鍣ㄥ悓鏃跺啓鍏ユ暟鎹

鍐呭瓨鏄鐢辨暟閲忔瀬澶х殑瀛樺偍絀洪棿鏋勬垚,姣忎釜瀛樺偍絀洪棿鍙浠ユ斁涓涓鏁版嵁.鑰屾瘡涓鏁版嵁鎴戜滑鍙浠ョ害瀹氫粬鏈8浣嶆垨鑰4浣嶆垨鑰16浣嶉攣瀛樺櫒緇勬垚. 榪欓噷鐨勬瘡涓瀛樺偍絀洪棿鐨勮瘑鍒絎﹀彨鍋氬湴鍧. 鑰屾瘡涓鏁版嵁涓鍚鏈夌殑閿佸瓨鍣ㄧ殑涓鏁(涔熷氨鏄鑳藉瓨鍌ㄧ殑bit鐨勪綅鏁)鍙鍋氬誨潃鑳藉姏.鍦板潃鐨勬繪暟鍙鍋氬誨潃絀洪棿.

浠ユ墜鏈虹煭淇′負渚. 鎵嬫満涓婃渶澶氳2000鏉$煭淇,2000鍙瀵誨潃絀洪棿.鑰屾瘡涓鐭淇″彲浠ュ寘鍚100涓瀛.灝辨槸瀵誨潃鑳藉姏鏄100.

姣斿傝寸數鑴戞湁16MB鍐呭瓨,琛ㄧず璇ョ郴緇熸湁16M鐨勫湴鍧涓鏁(瀵誨潃絀洪棿涓16M),鑰屾瘡涓鍦板潃鐨勫誨潃鑳藉姏鏄1瀛楄妭(瀵誨潃鑳藉姏鏄8bit)

涓婃枃涓,鍐崇瓥鍗曞厓鏄涓嶄繚瀛樻暟鎹,褰撳墠鐨勮緭鍑哄彇鍐充簬褰撳墠鐨勮緭鍏.瀛樺偍鍗曞厓鏄鎶ラ敊鏁版嵁,鍙浠ユ寔涔呬嬌鐢.鏃跺簭鐢佃礬鍒欐槸鍐崇瓥鍗曞厓鍜屽瓨鍌ㄥ崟鍏冪殑緇勫悎,鏃㈣兘瀛樺偍鏁版嵁,鍙堣兘淇濆瓨鏁版嵁

鏃跺簭鐢佃礬鐨勪富瑕佺敤浜庡疄鐜版湁闄愮姸鎬佹満.鎵璋撴湁綰跨姸鎬佹満,灝辨槸鎸囦粬鏈夊嚑涓鍥哄畾鐨勭姸鎬,鐒跺悗鍙堝滻瀹氱殑杈撳叆鍜岃緭鍑,浠栦細鑷宸卞湪榪欏嚑涓鐘舵侀棿鍒囨崲,杈撳叆涓嶅悓鐨勭姸鎬.姣忎釜鐘舵侀兘浼氭牴鎹褰撳墠鐘舵佸拰褰撳墠杈撳叆鏉ヨ煩杞鍒頒笅涓鐘舵.渚嬪傜孩緇跨伅.綰㈢伅浼氬湪杈撳叆鏃墮棿鍒板彉鎹㈡椂,鏍規嵁鐜板湪鏄綰㈢伅鐘舵,璺充負緇跨伅,鑰岀豢鐏鍒欎細璺沖埌榛勭伅.

鏈夐檺鐘舵佹満琛ㄧず涓鐩撮昏緫涓婄殑欏哄簭鎵ц岃繃紼.浠栭氳繃鍥哄畾棰戠巼鐨勫競涓鐢佃礬鏉ヨЕ鍙.

鏈絝犺蹭簡涓昏佽蹭簡鏈鍩虹鐨勪笌鎴栭潪闂ㄥ櫒浠,鐒跺悗鐢辮繖鍑犱釜鍣ㄤ歡緇勬垚浜嗚$畻鏈轟腑鏈閲嶈佺殑鍐崇瓥鍗曞厓鍜屽瓨鍌ㄥ崟鍏.榪欎袱閮ㄥ垎灝辨槸璁$畻鏈虹殑鏍稿績閮ㄤ歡.鍒拌繖閲屾垜浠灝卞彂鐜.璁$畻鏈哄叾瀹炲氨鏄鏈変竴浜涘櫒浠惰繘琛屽皝瑁呯粍鍚,鐒跺悗褰㈡垚浜嗘帶鍒墮昏緫,鐒跺悗鎱㈡參婕斿寲鍑轟簡紼嬪簭鍜屾暟鎹.

鐜板湪甯哥敤鍐呭瓨鏄 2 28-by-8-bit妯″紡,涔熷氨鏄瀵誨潃絀洪棿涓2 28(2^28涓瀛樺偍鍗曞厓),瀵誨潃鑳藉姏涓8(姣忎釜鍗曞厓瀹歸噺涓8bit)

璁塊棶鍐呭瓨闇瑕佸厛寰楀埌鏌愬瓨鍌ㄥ崟鍏冪殑鍦板潃,鏀懼湪CPU鐨勫唴瀛樺湴鍧瀵勫瓨鍣(MAR)涓,鐒跺悗鍦ㄥ彂閫佽誨啓淇″彿,浣垮唴瀛樺拰cpu鐨勬暟鎹瀵勫瓨鍣ㄨ仈閫,鏁版嵁浠庡唴瀛樿繘鍏ュ埌鏁版嵁瀵勫瓨鍣(MDR)涓.

ALU鏄綆楁暟閫昏緫榪愮畻鍗曞厓,鍙浠ヨ繘琛屽姞鍑忔硶鍜屼笌鎴栭潪閫昏緫榪愮畻.ALU鑳藉勭悊鐨勬暟鎹鐨勯暱搴︽垚涓哄瓧闀,鐩鍓嶉氬父鏄32浣嶅拰64浣嶅瓧闀.

閫氬父涓篈LU閰嶇疆灝戦噺瀛樺偍鍣.鐢ㄦ潵淇濆瓨璁$畻涓闂寸粨鏋.鍥犱負浠庡唴瀛樹腑璇誨彇澶鎱浜.榪欎簺瀛樺偍鍣ㄥ彨瀵勫瓨鍣,瀛楅暱鍜孉LU涓鐩

杈撳叆杈撳嚭鐨勮誨啓閫熷害鏇存參,閫氬父浼氫負浠栦滑鍒嗛厤緙撳瓨,CPU涓庣紦瀛樿繘琛屾暟鎹浜ゆ祦

鎺у埗鍗曞厓鎸囨尌鍏朵粬鍗曞厓鍗忓悓宸ヤ綔.閲岃竟鏈閲嶈佺殑涓や釜瀵勫瓨鍣ㄦ槸鎸囦護瀵勫瓨鍣,鐢ㄦ潵淇濆瓨琚鎵ц岀殑閭f潯鎸囦護,紼嬪簭鎶鏈鍣,淇濆瓨涓嬩竴鏉¤佹墽琛岀殑鎸囦護鐨勫湴鍧.鎺у埗鍗曞厓鍖呮嫭鏈夐檺鐘舵佹満,鐢ㄦ潵鎺у埗緋葷粺涓鐨勬椿鍔.

鎸囦護鍛ㄦ湡鏄鎸囨寚浠ょ殑鎵ц屾ラ,鎸囦護鍦ㄨ$畻鏈烘帶鍒跺崟鍏冪殑鎺у埗涓嬩竴姝ヤ竴姝ユ墽琛,姣忎釜鎸囦護鍒嗕負鍏涓姝ラ,縐頒負鑺傛媿,涓涓鎸囦護鐨勫畬鏁存墽琛岃繃紼嬪彨鎸囦護鍛ㄦ湡.

鍙栨寚浠ゅ氨鏄鎶婂唴瀛樹腑鏌愪釜鎸囦護,鍔犺澆鍒版帶鍒跺崟鍏冪殑鎸囦護瀵勫瓨鍣↖R涓.PC灝辨槸鎸囧悜涓嬩竴涓瑕佹墽琛岀殑鎸囦護鐨勫湴鍧.璇︾粏姝ラゅ備笅

浠庤繖閲屽彲浠ョ湅鍒癈PU涓庡唴瀛樻墦浜ら亾閮芥槸閫氳繃MAR,MDR瀵勫瓨鍣, MAR淇濆瓨鏌愬瓨鍌ㄥ崟鍏冪殑鍦板潃,MDR浠庤ュ崟鍏冩嬁鍒版暟鎹.鑰孖R瀵勫瓨鍣ㄦ繪槸淇濆瓨瑕佹墽琛岀殑鎸囦護鐨勫唴瀹,IP鍒欐繪槸鎸囧悜涓嬩竴涓瑕佹墽琛岀殑鎸囦護鐨勫湴鍧.

榪欓噷鐨勬瘡涓姝ラら兘浼氳姳璐逛竴鍒板氫釜鏃墮挓鍛ㄦ湡

璇戠爜鎿嶄綔鏄鍒嗘瀽,媯鏌ユ寚浠ょ殑綾誨瀷,騫剁『瀹氬瑰簲鐨勬搷浣.榪欓噷鍒╃敤絎涓夌珷鐨勮瘧鐮佸櫒 閫昏緫鍣ㄤ歡,紜瀹氭寚浠ゅ瑰簲鐨勭數璺.

濡傛灉鎸囦護鎵ц屾椂瀛樺湪鍦板潃鎿嶄綔,鍒欏湪姝よ妭鎷嶈繘琛. 灝辨槸寰楀埌 鎸囦護鎿嶄綔鏁頒腑瀹屾暣鐨勫湴鍧

璇誨彇鎿嶄綔鏁板湴鍧瀵瑰簲鐨勫疄闄呭唴瀹,榪欓噷涔熼渶瑕佷嬌鐢∕AR瑁呭叆涓婃ヨ$畻鍑虹殑鍦板潃,鐒跺悗閫氳繃MDR鎶婂湴鍧涓婄殑鏁版嵁璇誨彇鍑烘潵

鎸囦護宸茬粡璇嗗埆鍑,鎿嶄綔鏁扮殑鍐呭逛篃鎷垮埌浜.榪欐ュ氨鏄鎵ц屾寚浠.

榪欐槸璇ユ寚浠ゅ懆鏈熺殑鏈鍚庝竴涓鑺傛媿,鍓嶄竴鑺傛媿鐨勭粨鏋滀細琚鍐欏叆鐩鐨勫瘎瀛樺櫒.璇ヨ妭鎷嶅畬鎴愬悗,鎺у埗鍗曞厓鍐嶆′粠鍙栨寚浠ゅ紑濮嬫墽琛屼笅涓涓鎸囦護鍛ㄦ湡(鍥犱負姝ゆ椂PC瀵勫瓨鍣ㄥ凡緇忔寚鍚戜笅涓涓灝嗚佹墽琛岀殑鎸囦護鍦板潃浜).榪欓噷灝辨槸涓涓鏈夐檺鐘舵佹満鍦ㄤ笉鍚岀姸鎬佺殑鎸夐『搴忓垏鎹

瑕佹兂鏀瑰彉鎸囦護鐨勬墽琛岄『搴,姣斿傝煩鍒頒竴涓鎴戜滑甯屾湜浠栨墽琛岀殑鎸囦護閭i噷,渚嬪傚驚鐜鏃墮渶瑕佸悜鍓嶈煩.灝辮佸湪褰撳墠鎸囦護鍙栨寚浠よ妭鎷 鍚嶱c鎸囧悜涓嬩竴涓鎸囦護 鍒版墽琛屼笅涓涓鎸囦護鐨勫彇鎸囦護鑺傛媿鍓,鎶妏c鎵ц岀殑鎸囦護鐨勫湴鍧鏀規垚鎴戜滑甯屾湜鎵ц岀殑鎸囦護鐨勫湴鍧. 榪欏氨闇瑕佺敤鍒版帶鍒舵寚浠, 鎺у埗鎸囦護灝辨槸鍦ㄤ笂鏂囩殑鎵ц岃妭鎷岴XECUTE,涓誨姩淇鏀筆C瀵勫瓨鍣ㄧ殑鍐呭.閭d箞鏈鏉℃寚浠ゆ墽琛屽畬鍚,Pc灝卞彇鍑烘垜浠鎯寵佺殑鎸囦護鐨勫湴鍧浜.

鍥犱負CPU鏄涓鏉℃寚浠や竴鏉℃寚浠や竴鐩存墽琛,濡傚拰鎵嶈兘鍋滄㈣繍琛屽憿,鍥犱負鎸囦護鏄鏍規嵁CPU鐨勬椂閽熷懆鏈熸潵榪愯岀殑.鎰忔濇槸鏃墮挓涓嶆柇鍙戜俊鍙鋒彁閱掓寚浠ゆ墽琛屼笉鍚岀殑鑺傛媿,鐒跺悗涓鐩存墽琛屾寚浠.鍥犳ゆ兂鍋滄帀鎸囦護鎵ц,灝辨槸瑕佸仠姝㈡椂閽.涔熷氨鏄浜嬭繍琛屾帶鍒朵綅杈撳嚭涓0 .灝卞仠姝浜嗘椂閽.

鏈絝犱粙緇嶄簡鍐璇轟緷鏇肩殑妯″瀷.鐜板湪鐨勮$畻鏈洪兘鏄閲囩敤榪欎釜妯″紡鏉ヨ捐″拰緇勮呯殑.榪欓噷杈逛笉鍚岀殑紜浠,瀵逛簬CPU鏉ヨ.閮介渶瑕佹妸鏁版嵁璇誨埌瀵勫瓨鍣ㄤ腑,CPU鍦ㄤ粠瀵勫瓨鍣ㄤ腑璇誨彇浣跨敤.鍥犱負CPU鐨勯戠巼榪滆繙楂樹簬鍐呭瓨鍜宨o鍗曞厓鐨勯戠巼.

鎺ヤ笅鏉ユ槸鎸囦護鎵ц岀殑鍏涓闃舵.浠栨槸涓縐嶆湁闄愮姸鎬佹満.涓嶅仠鐨勫湪鍏涓鑺傛媿涓欏哄簭鎵ц.榪欓噷灝辯敤涓婁簡涓婄珷鐨勮瘧鐮佸櫒鍣ㄤ歡.

lc-3 鏄涓涓綆鍖栫増鐨勮$畻鏈.鐢ㄦ潵浜嗚В鏁翠釜璁$畻鏈虹殑瀹屾暣鏋勯.

​ 瀵誨潃絀洪棿鏄2^16(鏁版嵁鍧),瀵誨潃鑳藉姏鏄16浣(鏁版嵁鍧楀ぇ灝), 鎴戜滑鎴愯繖16浣嶅誨潃鑳藉姏鍙鍋氫竴涓"瀛".

​ 鍐呭瓨鍜岄戠巼榪滆繙浣庝簬CPU鐨勯戠巼.CPU浠庡唴瀛樼洿鎺ヨ誨彇鏁版嵁灝辨氮璐瑰ぇ閲忔椂閽熷懆鏈.鎵浠CPU涓鏈夊緢澶氬瘎瀛樺櫒,鍏跺疄灝辨槸鍛婅瘔鍐呭瓨.浠栦滑鍜屽唴瀛樼殑鍘熺悊涓鏍,鑳藉瓨鍌ㄦ暟鎹,鏈夊敮涓琛ㄧず鑳界嫭絝嬪誨潃,鐢≧0...R7琛ㄧず8涓瀵勫瓨鍣

​ 鎸囦護闆嗗寘鎷 鎿嶄綔鐮(鍋氫粈涔)+鎿嶄綔鏁(瀵硅皝鎿嶄綔) 鍏跺疄鎿嶄綔鏁頒腑榪樺寘鎷 瀵誨潃妯″紡, 涔熷氨鏄鎬庢牱瀹氫綅鍒版搷浣滄暟鐨勫叿浣撲綅緗,璇ユ寚浠よ〃紺 鎶奟0 鍜孯2鐨勫肩浉鍔,緇撴灉淇濆瓨鍦≧1涓

​ 鎿嶄綔鐮佷富瑕佸垎涓夌被,榪愮畻,鏁版嵁縐誨姩,鎺у埗. 榪愮畻鎸囦護璐熻矗澶勭悊淇℃伅(鍔犲噺涔橀櫎涓庢垨闈) 鏁版嵁縐誨姩鎸囦護璐熻矗鍦ㄥ唴鏍稿拰瀵勫瓨鍣ㄤ箣闂翠互鍙婂唴瀛/瀵勫瓨鍣ㄥ拰io璁懼囬棿浼犻掍俊鎮. 鎺у埗璐熻矗鏀瑰彉鎸囦護鐨勬墽琛岄『搴,濡傛寚浠よ煩杞.

​ 鍏ㄩ儴鎸囦護濡備笅 DR鏄 DestinationRegister鐩鐨勫瘎瀛樺櫒 SR鏄瘲ourceRegister 婧愬瘎瀛樺櫒 閫氬父鎸囦護閮芥槸鎶妔r鐨勬暟鎹浼犲叆鍒癲r涓

​ 鏄鎸囧畾浣嶆搷浣滄暟浣嶇疆鐨勬柟寮.鎿嶄綔鏁伴氬父鍦ㄤ笁涓鍦版柟,鍐呭瓨,瀵勫瓨鍣ㄦ垨鏁版嵁鏈韜.閫氳繃瀵誨潃妯″紡鍜屾搷浣滄暟鐨勬惌閰嶇『瀹氭搷浣滄暟鐨勫叿浣撳湴鍧. 瀵誨潃妯″紡鏈5縐,絝嬪嵆鏁,瀵勫瓨鍣,鐩稿瑰誨潃,闂存帴瀵誨潃,鍩哄湴鍧鍋忕Щ

​ lc-3涓鏈3涓涓浣嶅瘎瀛樺櫒 N Z P ,褰撲換浣曞瘎瀛樺櫒鏈夋暟鎹鍐欏叆鏃,鏍規嵁緇撴灉,濡傛灉鍐欏叆緇撴灉鏄璐熸暟,N涓1.緇撴灉鏄0鍒橺涓1,鍐欏叆鏄姝f暟鍒橮鏄1. 榪欎笁涓瀵勫瓨鍣ㄥ彲鎻愪緵淇℃伅緇欐帶鍒舵寚浠ょ敤鏉ュ仛鏉′歡璺寵漿鐢.

瀵規簮鎿嶄綔鏁版寜浣嶅彇鍙,鏀懼叆鐩鐨勬搷浣滄暟 浣跨敤瀵勫瓨鍣ㄥ誨潃妯″紡,涔熷氨鏄婧愭搷浣滄暟鍜岀洰鐨勬搷浣滄暟閮芥槸瀵勫瓨鍣

鎶 R5瀵勫瓨鍣ㄧ殑鍊兼寜浣嶅彇鍙,緇撴灉鏀懼湪R3瀵勫瓨鍣ㄤ腑

ADD鏄涓や釜鎿嶄綔鏁版墽琛岃ˉ鐮佸姞娉.AND鏄涓や釜鎿嶄綔鏁版墽琛屾寜浣嶄笌. 榪欎釜鎸囦護闇瑕2涓婧愭搷浣滄暟,涓涓鐩鐨勬搷浣滄暟.榪欓噷鐨勬簮鎿嶄綔鏁,鍏朵腑涓涓鏄瀵勫瓨鍣ㄥ誨潃妯″紡.鍙︿竴涓鍙浠ユ槸絝嬪嵆鏁板誨潃妯″紡鎴栧瘎瀛樺櫒妯″紡.

絝嬪嵆鏁板氨鏄鎶婃暟鍊肩洿鎺ユ斁鍦ㄦ寚浠や腑浣滀負婧愭搷浣滄暟.濡 MOV AL, 0FH ; 灝8浣嶇珛鍗蟲暟0FH浼犻佸埌AL瀵勫瓨鍣ㄤ腑, 0FH灝辨槸絝嬪嵆鏁

涓嬪浘鏄 鎶 R5鍜孯4鐨勭粨鏋滅浉鍔.淇濆瓨鍦≧1涓

鎼縐繪寚浠ゆ槸鍦ㄥ瘎瀛樺櫒鍜屽唴瀛/瀵勫瓨鍣ㄥ拰Io闂磋繘琛屾暟鎹浼犺緭鐨勬寚浠. 鏁版嵁浠庡唴瀛樺埌瀵勫瓨鍣ㄥ彨瑁呰澆(load),浠庡瘎瀛樺櫒鍒板唴瀛樺彨瀛樺偍(store).

濡傛灉bit[9-11]鏄疍R 琛ㄧず鎶婂湴鍧鐢熸垚浣嶄腑鐨勬暟鎹鍔犺澆鍒版敼DR涓

濡傛灉bit[9-11]鏄瘲R,琛ㄧず鎶婅SR鐨勬暟鎹淇濆瓨鍒板湴鍧鐢熸垚浣嶇殑鍐呭瓨涓

​ LD 鍔犺澆鎸囦護 ST瀛樺偍鎸囦護

​ 璇ユā寮忎笅 bit[0-8]琛ㄧず鐨勬槸鐩稿逛綅縐.鐩稿逛簬褰撳墠pc璁℃暟鍣ㄧ殑浣嶇Щ,(涓婃枃璇磋繃pc璁℃暟鍣ㄤ繚瀛樹笅涓鏉¤佹墽琛屾寚浠ょ殑鍦板潃) .pc鐩稿瑰誨潃鐨勯檺鍒跺氨鏄 鍋忕Щ閲忔槸閽堝筆C鐨勫湴鍧鐨.鎵浠ュ嚲縐葷殑鑼冨洿鏈夐檺

濡備笅鍥.姝ゆ椂pc鐨勫兼槸 x4019,鐩稿箈4019鍦ㄥ嚲縐粁1AF ,LD鏄鍔犺澆鎸囦護.鎰忔濇槸鎶 (x4019+x1AF)鍦板潃涓鐨勬暟鎹淇濆瓨鍒癛2涓

​ LDI 鍔犺澆鎸囦護 STI瀛樺偍鎸囦護

​ 闂存帴瀵誨潃涓.鍦板潃鐢熸垚浣嶄繚瀛樼殑鏄涓涓鍋忕Щ鍦板潃A. 鑰孉鍜孭C鐩稿姞鍚庡緱鍒扮殑鏁板兼槸鍙﹀栦竴涓鍦板潃B.鍦板潃B鐨勫兼墠鏄鏈緇堣佹搷浣滅殑鍐呭瓨鍦板潃.闂存帴瀵誨潃鍙浠ヤ嬌鎸囦護鍦ㄦ洿澶х殑鑼冨洿鍐呰煩杞. 榪欐槸涓縐2嬈″誨潃.x

​ 涓嬪浘瑙i噴. pc褰撳墠鐨勫兼槸 x4A1C. 鍒欏嚲縐誨湴鍧A =(x4A1C +x1CC)=x4BE8 ,涓嬪浘鍐欓敊浜.搴旇ユ槸x4BE8鐨勫唴瀹規槸x2110,鐒跺悗鍦ㄦ妸x2110鐨勫唴瀹規斁鍦≧3涓.

鎬葷粨璧鋒潵灝辨槸鍏堣繘琛屼竴嬈pc鐩稿瑰誨潃,鍐嶆妸寰楀埌鐨勫湴鍧涓鐨勫間氦緇橰3

​ LDR 鍔犺澆鎸囦護 STR瀛樺偍鎸囦護

​ 璇ユā寮忓厛鎸囧畾涓涓鍩哄湴鍧瀵勫瓨鍣.鍦ㄦ寚瀹氫竴涓鍋忕Щ鍦板潃,鏈緇堢殑鎿嶄綔鏁板湴鍧鐢 鍩哄湴鍧瀵勫瓨鍣ㄧ殑鍊+鍋忕Щ鍦板潃鏋勬垚

​ 涓嬪浘瑙i噴, 鎿嶄綔鏁板湴鍧 = R2+x1D =x2345+x1D =x2362, 鍦ㄦ妸 x2362鍦板潃涓鐨勫唴瀹瑰姞杞藉埌 R1涓

​ LEA 灝嗙珛鍗蟲暟涓巔c璁℃暟鍣ㄥ湴鍧鐩稿姞.淇濆瓨鍒板彟涓涓瀵勫瓨鍣ㄤ腑.璇ュ懡浠ょ敤鏉ュ瑰瘎瀛樺櫒鍒濆嬪寲.

​ 絝嬪嵆鏁.榪欎釜璇嶇殑鍛藉悕鎰忔濆氨鏄,鎿嶄綔鏁板氨鍦ㄦ寚浠や腑,鐩存帴灝卞彲浠ヨ誨彇浜(鏂囦腑-3).灝辨槸絝嬪嵆寰楀埌.涓婂浘涓,鏀規寚浠よ誨彇鎸囬樁孌,pc鍔1 鍙樻垚 x4019, 鎵ц屾椂 x4019-3 =x4016. 鍐嶆妸x4016鍦板潃澶勭殑鍊煎嶅埗緇橰5.

​ 鎺у埗鎸囦護鍙浠ユ敼鍙樻寚浠ょ殑鎵ц岄『搴.涓嶇敤璇.鑲瀹氭槸淇鏀筽c璁℃暟鍣ㄧ殑鍊.鑰屼笖鎺у埗鎸囦護鑲瀹氭槸闇瑕佹牴鎹鏉′歡鍒ゆ柇榪涜岃煩杞.鍥犳や篃鐢ㄤ笂浜嗕笂杈規彁鍒扮殑 NZP 涓変釜涓浣嶅瘎瀛樺櫒.

​ lc-3涓鏈5涓鎺у埗鎸囦護, 鏉′歡璺寵漿,鏃犳潯浠惰煩杞,瀛愮▼搴(鍑芥暟).TRAP,涓鏂榪斿洖

​ N negative 琛ㄧず璐熸暟 Z zero 琛ㄧず闆 P positive 琛ㄧず姝f暟

​ bit[9-11]涓鐨勫煎傛灉涓嶯ZP涓変釜浣嶅瘎瀛樺櫒鍖歸厤鏃,璇ユ潯浠惰瑙﹀彂.pc璁℃暟鍣ㄥ氨浼氳$畻pc璁℃暟鍣ㄧ殑鍊+pc鍋忕Щ鍊, 涔熷氨鏄榪涜屼簡鎸囦護鐨勮煩杞.

鍦ㄦ寚浠ゅ懆鏈熺殑鎵ц岃妭鎷(EXECUTE),澶勭悊鍣ㄦ嫻媌it[9-11]鐨勬潯浠剁爜鍜 NZP涓変釜浣嶅瘎瀛樺櫒鐨勫尮閰嶆儏鍐,濡傛灉鍖歸厤,灝變慨鏀筽c璁℃暟鍣ㄧ殑鍊.瀹屾垚鎸囦護璺寵漿.

涓婂浘涓 pc=x4028 淇鏀瑰悗鐨刾c = x4028+x0D9 =x4101

濡傛灉 鏌愭寚浠ょ殑bit[9-11]浣嶉兘璁劇疆涓1. 鍒欎竴瀹氫細瑙﹀彂璺寵漿,榪欏彨鍋氭棤鏉′歡璺寵漿鎸囦護.

鏉′歡璺寵漿鎸囦護鐨勯棶棰樺氨鏄璺寵漿鏄鏍規嵁pc鍋忕Щ鍊兼潵璺寵漿鐨.涓鍏8浣,璺寵漿鐨勮寖鍥存湁鏈夐檺.鑰屽傛灉鎯沖湪鍐呭瓨涓鏇村ぇ鑼冨洿璺寵漿鎸囦護.闇瑕佷嬌鐢╦ump

jump鎸囦護.浣跨敤婧愭搷浣滄暟鐨勫唴瀹逛綔涓鴻佽煩杞鐨勫湴鍧,濡備笅.琛ㄧず瑕佽煩杞鍒 瀵勫瓨鍣≧2鐨勫唴瀹圭殑鍦板潃涓

trap鎸囦護鍜宩ump鎸囦護鐩鎬技.閮芥槸鏀瑰彉pc璁℃暟鍣ㄥ唴瀹.璺寵漿鍒版柊鐨勬寚浠ゆ墽琛屽湴鍧.浣嗘槸jump鏄鍦ㄦ湰紼嬪簭涓璺寵漿.鑰宼rap鍒欐槸鐩寸嚎鎿嶄綔緋葷粺鎺т歡鍐呴儴,涔熷氨鏄璺寵漿鍒版搷浣滅郴緇熺殑鏌愪釜鎸囦護鍦板潃.榪欏氨鏄鐩稿綋浜庡紑鍚璋冪敤緋葷粺鏈嶅姟api浜.鎵ц屽畬鎴愬悗.pc璁℃暟鍣ㄤ細榪樺師涓哄師鏉ユ湰紼嬪簭涓璽rap鎸囦護鐨勪笅涓涓鍦板潃,鏃㈡帴鐫鎵ц屾湰紼嬪簭鐨勯昏緫.

鍥為【涓涓嬩笂鏂囩殑lc-3緇撴瀯.涓嬭竟榪涜屼粙緇

鍥句腑鏈綺楁渶榛戠殑鍏.lc-3鐨勫叏灞鎬葷嚎鏈16浣,琛ㄧず涓嶅悓緇撴瀯涔嬮棿姣忔′紶閫掓渶澶16浣嶄俊鎮.鍚屼竴鏃跺埢,鎬葷嚎鍙鍏佽鎬竴涓鏁版嵁鍙戦佹柟鍙戦佹暟鎹.

璁塊棶鍐呭瓨鐨勬ラゆ槸.鍏堝皢瑕佽塊棶鍐呭瓨鐨勫湴鍧瑁呭叆MAR瀵勫瓨鍣,鐒跺悗鍦ㄧ湅鏄璇繪寚浠よ繕鏄鍐欐寚浠.濡傛灉鏄痩oad,浼氬彂閫丷D淇″彿,鎶婂唴瀛樹腑鏁版嵁閫佸叆MDR瀵勫瓨鍣, 濡傛灉鏄痵tore,鍒欐暟鎹浼氭斁鍏MDR瀵勫瓨鍣ㄤ腑,鐒跺悗鍙戦乄E淇″彿,浣縈DR瀵勫瓨鍣ㄤ腑鐨勬暟鎹淇濆瓨鑷矼AR瀵勫瓨鍣ㄦ寚瀹氱殑鍦板潃涓. (鎰熻夎繖閲屾槸紜浠剁殑鎵ц岄昏緫浜.鏄鍣ㄦ潗涔嬮棿鐢佃礬鐨勮仈閫)

ALU鏄綆楁暟閫昏緫鍗曞厓,榪涜屽熀紜鐨勮繍綆. 鎺ュ彈涓や釜杈撳叆,涓涓鏄瀵勫瓨鍣.鍙︿竴涓鏄瀵勫瓨鍣ㄦ垨鑰呮槸絝嬪嵆鏁.ALU璁$畻瀹屾垚浼氭妸緇撴灉淇濆瓨鍦ㄩ氱敤瀵勫瓨鍣ㄤ腑.鍚屾椂鏀瑰彉涓変釜鏉′歡鐮佸瘎瀛樺櫒NPZ.

​ pc璁℃暟鍣ㄨ板綍涓嬩竴鏉¤佹墽琛岀殑鎿嶄綔.浠栦細鍦ㄦ寚浠ゅ懆鏈熺殑鍙栨寚浠よ妭鎷嶆渶鍚庤繘琛岃嚜澧炴潵鎸囧悜涓嬩竴鏉℃寚浠ょ殑鍦板潃.浣嗗悓鏃朵笂闂浠嬬粛鐨勬帶鍒舵寚浠.涔熸槸浼氭敼鍙榩c璁℃暟鍣ㄧ殑鍊.鍥犳ゆ湁浜哖CMUX,PCMUX鏄涓涓涓夐変竴鐨勫氳礬澶嶇敤鍣(絎涓夌珷浠嬬粛榪,澶氱嶈緭鍏ユ暟鎹,1涓杈撳嚭鏁版嵁),PCMUX杈撳叆鍖呮嫭PC+1錛堟e父鎵ц岋級銆佸埄鐢╫ffset璁$畻鐨凱C鍊礆紙鎺у埗鎸囦護錛夈丮DR錛堟帶鍒舵寚浠わ級

​ MARMUX鏄鐢ㄦ潵鍦╨oad,store.trap鎸囦護鎵ц屾湡闂,閫夋嫨鍚堥傜殑鍦板潃杈撳叆.浠栦細鏍規嵁鎸囦護鐨勬搷浣滅爜.鏉ヤ粠浠栫殑鍑犱釜杈撳叆鍦板潃涓閫夋嫨鍚堥傜殑鍦板潃.鎴戠殑鐞嗚В鏄浠栧勭悊浜嗗悇縐嶄笉鍚屽誨潃鏂瑰紡浜х敓鐨勭粨鏋.

​ IR瀵勫瓨鍣ㄤ繚瀛樺綋鍓嶈佹墽琛岀殑榪欎釜鎸囦護.褰撴墽琛屼竴鏉℃寚浠ゆ椂錛屽厛鎶婂畠浠庡唴瀛樺彇鍒板唴瀛樻暟鎹瀵勫瓨鍣錛圡DR錛変腑錛岀劧鍚庡啀浼犻佽嚦IR

​ 鍏蜂綋璁茶В,鐩存帴璁板綍浜,鏈鎸囦護寮澶存槸0110,瀵瑰簲鎸囦護鏍煎紡濡備笅 ,鎰忔濇槸鎶 baseR +offset6 鍦板潃鐨勬暟鎹鍙栧嚭鏉.淇濆瓨鍒癉R涓 DR =M[BaseR + offset6]

​ 鏈絝犱富瑕佸垎瑙d簡LC-3璁$畻鏈虹殑鍩虹緇撴瀯,鍒嗗埆鏄鍐呭瓨,瀵勫瓨鍣,鎸囦護闆,瀵誨潃妯″紡,鏉′歡鐮..鍏朵腑瀵勫瓨鍣ㄨ櫧鐒舵湁濂藉嚑縐,浣嗘湰璐ㄩ兘鏄瀛樺彇鏁版嵁鐨勫瓨鍌ㄥ厓浠,鍙鏄淇濆瓨涓嶅悓鐨勪俊鎮.鑰屾寚浠ゅ垯鍒嗕負鎿嶄綔鎸囦護(鐢ㄤ簬璁$畻鏁版嵁),鏁版嵁鎼縐繪寚浠(鐢ㄤ簬縐誨姩鏁版嵁)鍜屾帶鍒舵寚浠(鐢ㄤ簬鎺у埗鎸囦護璺寵漿),鍦ㄥ姞涓婁笁涓浣嶅瘎瀛樺櫒NPZ鐨勯厤鍚,灝卞疄鐜頒簡涓閮ㄥ垎閫昏緫鍔熻兘,鏈夌偣紼嬪簭鐨勬劅瑙変簡.

​ 鎺ョ潃鏄鎸囦護鎵ц岀殑涓涓鍛ㄦ湡涓鐨6涓鑺傛媿.姣忎釜鑺傛媿闇瑕佷竴鍒板氫釜濮嬬粓鍛ㄦ湡.鑰岃$畻涔﹀氨鏄鏍規嵁鏃墮挓鍛ㄦ湡鐨勪俊鍙烽戠巼榪樹笉鏂鐨勮繍琛.涓嶅悓鐨勮妭鎷嶅仛浠涔,鐩存帴鐞嗚В璁頒綇灝卞ソ.榪欏氨鏄瑙勫垯.

​ 鑷充簬鎸囦護,鍏跺疄鎿嶄綔鐮佹槸涓昏佺殑.鍙嶅嶅氨榪欓泦涓,鏈夌殑鎿嶄綔鐮佽繕鏍規嵁瀵誨潃妯″紡涓嶅悓,鍙堝氫簡鍑犱釜鍙樺寲,鍏跺疄涔熸槸寰堝ソ鐞嗚В鐨

​ 瀵誨潃妯″紡鏄涓轟簡鍦ㄤ笉鍚岀▼搴︿笂,鍦ㄥ瘎瀛樺櫒涓鐨勪笉鍚屼綅緗寰楀埌鏁版嵁,榪欎釜涔熺洿鎺ヨ板綍灝卞彲浠.娌¢毦搴

​ 瀵逛簬瀵勫瓨鍣.姒傛嫭灝辨槸 MAR璁板綍鍐呭瓨鐨勫湴鍧 MDR淇濆瓨鍐呭瓨鐨勫. PC鎸囧悜涓嬩竴涓鎸囦護鍦板潃 IR淇濆瓨瑕佹墽琛岀殑鎸囦護

ZNP璁板綍瀵瑰瘎瀛樺櫒鏁版嵁鍙樺寲鐨勭粨鏋,鐢ㄦ潵鍋氶昏緫鍒ゆ柇.

奼囩紪璇璦鏄瀵規満鍣ㄦ寚浠ょ殑鍙︿竴縐嶈〃紺烘柟娉.鏈哄櫒騫朵笉鐞嗚В奼囩紪璇璦.奼囩紪璇璦鏈鍚庝篃瑕佺炕璇戞垚鏈哄櫒鎸囦護.鑰屾眹緙栬璦鍜屾満鍣ㄦ寚浠ょ殑鏍煎紡鏈夌偣綾諱技.姣忔潯奼囩紪璇璦閫氬父浼氬瑰簲涓涓鏈哄櫒鎸囦護.奼囩紪璇璦闇瑕佺粡榪囨眹緙栧櫒奼囩紪鍙樻垚鏈哄櫒璇璦.

LABEL OPCODE OPERANDS ; COMMENTS

​ 榪欎釜鍜屼箣鍓嶇殑鏈哄櫒鎸囦護鏄涓鏍風殑. 鎿嶄綔鐮佸喅瀹氬仛浠涔.鎿嶄綔鏁板喅瀹氬硅皝鍋.榪欓噷鍚屾牱瀛樺湪涓嶅悓鐨勫誨潃妯″紡.

​ ru ADD R1 ,R3,#-1 鎶奟3鍜 -1鐩稿姞.緇撴灉鍦ㄤ繚瀛樺湪R1涓,榪欐槸絝嬪嵆鏁板誨潃鏂瑰紡

​ 鎸囧悜鍐呭瓨鍗曞厓鐨勪竴涓絎﹀彿鍚.鍙浠ョ洿鎺ュ湪鍐呭瓨涓浣跨敤.鐢ㄦ潵鍋氳煩杞鎴栬呭仛load/store鐢,鍏跺疄鏄涓縐嶅湴鍧鐨勭畝鍗曡〃紺烘柟寮忓備笅 brp鍙堣煩杞鍒頒簡again鏍囧彿鐨勫湴鏂

​ 娉ㄩ噴鐢 ; 闅斿紑,璁$畻鏈轟笉浼氬埆璇嗗埆.鏄鎻愪緵緇欎漢鐪嬬殑.

​ 浼鎿嶄綔騫朵笉浼氭墽琛,鏄紼嬪簭鍛樹紶閫掔粰奼囩紪鍣ㄧ殑淇℃伅.鐢ㄦ潵鎸囧兼眹緙栧櫒鐨勬眹緙栨搷浣.奼囩紪鍣ㄧ湅鍒拌繖浜涗俊鎮,浼氭妸浠栦滑涓㈠純.

​ 鍛婅瘔奼囩紪鍣ㄥ皢lc-3紼嬪簭鏀懼湪鍐呭瓨鐨勪粈涔堜綅緗涓.濡 .ORIG x3050 琛ㄧず

⑷ 關於計算機計數系統的概念

1. 計算機系統的構成:

a. 由軟硬體兩大部分組成;

b. 硬體:是指實體部分,通常指主機(MPU、內存及其支持部件)、介面、外設這些看得見摸得著的東西;

c. 軟體:是指程序和相關附件(程序的產品說明、使用說明等),軟體不僅能充分調動硬體的功能而且能局部模仿人類思維,因此軟體也是評價系統好壞的重要標志;

d. 軟體通常分為兩大類:

i. 系統軟體:底層軟體,和相應的硬體緊密相連,通用性較差,基於硬體平台,主要有這幾類:

*1. 標准程序庫:例如開機啟動程序BIOS;

*2. 語言處理程序:特指匯編以及高級語言編譯器;

*3. 操作系統:有批處理、分時、實時等類型;

*4. 服務程序:例如連接、診斷、調試程序等;

*5. 資料庫管理程序:基於操作系統,又低於應用程序;

*6. 網路通信程序等;

ii. 應用軟體:位於最高層次,基於系統軟體,比如游戲軟體、事務管理軟體、文本編輯器等;

舉例:比如游戲里的存檔功能就是調用了操作系統提供的文件寫入功能,因此游戲軟體是基於操作系統的;

2. 計算機系統的層次結構:

a. 三級層次結構:

第三級(最高級) 虛擬機M3(高級語言機器)

實質是編譯器,將高級語言編譯成匯編語言再傳給M2執行,

從外部看上去就是一台可以直接運行高級語言的機器,將M2的功能隱藏了

第二級 虛擬機M2(匯編語言機器)

實質也是編譯器,將匯編語言編譯成機器語言再傳給M1執行,

從外部看上去就是一台可以直接運行匯編語言的機器,將M1的功能隱藏了

第一級(最底層) 實際機器M1(機器語言機器)

可以直接運行機器語言程序

b. 嚴格來講以上虛擬機都屬於翻譯程序,通常翻譯程序可以分為兩類:

i. 編譯型:就像a.中的結構,直接將源程序最終全部翻譯成可直接在M1上運行的機器語言,程序一次性執行;

ii. 解釋型:直接運行源程序,而且是一條一條執行源程序中的語句,只不過是每執行一條就將其翻譯成可直接在M1上運行的機器語言,即翻譯一次執行一次,即使下一次重復執行該語句也必須得走該流程,這種層次結構就只有兩層;

註:該過程同樣也是三層結構的,相當於M3每執行一次高級語言就將其先翻譯成匯編語言,再翻譯成機器語言最後再執行,這種模式更加貼近人的思維,就好像真的在執行高級語言一樣,並且是「一條一條執行高級語言」的;

c. 四級層次結構:就是講第一層再向下分解出一個微程序機器,又因為實際機器和微程序機器都是實際機器,因此將第一層的實際機器改稱為傳統機器以示區別

第一層 傳統機器M1

還是機器語言機器

將每一條機器指令按照不同的部分分解成更小的原子操作,即按照「指令類型+操作數1+操作數2」的形式進行分解,

分解成更小的一組微指令,再將不同類型的微指令傳給相應的M0直接運行,例如一條機器指令(為了方便,用匯編

語言描述)」MOV AL,X;「,將其分解成更小的三條微指令MOV、AL、X,分別為移動指令、尋找寄存器存儲單元的定址

指令和尋找內存存儲單元的定址指令,然後將這三個微指令交由各自相應的微程序機器運行(分別交由移動控制單元、

寄存器定址控制單元和內存定址控制單元來運行),這樣就將實際機器M1分解成了若干更小的微程序機器M0,這更加

體現了分工合作的高效性;

第零層 微程序機器M0

微指令系統

可以直接運行各自的微指令,因此由機器指令分解而來的各條微指令可以看做更小的微程序

d. 五級層次結構:即在M1和M2(即機器機和匯編機之間)還應有一層虛擬機,即操作系統,因為它具有控制並管理計算機全部硬體資源的作用,因此上層虛擬機的很多實現都必須有操作系統支持,比如malloc需要有操作系統的內存映射來支持,但從高級語言角度來看malloc沒有任何意義,操作系統不是翻譯程序,而是上層程序的運行環境;

3. 從層次結構來劃分軟硬體:

a. 以操作系統為分界線,上層虛擬機是軟體的主要研究對象,而下層的傳統機和微程序機是硬體的主要研究對象,組成原理主要的研究對象就是傳統機和微程序機;

b. 軟硬體界線並非一成不變,隨著超大規模集成電路的發展出現了固件,即將軟體永久存於只讀存儲器中;

例如,現在已經實現部分操作系統的固化(固態C盤),這樣就省去了開機時將操作系統載入進內存的時間,MPU可以直接讀操作系統中的內容,相當於一個專門存放操作系統的永久性內存;

4. 計算機系統結構和計算機組成的區別:

a. 計算機系統結構:

i. 即計算機系統的屬性,比如指令系統、數據類型、存儲技術等;

ii. 是一種概念性的結構與功能;

iii. 只在程序員層面上可見,由於計算機系統具有多級層次結構,因此站在不同層次上的程序員所看到的計算機系統結構是不同的;

iv. 例如在C程序員看來完全相同的兩種系統結構,但在匯編程序員看來可能完全不一樣;

b. 計算機組成:

i. 是對於程序員來說是透明的(隱藏的)實現系統結構的硬體細節;

ii. 例如指令系統是一種結構問題,而如何用硬體實現(用什麼電路、用那些器件進行組合)具體的指令系統就是計算機組成問題了;

c. 最為典型的例子:

廠商一般會生產同一系列不同型號的各種計算機,不同型號之間性能以及價格等會有較大的差別,但是這些型號的計算機上面開發的軟體可以相互兼容;

其中同一系列就是指這些計算機的系統結構都是相同的,因此對於程序員來說其看到的系統屬性都是相同的,因此開發的軟體相互都可以兼容(從而使用戶的軟體投資不浪費),而不同型號就是指這些計算機組成互不相同,但是這些不同的組成都實現了相同的體系結構,不同組成使得其運行速度有較大差異,一些方面的性能可能不同,這樣可以針對不同性能需求的用戶提供同一種體系結構的產品;
目錄
(一)計算機發展歷程
(二)計算機系統層次結構
1. 計算機系統的基本組成
2. 計算機硬體的基本組成
3. 計算機硬體和軟體的關系
4. 計算機的工作過程
(三)計算機性能指標
(一)計算機發展歷程
1.世界上第一台電子數字計算機是1946年問世的ENIC(Electronic Numerical Integrator And Computer)。

2.根據計算機採用的電子器件可分為四類:
(1)第一代——電子管計算機
(2)第二代——晶體管計算機
(3)第三代——小、中規模集成電路(SSI,MSI)計算機
(4)第四代——大、超大規模集成電路(LSI,VLSI)計算機

(二)計算機系統層次結構
1. 計算機系統的基本組成
1.1 一個完整的計算機系統包括硬體系統和軟體系統。

1.2 早期的馮·諾依曼機特點:

計算機硬體系統由運算器、存儲器、控制器、輸入設備和輸出設備5大部件組成。
指令和數據以同等地位存放於存儲器內,並可按地址尋訪。
指令和數據均用二進制數表示。
指令由操作碼和地址碼組成,操作碼用來表示操作的性質,地址碼用來表示操作碼在存儲器中的位置。
指令在存儲器內按順序存放。通常,指令是順序執行的,在特定條件下,可根據運算結果或根據設定的條件改變執行順序。
機器以運算器為中心,輸入輸出設備與存儲器間的數據傳送通過運算器完成。
註:現代計算機以存儲器為中心。

2. 計算機硬體的基本組成
2.1 計算機硬體的組成及作用:

運算器(ALU):完成算術運算和邏輯運算,並將運算的中間結果暫存在運算器內。
存儲器:存放數據和程序。
控制器:控制、指揮程序和數據的輸入、運行以及處理運算結果。
輸入設備:將人們熟悉的信息形式轉換為機器能識別的信息形式,常見的有鍵盤、滑鼠等。
輸出設備:將機器運行結果轉換為人們熟悉的信息形式,如列印機輸出、顯示器輸出等。
2.2 計算機軟體的組成:

系統軟體:標准程序庫、語言處理程序、操作系統、服務性程序、資料庫管理系統、計算機網路軟體等。
應用軟體(應用程序):科學計算程序、數據處理程序、過程式控制製程序、事務管理程序、各種APP等。
2.3 說明

中央處理器(CPU):運算器和控制器。
I/O設備:輸入設備和輸出設備。
地址寄存器(MAR):存放欲訪問的存儲單元地址。
數據寄存器(MDR):暫存要從存儲器中讀或者寫的信息。
運算器:包含若干通用寄存器,如累計器(ACC)、乘商寄存器(MO)、操作數寄存器(X)、變址寄存器(IX)、基址寄存器(BR)、程序狀態寄存器(PSW)等。
控制器由程序計數器(PC)、指令寄存器(IR)、控制單元(CU)組成。
3. 計算機硬體和軟體的關系
硬體和軟體是一個完整的計算機系統互相依存的兩大部分,它們的關系主要體現在以下幾個方面。

硬體和軟體互相依存:硬體是軟體賴以工作的物質基礎,軟體的正常工作是硬體發揮作用的唯一途徑。計算機系統必須要配備完善的軟體系統才能正常工作,且充分發揮其硬體的各種功能。
硬體和軟體無嚴格界線: 隨著計算機技術的發展,在許多情況下,計算機的某些功能既可以由硬體實現,也可以由軟體來實現。因此,硬體與軟體在一定意義上說沒有絕對嚴格的界面。
硬體和軟體協同發展:計算機軟體隨硬體技術的迅速發展而發展,而軟體的不斷發展與完善又促進硬體的更新,兩者密切地交織發展,缺一不可。
4. 計算機的工作過程
計算機的工作過程可分為以下幾個過程:

把程序和數據裝入到主存儲器中。
從程序的起始地址運行程序。
用程序的首地址從存儲器中取出第一條指令,經過解碼、執行步驟等控制計算機各功能部件協同運行,完成這條指令功能,並計算下一條指令的地址。
用新得到的指令地址繼續讀出第二條指令並執行,直到程序結束為止;每一條指令都是在取指、解碼和執行的循環過程中完成的。
(三)計算機性能指標
機器字長:計算機進行一次整數運算(即定點整數運算)所能處理的二進制數據的位數。數的表示範圍越大,計算精度越高。

數據通路帶寬:數據匯流排一次所能並行傳送信息的位數。

主存容量:主存儲器所能存儲信息的最大容量,用位元組或字數×字長表示。MAR的位數反映了存儲單元的個數。
如:MAR為16位,則有216 個存儲單元(即64K內存,1K=1024),若MDR為32位,表示存儲容量為64K×32位。

運算速度:

(1)吞吐量和響應時間

吞吐量:系統在單位時間內處理請求的數量,主要取決於主存的存取周期。
響應時間:用戶向計算機發送一個請求,到系統對該請求做出響應並獲得它所需要 的 結果的等待時間。
(2)主頻和CPU時鍾周期

主頻(CPU時鍾頻率):機器內部主時鍾的頻率,即CPU時鍾周期的倒數,常以MHz為單位,1MHz表示每秒1次。
CPU時鍾周期:通常為節拍脈沖或T周期,即主頻的倒數,是CPU中最小的時間單位。
(3)CPI:執行一條指令所需要的時鍾周期數。

(4)CUP執行時間:運行一個程序所花費的時間。
   CUP執行時間 = CPU時鍾周期數 / 主頻 = (指令條數 × CPI)/ 主頻

(5)MIPS、MFLOPS、GFLOPS和TFLOPS

MIPS:每秒執行多少百萬條指令。
MIPS = 指令條數 / (執行時間 × 106)= 主頻 / CPI

MFLOPS:每秒執行多少百萬次浮點運算。

GFLOPS:每秒執行多少十億次浮點運算。

TFLOPS:每秒執行多少萬億次浮點運算。

閱讀全文

與MDR對程序員透明嗎相關的資料

熱點內容
單片機液晶觸摸屏 瀏覽:76
文件夾的設計比例 瀏覽:27
javabyte長度 瀏覽:909
延伸的命令為 瀏覽:428
total命令 瀏覽:89
王者榮耀蘋果怎麼掃碼登錄安卓 瀏覽:973
ps命令功能介紹 瀏覽:554
java退出登錄 瀏覽:850
新浪樂居php 瀏覽:599
單片機開發板什麼樣子的 瀏覽:89
linux命令替換文件 瀏覽:167
linux內存佔用排序 瀏覽:1
排序演算法最優復雜度 瀏覽:965
android添加gps 瀏覽:619
安卓通知閃光燈怎麼關 瀏覽:333
a演算法局部最優 瀏覽:942
共享文件夾怎麼在另一個電腦找不到 瀏覽:735
php標准json 瀏覽:296
演算法所具備的特性是 瀏覽:831
linux查看硬體信息的命令 瀏覽:390