實驗目的:掌握cpu對儲存器進行訪問的基本操作步驟;了解用軟體模擬計算機硬體結構的基本方法;了解物件導向設計方法在軟體開發活動中的應用。程式功能:採用物件導向程式設計方法,編寫c++程式,模擬cpu按位址對主存單元進行讀寫操作的過程。實驗任務:用c++程式語言和物件導向程式設計方法,編寫程式,模擬實現cpu按位址對主存進行讀寫操作的過程。
使用者能夠進行的操作:
(1)對主存指定單元的寫入操作;
(2)對主存指定單元的讀出操作;
(3)在成批顯示主存所有單元的資料。
模組結構:
computer.h 用於宣告所有的型別、類和介面
computer.cpp 用於定義函式體內部**
main.cpp 用於測試**的正確性
要求:
程式設計應能模擬cpu訪問儲存器的過程。如:
寫記憶體的操作應該包含如下過程:(step1)修改資料暫存器dr,(step2)設位址暫存器ar,(step3)將資料暫存器dr中的資料寫入指定記憶體單元。
讀記憶體的操作應該包含如下過程:(step1)設位址暫存器ar,(step2)將指定記憶體單元的內容送入資料暫存器dr。
computer.h 標頭檔案
#include
typedef
char dataword;
typedef
int addressword;
#define memorysize 4096
class
memory
;class
cpu;
class
computer
;
computer.cpp
#include
#include
"computer.h"
#include
/****cpu類的宣告***/
void cpu::
setdr
(dataword dr)
void cpu::
setar
(addressword ar)
addressword cpu::
getar()
dataword cpu::
getdr()
/****memory類的宣告****/
memory::
memory()
void memory::
inputmemory
(addressword arw, dataword drw)
dataword memory::
outputmemory
(addressword arw)
/****computer類的宣告*****/
dataword computer::
readmemory
(addressword address)
void computer::
writememory
(addressword arw, dataword drw)
void computer::
displaymemoryall()
std::cout << std::endl;
}
main.cpp
#include
"computer.h"
using
namespace std;
intmain()
case2:
case3:
case4:
}}return0;
}
計組實驗二(short與int的型別轉換)
首先我們知道,short型在計算機中儲存時占用了16個bit,int型占用了32個bit,題目要求的都是有符號數 因此short 0 14位是數值位,15位是符號位 int 0 30位是數值位,31位是符號位 從short到int,我們需要將short中的0 14位存入int型的0 14位,同時將符...
CPU與記憶體的關係
至今才對cpu和記憶體有一定了解了,下面有幾個比喻的理解,很形象呦 1 例如你要吃東西時,硬碟是鍋,記憶體是碗,cpu是你,淺顯點就是這樣子了 2 例如電腦是企業,記憶體是車間,cpu是生產線,硬碟是倉庫,主機板是地基,cpu快,生產就快,記憶體大,一次處理的材料就多.所以提高機器速度有兩條路,一是...
cpu與記憶體的關係
cpu是負責運算和處理的,記憶體是交換資料的。當程式或者操作者對cpu發出指令,這些指令和資料暫存在記憶體裡,在cpu空閒時傳送給cpu,cpu處理後把結果輸出到輸出裝置上,輸出裝置就是顯示器,印表機等。在沒有顯示完之前,這些資料也儲存在記憶體裡,如果記憶體不足,那麼系統自動從硬碟上劃分一部分空間作...