AMP模式下共享記憶體通訊的兩種定義方法

2021-09-25 20:31:31 字數 677 閱讀 9491

為了在兩個cpu之間互動(amp: asymmetric multi processing),設計0xffff0000所在的位元組為兩個cpu之間的互動中轉站。關於具體的實現,有如下兩個常用的方法:

1,庫函式直接讀寫。注意設定該位址memory禁用快取cache,這樣cpu能夠及時讀到該位址記憶體中變化的資料,xil_settlbattributes(0xffff0000,0x14de2);然後通過xilinx提供的讀寫位址的庫函式實現讀寫:xil_out8(0xffff0000,0x55);read_char = xil_in8(0xffff0000);

2,通過固定位址指標操作。#define var_name (*(volatile unsigned char *)(0xffff0000)),注意該行程式的理解:中間的(volatile unsigned char *)的作用是強制型別轉換,型別轉換改變了後續連線主體的屬性,改變後【等效於指向0xffff0000這個位址的乙個儲存內容易變化的位元組的指標】。最左側*代表「取指標指向記憶體位置的儲存內容」。基礎知識:變數的位址成為該變數的「指標」,這裡的「指標」是加引號的,要成為真正的指標,還需要指向儲存資料的型別資訊。專門用來存放另一變數的位址(即指標)的變數,稱為指標變數。

共享的兩種方式

共享有兩種,這裡的共享可以理解為復用,分為時間上的復用和空間上的復用,時間上的復用的乙個典型的例子就是分時系統分時使用cpu,cpu將所有時間分成若干個段,每個程序使用一段時間,然後讓出cpu,之後排程邏輯會挑選另外乙個程序來使用cpu的接下來的時間段 空間上的復用的乙個典型的例子就是早期的多道程式...

分布式共享記憶體兩種實現方式

分布式共享記憶體 這裡,我們介紹兩種分布式共享記憶體,一種是分布式共享記憶體,另外一種是 分布式共享記憶體 簡單的分布式共享記憶體 所有的程序去訪問乙個共享記憶體,這個共享記憶體是虛擬的,他可能分布在不同的物理機上,其實可以理解為一種抽象,他整合了所有的儲存資源,然後所有的排程 分配 讀寫都對程式設...

ftp的兩種模式

常用ftp的人都知道,ftp在傳輸檔案的時候分為兩種模式 ascii模式 和 二進位制模式 1 ascii模式是一般是用來傳輸文字檔案的 2 二進位制模式是用來傳輸二進位制檔案的 一般我們使用ftp工具進行檔案傳輸的時候,工具內部應該會識別檔案型別,而如果我們使用windows內建的ftp,在命令列...