回覆列表
-
1 # 使用者4481253168382174
-
2 # 使用者5253322899700
資料和指令都以二進位製程式碼的形式儲存在儲存器中,從程式碼本身無法區別它是資料還是指令,CPU在取指令時把從儲存器中讀取的資訊都看作指令,在讀取資料時把從儲存器中讀取的資訊都看成是資料。為了區分運算資料和程式中的指令,程式設計師在編寫程式時需要知道每個資料的儲存位置以及指令的儲存位置,以避免將指令當作資料或者將資料當作指令
-
3 # 使用者4426198074816
運算器是一個用於資訊加工的部件,用於對資料進行算術運算和邏輯運算。
運算器通常由算術邏輯單元(Arithmetic Logic Unit,ALU)和一系列暫存器組成。其中,ALU是具體完成算術與邏輯運算的單元,是運算器的核心,由加法器和其他邏輯運算單元組成。暫存器用於存放參與運算的運算元。累加器是一個特殊的暫存器,除了存放運算元之外,還用於存放中間結果和最後結果。
計算機透過儲存系統來完成資訊的儲存和提取。 儲存系統是指計算機中由存放程式和資料的各種儲存裝置、控制部件及管理資訊排程的裝置(硬體)和演算法(軟體)所組成的系統。計算機的主儲存器不能同時滿足存取速度快、儲存容量大和成本低的要求,在計算機中必須有速度由慢到快、容量由大到小的多級層次儲存器,以最優的控制排程演算法和合理的成本,構成具有效能可接受的儲存系統。 在計算機系統中儲存層次可分為高速緩衝儲存器、主儲存器、輔助儲存器三級。高速緩衝儲存器用來改善主儲存器與中央處理器的速度匹配問題。輔助儲存器用於擴大儲存空間。 資訊存取過程中,儲存系統必須完成邏輯地址空間和物理地址空間之間的變換,並且合理地管理儲存系統資源。邏輯地址是指程式設計師編制的程式地址,由它構成邏輯地址空間。程式主儲存器中的實際地址稱為物理地址,由它構成物理地址空間。儲存映像基本上分為兩種情況:一種是邏輯地址空間小於物理地址空間,映像要求可以訪問所有的物理儲存器;另一種是邏輯地址空間大於物理地址空間,映像要確定每個邏輯地址實際所對應的物理地址。 最後補充下“靜態記憶體”和“動態記憶體“的區別: 1.靜態記憶體是指在程式開始執行時由編譯器分配的記憶體,它的分配是在程式開始編譯時完成的,不佔用CPU資源。程式中的各種變數,在編譯時系統已經為其分配了所需的記憶體空間,當該變數在作用域內使用完畢時,系統會自動釋放所佔用的記憶體空間。變數的分配與釋放,都無須程式設計師自行考慮。如:基本型別,陣列。 2.動態記憶體:使用者無法確定空間大小,或者空間太大,棧上無法分配時,會採用動態記憶體分配。 3.二者區別: a)靜態記憶體分配在編譯時完成,不佔用CPU資源;動態記憶體分配在執行時,分配與釋放都佔用CPU資源。 b)靜態記憶體在棧(stack)上分配;動態記憶體在堆(heap)上分配。 c)動態記憶體分配需要指標和引用型別支援,靜態不需要。 d)靜態記憶體分配是按計劃分配,由編譯器負責;動態記憶體分配是按需分配,由程式設計師負責。