① 2. 計算機中地址概念是內存儲器各存儲單元的編號. 現有一個32K8 的存儲器,用十六進制數對它的
選B,7FFF。
1個地址用1個位元組來表示,所以32KB一共可以表示32*1024=32768個地址。
不過由於地址是從0開始的,所以地址范圍是0~32767。
那麼我們接下來的任務只需要把32767化成十六進制就可以了。
方法是:除以16,取余,逆序輸出。如圖:
② [T0 H0A K0 D0 K1] [T0 H 0A K20 K3 K1] [FROM HOA HOA D16 K8]三菱程序分別什麼意思。希...
TO H0A K0 D0 K1
指對編號為H0A的特殊單元模塊的緩沖存儲器(BFM)#0,寫入可編程式控制制器D0的數據
TO H0A K20 K3 K1
指對編號為H0A的特殊單元模塊的緩沖存儲器(BFM)#20,寫入數據3
FROM H0A H0A D16 K8
指從編號為H0A的特殊單元模塊的緩沖存儲器(BFM)#10~#17中讀出數據,並傳送至可編程式控制制器的D16~D23 (附:H0A=十進制的10)
③ 組成原理課程設計論文
組成原理課程設計論文
當代,論文常用來指進行各個學術領域的研究和描述學術研究成果的文章,簡稱之為論文。它既是探討問題進行學術研究的一種手段,又是描述學術研究成果進行學術交流的一種工具。它包括學年論文、畢業論文、學位論文、科技論文、成果論文等。接下來我為你帶來組成原理課程設計論文,希望對你有幫助。
篇一:計算機組成原理實驗報告
一、 實驗名稱:運算器實驗
二、 實驗目的:
1.學習數據處理部件的工作方式控制。 2. 學習機器語言程序的運行過程。
三、 實驗原理:
CP226實驗儀的運算器由一片CPLD實現,包括8種運算功能。運算時先將數據寫到寄存器A和寄存器W中,根據選擇的運算方式系統產生運算結果送到直通門D。
實驗箱上可以向DBUS送數據的寄存器有:直通門D、左移門L、右移門R、程序計數器PC、中斷向量寄雹差存器IA、外部輸入寄存器IN和堆棧寄存器ST。它們由138解碼器的
四、 實驗內容:
1. 計算37H+56H後左移一位的值送OUT輸出。 2. 把36H取反同54H相與的值送人R1寄存器。
五、 實驗步驟:
實驗內容(一):
1. 關閉電源。用8位扁平線把J2和J1連接。
2. 用不同顏色的導線分別把K0和AEN、K1和WEN、K2和S0、K3和S1、K4和S2、
K6和X0、K7和X1、K8和X2、K9和OUT連接。 3. K15~K0全部放在1位,K23 ~K16放0位。
4. 注視儀器,打開電源,手不要遠離電源開關,隨時准備關閉電源,注意各數碼管、
發光管的穩定性,靜待10秒,確信儀器穩定、無焦糊味。 5. 設置實驗箱進入手動模式。
6. 設置K0=0,K8K7K6=000,K23 ~K16=0011 0111。 7. 按下STEP鍵,在A寄存器中存入37。 8. 設置K0=1,K1=0,K23 ~K16=0101 0110。 9. 按下STEP鍵,在W寄存器中存入56。
10. 設置K0=1,K1=1,K8K7K6=110,K4K3K2=000。 11. 按下STEP鍵,L寄存器顯示1A。 12. 設置K9=0,其他保持不變。
13. 按下STEP鍵,OUT寄存器顯示1A。 14. 關閉實驗箱電源。
實驗內容(二):
1. 基本與實驗內容(一)的告肆春前5個步驟相襪耐同(去掉連接OUT寄存器的導線)。 2. 連接K10和SA,K11和SB,K12和RWR。
3. 設置K0=0,K8K7K6=000,K23~K16=0011 0110。 4. 按下STEP鍵,A寄存器顯示36。 5. 設置K8K7K6=100,K4K3K2=110。 6. 按下STEP鍵,A寄存器顯示9C。
7. 設置K1K0=01,K8K7K6=000,K4K3K2=111,K23~K16=0100 0101。 8. 按下STEP鍵,W寄存器顯示45。
9. 設置K1K0=11,K8K7K6=100,,4K3K2=011,K10K11=10,K12=0。 10. 按下STEP鍵,D寄存器和R1寄存器顯示40。 11. 關閉實驗箱電源。
六、 實驗結論:
實現數據處理部件的工作方式控制和機器語言程序的運行過程。
七、 體會:
通過本次試驗,我對運算器實驗了解更深了並進一步鞏固了第一周所學的內容。
八、 思考題:
如何計算3456H+12EFH的值? 答:
通過CP226實驗儀,把S2S1S0設置為100,可以使用帶進位加法運算。由於是四位16進制,可以把它拆開,從個位開始計算,一位一位向上計算通過帶進位加法器,即算(64H*64H+64H*10H*3H+64H*3H+10H*9H+8h)+(64H*10H*4H+64H*8H+10H*4H+7H)
篇二:計算機組成原理實驗報告
【實驗環境】
1. Windows 2000 或 Windows XP
2. QuartusII、GW48-PK2或DE2-115計算機組成原理教學實驗系統一台,排線若干。
【實驗目的】
1、熟悉原理圖和VHDL語言的編寫。2、驗證全加器功能。
【實驗原理】
設計一個一位全加器,能完成兩個二進制位的加法操作,考慮每種情況下的進位信號,完成8組數據的操作。
【實驗步驟】
1.1建立工程項目
1.1.4 原理圖設計
新建項目後,就可以繪制原理圖程序了。下面以一位全加器如圖1-12所示為例,講解原理圖的編輯輸入的方法與具體步驟。
圖1-12 一位全加器原理圖
(1)執行菜單「File」→「New…」,或在工具欄中單擊圖標,彈出如圖1-13所示的「New」對話框。在此對話框的「Design Files」項中選擇「Block Diagram/Schematic File」,在單擊「OK」按鈕,QuartusⅡ10.0的主窗口進入如圖1-14所示的原理圖工作環境界面。
圖1-13 「New」對話框
(2)在如圖1-14所示的原理圖工作環境界面中單擊圖標或在原理圖編輯區的空白處雙擊滑鼠或在原理圖編輯區的空白處右鍵單擊在彈出的菜單中選擇「Insert」中的任意一個,彈出如圖1-15所示的元件輸入對話框,在「Name」欄中直接輸入所需元件名或在「Libraries: 」的相關庫中找到合適的元件,再單擊「OK」按鈕,然後在原理圖編輯區中單擊滑鼠左鍵,即可將元件調入原理圖編輯區中。為了輸入如圖1-12所示的原理圖,應分別調入and2、xor2、or3、input、output。對於相同的器件,可通過復制來完成。例如3個and2門,器操作方法是,調入一個and2門後,在該器件上單擊滑鼠右鍵,在彈出的菜單中選擇「Copy」命令將其復制,然後在合適的位置上右鍵,在彈出的菜單中選擇「Paste」命令將其粘帖即可。1
圖1-14 原理圖工作環境界面
圖1-15 元件輸入對話框
如果元件放置好後,需要改元件的位置時,對於單個器件而言,在該器件上按住滑鼠左鍵,拖到合適的位置後再松開滑鼠左鍵即可;對於多個器件而言,應該按下滑鼠左鍵框選需要移動的所有器件,然後將游標移動到選擇的器件上,待游標變成可移動的「十」字游標,此時按住滑鼠左鍵將其拖到合適的位置即可。
如果要刪除元件時,應先將元件選中,然後按「Del」鍵或右鍵在彈出的菜單中選擇「Del」。
如果要旋轉元件時,應先將元件選中,然後右鍵在彈出的菜單中可選「Filp Horizontal」(水平翻轉)、「Filp Vertical」(垂直翻轉)、「Rotate by Degrees」(逆時針方向旋轉,可選90°、180°、270°)等命令。
(3)將游標指向元件的引腳上,游標變成「十」字形狀,按下滑鼠左鍵並拖動,就會有導線引出,連接到另一端的元件上後,松開滑鼠左鍵,即可繪制好一根導線,按此方法繪制好全部導線,如圖1-16所示。
2
圖1-16 導入元件和繪制導線(注意:用滑鼠拖出的導線只能最多轉一個彎)
圖1-17 修改引腳名對話框
(4)雙擊或右鍵單擊「pin_name」輸入引腳,將彈出如圖1-17所示的對話框。在此對話框的「Gerneral」頁的「Pin name(s) 」項中輸入引腳名,如:S,然後單擊「確定」按鈕,即可將「pin_name」輸入引腳名改為「S」。按此方法依次修改其他引腳。修改後如圖1-16所示。
(5)執行菜單命令「File」→ 「Save…」,或在工具欄中單擊
名並單擊「保存」按鈕即可(此時最好不要更改存儲路徑)。
圖標,彈出「Save AS」對話框,在此對話框中輸入文件
2.1 頂層VHDL文件設計
2.1.1 創建工程和編輯設計文件
首先建立工作庫,以便設計工程項目的存儲。任何一項設計都是一項工程(Project),都必須首先為此工程建立一個放置與此工程相關的所有文件的文件夾,此文件夾將被EDA軟體默認為工作庫(Work Library)。
在建立了文件夾後就可以將設計文件通過QuartusII的文本編輯器編輯並存檔,詳細步驟如下:
1、新建一個文件夾。利用資源管理器,新建一個文件夾,如:e : eda 。注意,文件夾名不能用中文。
2、輸入源程序。打開QuartusII,選擇菜單「File」「New」,在New窗中的「Device Design Files」中選擇編譯文件的語言類型,這里選「VHDL Files」(如圖2-1所示)。然後在VHDL文本編譯窗中鍵入VHDL程序(如圖2-2所示)。3
圖2-1 選擇編輯文件的語言類型
圖2-2編輯輸入設計文件(頂層設計文件ADD1.VHD)
圖2-3利用「New Preject Wizard」創建工程
篇三:計算機組成原理實驗2.2_實驗報告
一、 實驗目的與要求
(1) 掌握Cache 控制器的原理及其設計方法。
(2) 熟悉CPLD 應用設計及EDA 軟體的使用。
二、 實驗設備
PC 機一台,TD-CM3+或TD-CMX 實驗系統一套。
三、 實驗原理
本實驗採用的地址變換是直接映象方式,這種變換方式簡單而直接,硬體實 現很簡單,訪問速度也比較快,但是塊的沖突率比較高。其主要原則是:主存中一塊只能映象到Cache 的一個特定的塊中。
假設主存的塊號為B,Cache 的塊號為b,則它們之間的映象關系可以表示 為:b = B mod Cb
其中,Cb 是Cache 的塊容量。設主存的塊容量為Mb,區容量為Me,則直接 映象方法的關系如圖2-2-1 所示。把主存按Cache 的大小分成區,一般主存容量為Cache 容量的整數倍,主存每一個分區內的塊數與Cache 的總塊數相等。直接映象方式只能把主存各個區中相對塊號相同的那些塊映象到Cache 中同一塊號的那個特定塊中。例如,主存的塊0 只能映象到Cache 的塊0 中,主存的塊1 只能映象到Cache 的塊1 中,同樣,主存區1 中的塊Cb(在區1 中的相對塊號是0)
也只能映象到 Cache 的塊0 中。根據上面給出的地址映象規則,整個Cache 地址與主存地址的低位部分是完全相同的。
直接映象方式的地址變換過程如圖2-2-2 所示,主存地址中的塊號B 與Cache 地址中的塊號b 是完全相同的。同樣,主存地址中的塊內地址W 與Cache 地址中的塊內地址w 也是完全相同的,主存地址比Cache 地址長出來的部分稱為區號E。
1
在程序執行過程中,當要訪問 Cache 時,為了實現主存塊號到Cache 塊號的變換,需要有一個存放主存區號的小容量存儲器,這個存儲器的容量與Cache 的塊數相等,字長為主存地址中區號E 的.長度,另外再加一個有效位。
在主存地址到Cache 地址的變換過程中,首先用主存地址中的塊號去訪問區號存儲器(按地址訪問)。把讀出來的區號與主存地址中的區號E 進行比較,根據比較結果和與區號在同一存儲字中的有效位情況作出處理。如果區號比較結果相等,有效位為『1』,則Cache 命中,表示要訪問的那一塊已經裝入到Cache 中了,這時Cache 地址(與主存地址的低位部分完全相同)是正確的。用這個Cache 地址去訪問Cache,把讀出來的數據送往CPU。其他情況均為Cache沒有命中,或稱為Cache 失效,表示要訪問的那個塊還沒有裝入到Cache 中,這時,要用主存地址去訪問主存儲器,先把該地址所在的塊讀到Cache 中,然後CPU 從Cache 中讀取該地址中的數據。
本實驗要在CPLD 中實現Cache 及其地址變換邏輯(也叫Cache 控制器),採用直接相聯地址變換,只考慮CPU 從Cache 讀數據,不考慮CPU 從主存中讀數據和寫回數據的情況,Cache和CPU 以及存儲器的關系如圖2-2-3 所示。
Cache 控制器頂層模塊如圖2-2-4 所示,主存地址為A7A0,共8 位,區號E 取3 位,這樣Cache 地址還剩5 位,所以Cache 容量為32 個單元,塊號B 取3 位,那麼Cache 分為8 塊,塊內地址W 取2 位,則每塊為4 個單元。圖2-2-4 中,WCT 為寫Cache 塊表信號,CLR 為系統總清零信號,A7A0 為CPU 訪問內存的地址,M 為Cache 失效信號,CA4CA0 為Cache 地址,
2
MD7MD0 為主存送Cache 的數據,D7D0 為Cache 送CPU 數據,T2 為系統時鍾, RD 為CPU 訪問內存讀信號,LA1 和LA0 為塊內地址。
在 QuartusII 軟體中先實現一個8 位的存儲單元(見常式中的MemCell.bdf),然後用 這個8位的存儲單元來構成一個32 X 8 位的Cache(見常式中的CacheMem.bdf),這樣就實現了Cache的存儲體。
再實現一個4 位的存儲單元(見常式中的TableCell.bdf),然後用這個4 位的存儲單
元
來構成一個8 X 4 位的區表存儲器,用來存放區號和有效位(見常式中的CacheTable.bdf),在這個文件中,還實現了一個區號比較器,如果主存地址的區號E 和區表中相應單元中的區號相等,且有效位為1,則Cache 命中,否則Cache 失效,標志為M,M 為0 時表示Cache 失效。
當Cache 命中時,就將Cache 存儲體中相應單元的數據送往CPU,這個過程比較簡單。 當Cache 失效時,就將主存中相應塊中的數據讀出寫入Cache 中,這樣Cache 控制器就要產生訪問主存儲器的地址和主存儲器的讀信號,由於每塊佔四個單元,所以需要連續訪問四次主存,這就需要一個低地址發生器,即一個2 位計數器(見常式中的Counter.vhd),將低2 位和CPU 給出的高6 位地址組合起來,形成訪問主存儲器的地址。M 就可以做為主存的讀信號,這樣,在時鍾的控制下,就可以將主存中相應的塊寫入到Cache 的相應塊中,
最後再修改區表(見常式中的(CacheCtrl.bdf)。
四、 實驗步驟
1、實驗接線:
3
2、實驗步驟:
(1) 使用Quartus II 軟體編輯實現相應的邏輯並進行編譯,直到編譯通過,Cache 控
制
器在EPM1270 晶元中對應的引腳如圖2-2-5 所示,框外文字表示I/O 號,框內文字表示該引腳的含義(本實驗常式見『安裝路徑Cpld CacheCtrlCacheCtrl.qpf』工程)
(2) 關閉實驗系統電源,按圖2-2-6 連接實驗電路,並檢查無誤,圖中將用戶需要連接的信號用圓圈標明。
(3) 打開實驗系統電源,將生成的POF 文件下載到EMP1270 中去,CPLD 單元介紹見實驗1.2。
(4) 將時序與操作台單元的開關KK3 置為『運行』檔,CLR 信號由CON 單元的CLR 模擬給出,按動CON 單元的CLR 按鈕,清空區表。
(5) 預先往主存寫入數據:聯機軟體提供了機器程序下載功能,以代替手動讀寫主存,機器程序以指定的格式寫入到以TXT 為後綴的文件中。
;④ 什麼是K8結構指CPU
參考:K8 是 K7(Athlon) 的派生產品,其實 K7 本身也是一個64位的處理器。K8的開發有點類似 K6-2。當初的K6-2被評價為是一款效率很高的CPU,但AMD認為其還有潛力可供挖掘。因此,AMD決定繼續發展其核心技術,擴充其性能,以使得它成為一款性能更強大的CPU。所以他們把與K6-2相同的設計觀念放在了K8的製造上。老K7具有更多的潛力,所以AMD只是在其基礎上把功能和內核結構做了進一步的增強和完善。
[性能分析]
誰從64位技術里獲益?
從高性能的伺服器、資料庫管理系統、CAD工作站到普通的桌面PC都將從64位技術里獲益。K8 能夠支持極大容量的內存,並且提供最新優化的處理能力。K8把可用的CPU寄存器的由32位擴展到了64位,同時晶元體積也相應增大,這樣就使得其計算性能比以往的CPU更快。不僅如此,這款處理器還加強了軟體功能。
K8 規格
<> 支持x86-64位平台
<> 向下兼容 x86-32 模式: 支持16位和32位操作系統
<> 支持更高位模式: 允許64位操作系統,可運行16位和32位應用軟體
<> 64位長模式:支持64位定址操作, 並支持Via x86-64
<> 64位虛擬地址空間;
<> x86-64 寄存器擴充: - 8個新的常規寄存器 – 擴充到64位的常規寄存器 – 8個新的128位單指令多數據流寄存器
<> 64位指令指針:指令指針數據定址模式
<> 普通定址模式: 用於單個編碼、數據和堆棧信息的空間定址
操作模式
x86平台將提供兩種獨特的操作模式:64位模式和32位模式。64位模式提供對所有64位操作的支持,同時也向下兼容已有的16/32位軟體的支持。當然系統必須使用64位的操作燃拿系統。正因為AMD能提供在64模皮山搭式下對所有的16位、32位和64位 x86 體系軟體的支持,K8才有可能成為性能、兼容性和穩定性方面的霸主。
32位模式兼容傳統的16位和32位操作環境,比如,Windows 98 和IBM OS/2。此外還支持x86體系下現實、虛擬和保護模式的軟體。AMD正在繼續研究,以求能做到對所有軟體的支持。
寄存器擴充
K8將裝配64位解碼器和執行子系統,這是為了發揮其最大性能而做的改進。新增的幾個CPU級的寄存器能提供更快的執行效率。寄存器是CPU內部的快速存儲器,它是用來產生和存儲CPU的操作結果和其它運算數據的。
標準的32位x86體系平台包含有8個常規寄存器,但AMD在K8里把這個數字增加到16個。同時,還加進了8個128位的XMM/SSE寄存器,為單指令多數據處理計算提供了更多的空間,而這正是多媒體、圖形和游戲軟體所需要的。其實,所有的CPU寄存器都能處理64位操作,AMD只是提供了更多的寄存器空間,這使得K8能夠更有效的處理數據,而且,在每個時鍾頻率下傳輸的信息更多。
也許有些讀者會問:」為什麼不增加更多的寄存器來提高性能呢?」AMD曾就寄存器增加的數量和增加的花費之間的關系做仔細的研究,其結果是16個常規寄存器是最有效、最經濟的設計。增加過多的寄存器並不能帶來相等比例的性能提升,而只會增加CPU設計的製造的成本。
單指令多數據流支持
目前,AMD和Intel的努力使得單指令多數據流技術(SIMD)成為了傳統的x86浮點單元設計的取代者了。SIMD允許多個浮點操作在一個CPU時鍾頻率里結合執行。8個XMM寄存器的增加將把SIMD性唯雀能提升到一個極高的水平。這些128位的寄存器將提供在矢量和標量計算模式下進行128位雙精度處理。從這項技術中獲益的軟體還不少,比如有:CAD,3D建模、矢量分析和虛擬現實。
目前有兩個不同的SIMD指令集可供使用,那就是Intel的 SSE 和 AMD 的 3Dnow!。這兩種標准提供了相似的技術,但是它們彼此不兼容。許多軟體開發者現在都做到了對SIMD的支持,但這兩種互不相讓的標准也使他們很難從中做出選擇。不過AMD已取得了Intel的SSE和升級的SSE-2指令集的使用權,所以他會在K8里加入對這個指令集的支持,同時,K8也能執行3Dnow指令,這樣一來,其兼容性就是最大的了。
內存定址
目前x86-32: 4,294,967,296 Bytes (~4 GB)
新的x86-64: 4,503,599,627,370,496 Bytes (~4,500TB)
64位平台提供了更快的處理速度。此時CPU能對64位的內存地址空間進行定址。網路和資料庫伺服器系統要求有大容量的內存來高效地處理大量的信息。目前的40億位元組的約束限制了當前的處理速度。
全新的x86-64位設計提供了近4.5TB的定址能力,如此大量的內存足夠滿足目前和以後的軟體需要了。AMD還將在K8生產線上提供真64位內存定址,但這將限制早期的40位(48位虛擬)內存的地址分配空間。隨著內存技術的發展和軟體不斷增加的要求,普通的桌面PC用戶可能要到數年後才會考慮幾千億位元組的內存是否夠用。
閃電式數據傳輸匯流排
K8架構提供了一個令人激動的閃電式數據傳輸(LDT)匯流排。LDT 匯流排能提供更大的帶寬(6.4gb/s)來連接北橋控制器和南橋晶元。LDT允許在處於兩流水線單向布局的設備間建立2到32位的連接。LDT支持微軟的即插即用。隨著對稱多處理技術(SMP)成為主流的驅動引擎,LDT設計的幾個功能成為了可能。LDT匯流排能夠為多晶元組提供高速的連接,並使每個晶元組能與CPU相連。多晶元組架構允許設計師在一個結構里實現整體並行的計算系統。
目前已有40多個主要的硬體製造商認可了LDT匯流排,並計劃當這種匯流排正式發布時宣布支持這個標准。而K8正是融合了這項
⑤ 有8K´4的靜態RAM晶元,試組成一個16K´8的隨機存儲器
8K到16K需要兩塊,4位到8位需要兩塊,所以共需要四塊晶元來構成8位16K的RAM。
8K晶元,芯內地址鎮畢有13根 A0到A12,用洞旅磨地址線A13作為片選信號,A13=0,作為前面8K的片選納斗信號,A13=1,作為後8K的片選信號。
2^13 = 8192。