計算機組織結構
-
對於程式的邏輯執行有著直接影響
-
例如: 該計main算機有無乘法器
組織( Organization ) : 對程式設計師不可見
-
操作單元及其相互聯絡
-
該計算機中的乘法器是如何實現的
Stored Program: 意為將指令、資料以二進位制的方式儲存到主存中.摩爾定律: 每 18 個月,電晶體的數量增加一倍,價格下降一半,效能提高一倍
馮·諾依曼體系結構:
-
輸入輸出裝置
-
儲存(記憶體)
-
控制器: 指揮資訊的處理.
-
只有在涉及到儲存器相關時,用到的是, 其他任何時候都是, 比如時鐘頻率
衡量 CPU 效能的依據
9.22 星期二:
儲存
-
cache:主存速度較慢,如果所有指令都從 memory 中取,速度很慢。從 cache 中讀取會很快。
-
memory hierarchy:
-
三要素:容量、存取時間和價格,關係如下:
-
存取時間越短,平均每位的花費就越大
-
儲存容量越大,平均每位的花費就越小
-
儲存容量越大,存取時間就越長
-
-
為了滿足容量要求、效能要求,也使每位的價格低,採用了 memory hierarchy 的結構。隨著層次的下降:
-
每位價格下降
-
容量增大
-
存取時間變長
-
處理器訪問儲存器的頻率變少
-
buffer:
-
i/o輸入效率比處理慢,提高效率
-
減小丟失和等待
中斷:
有了中斷,處理器可以在進行 I/O 操作時執行其他指令。提供中斷主要是為了提高效率,因為大部分外設的速度都比處理器慢得多,假如沒有中斷,每次 I/O 操作後處理器都會進入空閒狀態直到外設跟上進度。
-
預設開
-
程式可以在執行指令的時候執行另一條指令
-
多箇中斷處理的方式:
-
順序處理
-
根據優先順序決定優先處理的指令
匯流排
匯流排:各部分資訊共享,包含地址線、資料線和控制線,前兩者可以複用。
數的二進位制表示
二進位制補碼整數:
補數:負數加模得補數,負數的補數和負數的絕對值相加等於模
浮點數:
小密 大稀疏
定點運算
1. 移位運算
1.算數移位:
-
符號位不變, 左移相當於乘以 2, 右移相當於除以 2(左側全補符號位).
2. 邏輯移位:
-
無符號數的移位, 右移時永遠在高位填 0.
2. 加法運算
1. 全加器
2. Serial Carry Adder
-
缺點: 速度慢.
-
延時(OR AND 1ty, XOR 3ty)
-
Cn: 2n ty
-
Sn: 2n+1 ty
-
3. Carry Look Ahead Adder
注意:這裡的+均為“或”
可見,僅與最初的X Y和有關.令則:
總結得:, 超前進位加法器採用的是將低一位的邏輯代數代入高一位, 依此類推最終每一個進位輸出僅考慮幾個訊號, 於是所有的進位都能同時計算.
-
缺點:複雜
-
延時: 1 ty+ 2ty + 3 ty = 6 ty
4. Partial Carry Look Ahead Adder
結合兩者
5. 溢位判斷
-
, 即符號位進位與最高有效位進位不同時,發生溢位.
-
,則溢位,與上面等價.
3. 減法運算
減法運算大致與加法相同,只需要將減數取反加一然後按加法算即可,注意加一的操作是令.
4. 乘法運算
1. 無符號整數乘法
通過加法和移位實現,與豎式乘法極其類似,但是計算機很難像人類那樣一次性把各位乘的結果一次性相加,因此採用部分積的方式:例:
部分積 | 乘數 | 得到當前行的操作 |
---|---|---|
0000 | 0110 | 部分積+乘數末位 |
0000 | 0011 | 右移 |
0111 | 0011 | 部分積+乘數末位 |
0011 | 1001 | 右移 |
1010 | 1001 | 部分積+乘數末位 |
0101 | 0100 | 右移 |
0101 | 0100 | 部分積+乘數末位 |
0010 | 1010 | 右移 |
-
乘數末位決定被乘數是否加到部分積,然後部分積和乘數均右移,部分積低位儲存到乘數高位.
-
被乘數只與部分積高位相加
原理:
2. 補碼整數乘法
根據上面無符號整數的原理, 可以將二進位制補碼整數相乘變形如下:
形式上還原了,只是每次乘的不是乘數的末位數, 且注意是算數右移,需要補符號位,例:
部分積 | 乘數 | 得到當前行的操作 |
---|---|---|
0000 | 10100 | 部分積+ |
0000 | 01010 | 右移 |
0111 | 01010 | 部分積+ |
0011 | 10101 | 右移 |
1100 | 10101 | 部分積+ |
1110 | 01010 | 右移 |
0101 | 01010 | 部分積+ |
0010 | 10101 | 右移 |
5. 除法運算
1. unsigned
1.人的計算:除數右移, 2n位
-
豎式計算:
餘數 | 除數 | 商 |
---|---|---|
00000111 | 00110000 | 0000 |
00000111 | 00011000 | 0000 |
00000111 | 00011000 | 0000 |
00000111 | 00001100 | 0000 |
00000111 | 00001100 | 0000 |
00000111 | 00000110 | 0000 |
00000001 | 00000110 | 0001 |
00000001 | 00000011 | 0001 |
00000001 | 00000011 | 0010 |
-
計算機的計算:餘數左移, n位
餘數 | 商 | 除數 |
---|---|---|
0000 | 0111 | 0011 |
0000 | 111 | 0011 |
0000 | 1110 | 0011 |
0001 | 110 | 0011 |
0001 | 1100 | 0011 |
0011 | 100 | 0011 |
0000 | 1001 | 0011 |
0001 | 001 | 0011 |
0001 | 0010 | 0011 |
2. 帶有符號的除法
-
如何判斷餘數(的絕對值)是否大於除數(的絕對值)?
-
同號則減, 異號則加. 與結果符號相同的那個數絕對值大
-
remainder sign |
Divisor sign |
Subtraction |
Addition |
||
0 |
1 |
0 |
1 |
||
0 |
0 |
Enough |
Not enough |
---- |
---- |
0 |
1 |
---- |
---- |
Enough |
Not enough |
1 |
0 |
---- |
---- |
Not enough |
Enough |
1 |
1 |
Not enough |
Enough |
---- |
---- |
-
恢復餘數法在下面的步驟中,餘數和除數的和是儲存在餘數暫存器裡面的,判斷完成後,還要恢復原來的餘數(即減去餘數).之前的不帶符號位除法也都是恢復餘數法,只是沒有表示出來.
餘數 商 除數 得到本步操作 1111 1001 0011 - 1111 001 0011 左移 1111 0010 0011 1111+0011 =0010,not enough 1110 010 0011 左移 1110 0100 0011 1110+0011=0001, not enough 1100 100 0011 左移 1111 1001 0011 1100+0011=1111, enough 1111 001 0011 左移 1111 0010 0011 1111+0011=0010,not enough 最後,結果取0010的補碼整數1110為最終結果.
-
缺點:Problem: recover remainder is high cost
-
解決方案:使用不恢復餘數法(加減相消法)
-
-
加減相消法.
-
規則
-
將被除數符號拓展 n 位後儲存在餘數和商暫存器.
-
如果被除數與除數符號相同, 作減法; 若符號位不同, 作加法.
-
若新的餘數與除數符號相同, 上商 1; 否則上商 0.
-
-
新的餘數(指左移前的餘數)與除數符號位相同, 則, 即
餘數=餘數<<1-除數
;否則
-
-
商的修正:
-
商左移一位. 若被除數和除數異號(即商為負), 商加一
-
若餘數與被除數符號不同:
-
若被除數和除數同號,餘數加除數
-
若被除數和除數異號,餘數減除數
-
-
注意:若做完如上修正後,餘數為除數相反數,需要將餘數置為0,同時商減一
-
-
示例:
-
BCD 碼
-
每 4 位二進位制數表示十進位制的一位數
-
加法:由於真值的進位是 10,而 BCD 碼的進位是 16,所以在真值產生進位的時候需加 6 強制進位.
-
減法:類似於補碼減法. BCD"補碼"與原碼相加得 9.若結果是負數("補碼"表示),需轉化成負號+原碼的形式.
浮點數四則運算
浮點數的加減運算
-
步驟
-
檢查是否為零
-
階碼對齊,尾數移位
-
對尾數加或減
-
標準化結果
-
溢位判斷
-
-
對階
-
求階差在計算機中,尾數左移可能會使最高位資料丟j失,故採用小階向大階對齊
浮點數加減的過程 -
一些溢位情況
1. Exponent overflow
-
一個正的指數超出了指數的最大值(即127)
-
指定為
2. Exponent underflow
-
一個負的指數小於了指數的最小值(即-126)
-
指定為0.
3. Significand overflow
-
同號的兩個數字相加時,在最重要的位上產生了進位.
-
在realignment時修正
4. Significand underflow
-
在對齊尾數的時候, 資料可能從尾數的最右端流失
-
需要某種形式的四捨五入
原碼加減法(用於尾數的加減)
-
如果兩個運算元符號相同,做加法,否則做減法.
-
加法:
-
若最高位產生了進位,溢位
-
符號同加數
-
-
減法:加第二個數的補數
-
若最高位產生進位,結果正確(符號等同於被減數)
-
若沒有進位,應該取結果的補數,最終結果與被減數相反.注意:此處可以是認定為沒有符號位的補碼在做計算,所以最終結果需要進行修正.(因為正數補碼是它自身,負數補碼是其反碼加一)
-
更通俗的說法:最終算A+B的時候(無論是一開始就是A+B還是減法轉化而來).如A,B同號,尾數是正常相加;若A,B異號,尾數為
-
浮點數加減法舉例
-
減法0.5-(-0.4375)=0.5+0.4375=0.93750.5 0 01111110 00000000000000000000000-0.4375 1 01111101 11000000000000000000000 0.4375 0 01111101 1100000000000000000000001111110-01111101=01111110+10000011=00000001則前者階碼比後者大,後者向前者對齊(後者階碼加1,尾數右移一位,此處尾數包含隱藏位,即橙色位).減法經處理後,兩個運算元同號,尾數做正常加法
1 0000...00 + 0 1110...00 —————————— 1 1110...00 加法計算沒有進位,則結果正確,為
-
加法0.5+(-0.4375)=0.06250.5 0 01111110 00000000000000000000000-0.4375 1 01111101 11000000000000000000000
01111110-01111101=01111110+10000011=00000001則前者階碼比後者大,後者向前者對齊(後者階碼加1,尾數右移一位,此處尾數包含隱藏位,即橙色位).兩個運算元異號,尾數加法做加後者補數.
1 0000...00 + 1 0010...00 —————————— 1 0 0010...00 符號相異產生進位,結果正確,與第一個運算元符號相同.經規格化後:
1 01111011 00000000000000000000000
浮點數乘法
-
步驟
-
如果任何一個運算元為0,返回0.
-
指數相加時需要減去偏差值,因為階碼用移碼錶示.
-
尾數相乘.
-
結果規格化並舍入.(可能造成指數溢位).
-
浮點數除法
-
步驟
-
除數為0,報錯或設為無窮.
-
被除數為0,設為0.
-
被除數的階碼和除數的階碼做差,並加回偏差值.
-
尾數相除.
-
結果標準化並舍入.
-
注意:和無符號整數除法不同:浮點數除法給被除數後面填零存入餘數和商暫存器,而整數是高位填零.
保護位
為了提高精度,在計算時每個數字都存在保護位,暫時儲存著計算後(比如右移)後的超出低位的資料.
內建儲存器
Memory
儲存器由一定數量的單元構成,每個單元可以被唯一標識,每個單元都有儲存一個數值的能力.
-
地址:單元的唯一識別符號(採用二進位制).
-
地址空間:可唯一標識的單元總數.
-
定址能力: 儲存在每個單元中的資訊的位數
-
大多數儲存器是位元組可定址的,執行科學計算的計算機通常是64位定址的.
-
半導體儲存器
-
主存中廣泛地運用了半導體晶片.
-
Memory Cell:半導體主存的基本元素.
-
特性:
-
它們展示了兩種穩定(半穩定)的狀態,可以用於表示二進位制0和1.
-
能夠被寫入至少一次.
-
可以被讀.
-
-
半導體儲存器型別
RAM
RAM
-
Random-Access Memory
-
Characteristics
-
易於讀/寫且快速
-
易失(斷電丟失資料)
-
-
型別
-
DRAM:Dynamic RAM
-
SRAM:Static RAM
-
DRAM
-
以電容器上的電荷來儲存資料
-
電容器中是否存有電荷被解釋稱二進位制1和0
-
-
需要定期重新整理來維持資料,因為電容器有放電的趨勢
-
本質是模擬裝置,因為電容可以儲存一定範圍內的任何電荷值,因此需要使用一個閾值來確定儲存的是1還是0.
SRAM
-
用傳統的觸發邏輯閘配置儲存資料
-
處理器中使用了相同的邏輯單元
-
-
只要供應電力就能一直儲存資料(無需重新整理)
DRAM 和 SRAM 之間的比較
-
相似點:
-
易失.必須持續供應電力來儲存位值
-
-
不同點:
-
DRAM 比 SRAM 的單元更小且更簡單,但是需要重新整理電路
-
DRAM 比 SRAM 整合度更高,更便宜
-
DRAM 通常用於大記憶體需求
-
-
SRAM 通常比 DRAM 快
-
SRAM 用於 Cache DRAM 用於主存
-
高階DRAM 組織
-
問題傳統的DRAM 晶片受限於其內部結構及其與處理器的儲存匯流排的連線.
-
解決方案:
-
SDRAM(Synchronous DRAM)
-
DDR (DDR SDRAM)
-
SDRAM
-
傳統的 DRAM 是非同步的.
-
處理器將地址和控制訊號提供給儲存器,表示儲存器中特定單元的一組資料應當被讀出或寫入DRAM.
-
經過一段延時後,DRAM寫入或讀出資料.在這段時間內,DRAM 執行各種內部功能,如啟用行地址線或列地址線的高電容, 讀取資料,以及通過輸出緩衝將資料輸出,而處理器只是等待,降低了效能.
-
SDRAM 與處理器交換資料同步於外部時鐘訊號,可以以處理器/儲存器匯流排全速執行,而不必等待.
-
由於SDRAM隨系統時鐘移動資料,CPU 知道資料何時能夠準備好.
-
DDR SDRAM
-
Double-data-rate SDRAM雙速率 SDRAM.
-
每個時鐘週期傳送兩次資料,一次在脈衝上升沿,一次在下降沿.
-
DDR 技術的更迭
-
提升操作頻率
-
提升預取緩衝器位數
-
ROM
Read-only memory
ROM
-
只讀儲存器
-
特點
-
不易失性:無需電源來維持資料.
-
可讀但不可寫.
-
-
應用
-
微程式設計,庫子程式,系統程式,函式表.
-
-
問題
-
固化資料需要較大的固定成本,不論是製造一片還是複製上千片特殊的ROM 。
-
無出錯處理機會,如果一位出錯.則整批的ROM 晶片只能報廢。
-
PROM
-
Programmable ROM
-
特徵
-
非易失性
-
可以但只能寫入一次
-
用電訊號寫
-
需要特殊裝置
-
-
-
與ROM相比
-
PROM 更靈活方便
-
ROM在大批量生產領域仍具有吸引力
-
Read-mostly Memory
-
特徵
-
讀操作比寫操作更為頻繁
-
非易失性儲存
-
-
型別
-
EPROM
-
EEPROM
-
Flash Memory
-
EPROM
-
Erasable PROM
-
特點
-
用電訊號讀寫
-
擦除:在寫入新的資料之前,用紫外線輻射晶片
-
所有的儲存位元都還原為初始狀態
-
需要20分鐘
-
-
-
與 PROM 相比
-
EPROM更貴,但可以多次改寫
-
EEPROM
-
Electrical EPROM
-
特點
-
任何時候都可以寫入,無需擦除原有資料
-
只需要更新定址到的一個或者多個位元組
-
寫操作耗費時間更長,每個位元組需要幾百微秒
-
-
與 EPROM 相比
-
EEPROM 更加昂貴,且密度更小,適合小容量晶片
-
Flash Memory
-
特點
-
電擦除
-
擦除至多需要數秒,比 EPROM 要快得多
-
可以擦除儲存器中的某些塊,但不能提供位元組級擦除
-
相較於 EEPROM ,快閃記憶體與EPROM有一樣的高儲存密度
-
晶片邏輯
-
可定址單元
-
由擁有相同地址的儲存位元(memory cell)組成
-
-
定址模式
-
位元組可定址
-
字
-
-
儲存陣列(Memory array)
-
由許多儲存單元組成(如下圖中有個儲存單元)
-
重新整理(Refreshing)
-
集中式重新整理
-
停止讀寫操作,重新整理每一行.
-
當重新整理時儲存器不能進行操作
-
-
分散式重新整理
-
在每一個儲存週期內當讀寫操作完成後對一部分重新整理
-
增加了儲存的時間
-
-
非同步重新整理
-
64ms 內對每一行重新整理完畢,每行重新整理間隔不變
-
效率高
-
字擴充套件,位擴充套件和字位擴充套件
-
字擴充套件
-
增加了儲存器中字的個數,地址線增加,資料線不變.由片選訊號來區分各晶片的地址範圍.
-
-
位擴充套件
-
增加了字長.地址線不變,資料線增加.讀寫的時候,一個地址對應幾塊晶片的同一位置.
-
-
字位擴充套件
-
二者結合
-
Cache
為什麼需要 cache?
-
因為 CPU 比 記憶體的速度要快得多.`
基本思路
-
使用較小, 較快的 Cache 和相對較大,更為緩慢的 Memory
-
Cache 中包含了 Memory 中資料的副本
-
Cache 位於中央處理器和儲存器之間,並可以被整合在 CPU 或者作為主機板上的一個模組.
Cache 工作的原理
-
Check:當處理器試圖讀取記憶體中的一個字的時候,會先檢查該字是否在 Cache 中.
-
Hit: 如果確實在, 這個字被傳送給處理器.
-
Miss: 否則,由一定數量的字組成的一塊( block )主存中的資料被讀入 Cache ,然後傳給處理器.
-
時間區域性性:未來將要使用的資訊(指令和資料), 可能是現在正在使用的資訊.
-
空間區域性性:未來將要使用的資訊, 很可能與正在使用的資訊在儲存空間上是鄰近的(比如遍歷一個一維陣列).
判斷 Hit 與 Miss
-
馮諾依曼計算機的設計:記憶體中的內容按位置定址,而不考慮其中的資料型別.
-
Cache 中有標記(tag) 來判斷需要讀取的資訊是否存在於 Cache.
移動"塊"而不是字
證明 Cache 機制能夠提高效能
-
設命中率為,為訪問Cache 的時間,為訪問主存的時間,則總時間為(可以認為返回資料不需要時間, 尋找花時間)由上面可以推出,若, 則,雖然非常小,但是 Cache 的容量更要遠遠小於主存的容量,這就體現了局部性的作用.
Cache 是否越大越好?
Cache 容量變大, 命中率增加會變得緩慢,因為搬來的資料可能關聯性弱,對效果提升十分有限.此外,Cache 規模變大會使得 check 的時間變長.
對映功能
-
因為 Cache 的行比主存塊要少, 所以需要一個演算法將主存中的塊對映到 Cache 中的行.
1. 直接對映
-
地址組成:
-
定義: 記憶體中的一個塊對映到 Cache 中固定的行.
-
將主存中的每個塊對映到固定的可用 Cache 中行.直接對映可以表示為:其中 i 為 Cache 行號, j 為主存塊號, m 為 Cache 行數 .為了實現訪問 Cache 每一個主存地址可以看作由三個域組成:
-
低位標識某個塊中的唯一一個儲存單元(位元組或字).
-
剩餘位標識了主存個塊中的一個.
-
其中位標識了 cache 中的行號(cache 的行數為)
-
位為 tag 位.用以區分對映到同一行的不同塊.
-
總結:
-
地址長度:位
-
可定址單元數:
-
塊大小=行大小=個儲存單元(位元組或字)
-
主存的塊數:
-
cache 行數:
-
cache 容量:個字或者位元組
-
標記長度:位
-
-
舉例:,用 16 進位制 表示地址有
CACHE 行 主存塊的起始地址 0 000000,010000,....FF0000 1 000004,010004,...,FF0004 ... ... 00FFFC,01FFFC,...,FFFFFFC 地址24位,其中,高8位為 tag 位,若當前存在該行的標記數與地址中的相同,則14位標識 cache 行號, 低2位標識行中的4個位元組(或者字);否則,前22位標識為從主存中取一塊.取的主存塊的地址為22位加兩位0(因為塊都是以4倍數開始的,每個塊有4個單元)
-
優點:
-
check快,從主存中存取的時候快
-
tag 短,額外儲存少.
-
不會隨著容量增大而變慢
-
實現簡單
-
-
缺點:
-
容易發生抖動:用到的兩個塊對映到 cache 中的同一行,於是頻繁的替換.
-
命中率低
-
2. 全相聯對映
-
地址圖示:
-
定義: 記憶體中的塊可以對映到 Cache 中的任意一行.
-
總結:
-
地址長度 s+w 位
-
可定址單元數個字(位元組)
-
塊大小=行大小=個字(位元組)
-
主存的塊數:
-
cache 的行數: 不由地址格式決定
-
標記長度=s 位
-
-
優點:
-
避免"抖動".
-
命中率高
-
-
缺點:
-
check 慢, 從記憶體中放到 cache 中慢.
-
實現較為複雜
-
3. 組相聯對映
-
圖示:
-
定義: Cache 中的行分成組(Set),記憶體中的塊搬到固定的組,組中具體的哪一行不固定.第一步類似直接對映,第二部類似全相聯對映. Cache 中分為個組,每組包含個行,則:其中: i 為組號, j 為主存塊號,m 為主存塊數,v 為組數,k 為每個組中的行數, 即 k路組(K-way Set).
-
總結:
-
地址長度 s+w 位
-
可定址單元數個字(位元組)
-
塊大小=行大小=個字(位元組)
-
主存的塊數:
-
cache 中每組行數= k
-
組數 = v =
-
cache 中的行數 = m =
-
標記長度 s-d 位(同一個組中不會出現標記位相同的兩個塊)
-
-
優點:
-
固定組 check ,存取,速度比全相聯快
-
命中率比直接對映高
-
-
缺點:
-
實現複雜.
-
若反覆用的的塊很多的話,仍然無法避免抖動.
-
替換演算法
1.最近最少用
2.先進先出
3.使用最少
4.隨機
寫策略
1.寫入
-
每一次改了之後都更新記憶體
-
好處:提升cache和主存一致性,保證主存中的內容都是最新的
-
2.寫回
-
cache 中的行要被替換時不得不寫回去,用 dirty bit 來判斷資料是否發生過改寫,若沒有改過無需寫回.
塊大小(Cache Line Size)
-
由極小變大,根據區域性性原理命中率先是提升,因為每個塊所能容納的有用資料增多了.
-
到極大時,且新取資訊的概率小於重用資訊概率時,命中率會減小.因為較大的塊減少了塊的個數,少量的塊導致裝入的資料很快會被改寫;當塊變大時,每個附加字距離所需字就更遠,被使用的概率低.
cache 數目
-
多級 cache 比單一大容量 cache 效率更高
外存
-
特點
-
大容量,非常用
-
非易失性
-
-
型別
-
磁碟
-
光碟
-
磁帶
-
U盤,SSD
-
磁碟
-
磁碟是一種由非磁性材料製成的稱為襯底的圓盤,其上塗有一層磁性材料.
-
襯底材料: 鋁合金,鋁,玻璃..
-
玻璃襯底的優點:
-
改善磁層表面的均勻性,增加磁碟的可靠性.
-
顯著減少整個表面的缺陷,有助於減少讀寫錯誤.
-
支援更低的飛行高度.
-
更好的剛度,降低了磁碟的動力需求.
-
更好的耐衝擊和耐磨損能力.
-
-
-
分類:
-
軟盤
-
硬碟
-
物理特性
-
採用可移動磁頭,每面只有一個讀-寫頭.磁頭固定在支架上,支架可以伸縮,使磁頭可以定位到任意磁軌.
-
任何時候,所有的磁頭都定位在磁軌上,所有的磁軌都是同心圓.
-
磁碟上相對位置相同的所有磁軌的集合稱為柱面.
讀寫機制
-
讀-寫是通過一個叫做磁頭的導電線圈進行的.
-
讀寫期間,磁頭靜止不動,碟片高速旋轉
-
頭的數量:
-
單: 讀寫共用一個頭.用於軟盤, 老式硬碟.
-
雙: 單獨的讀,寫頭.用於現代硬碟.
-
寫機制
-
脈衝電流送入寫磁頭.
-
利用通電線圈周圍產生磁場的性質,線圈中的電流在縫隙中感應出一個磁場.
-
產生的磁化模式被記錄在其下的磁碟表面
-
逆轉電流的方向將逆轉記錄介質上的磁化方向.
讀機制
-
傳統的讀機制採用磁碟相對線圈運動產生磁場的效應.
-
當代讀機制採用一個單獨的讀磁頭,由一個部分被遮蔽的磁阻(MR)感測器組成.當下方介質的磁化方向改變的時候,電阻會發生變化.
-
讓電流通過 MR 感測器,電阻的變化作為電壓變化被檢測出來.
-
MR 設計允許高頻操作, 這等同於更高的儲存密度和更快的操作速度.
磁頭機制
磁頭必須產生或者感應到足夠大小的電磁場,以便正確讀寫.
-
較窄的磁頭要求與盤面距離更近.
-
更大的資料密度需要更窄的磁頭和更窄的磁軌.這將導致更大的出錯率.
-
溫切斯特磁碟:
-
磁頭是一個空氣動力箔片,碟片靜止時,他停靠在盤面上.
-
旋轉碟片產生的氣壓足以使濾波從表面上升起.
-
資料組織和格式化
-
盤上的資料組織呈現為一組同心圓環,圓環被稱為磁軌(track).
-
資料以扇區(sectors)為單位傳入或者傳出磁碟.通常大小為 512 位元組
-
相鄰此島之間有間隙(gap),它可以防止或減少由於磁頭未對準或磁域干擾引起的錯誤.為了防止對系統提出不合理的定位要求,相鄰的扇區也留有間隙.
恆定角速度(CAV)
-
盤外沿的傳輸要比靠近盤中心快, 通過增加位之間的間隔,使磁碟以固定的速度掃描資訊.
-
優點:
-
可以用磁軌號和扇區號直接定址.
-
-
缺點:
-
外圍長磁軌與內圈短磁軌儲存的資料一樣多.
多重區域記錄
-
盤面被分為多個區域,每個區域中各磁軌的扇區數是一定的,遠離中心的磁軌能夠容納更多的扇區.
-
優勢: 提升了儲存容量.
-
劣勢: 實現的電路更加複雜.
格式化
-
磁軌必須有一些起始點和辨識每個扇區的起點及終點的方法.
-
格式: 附加一些僅被磁碟驅動器使用而不被使用者存取的額外資料.
-
ID 域是唯一的一個標識或地址,用於定位具體的扇區.
-
同步位元組是一個特殊的位模式,用來定義區域的起始點.
-
磁軌號標識磁碟表面上的一個磁軌.
-
磁頭號標識一個磁頭,因為磁碟有多個面.
-
ID 和資料域各包含一個檢錯碼.
-
磁碟效能引數
尋道時間
-
磁頭定位到該磁軌所花的時間.
-
初始啟動的時間
-
穿越磁軌的時間
-
旋轉延遲
-
等待相應扇區的起始處到達磁頭的時間.
-
平均為磁碟週期的一半.
-
存取時間
-
尋道時間和旋轉延遲總和
傳送時間
-
資料傳送到磁碟所需時間
-
待傳送位元組數
-
各磁軌的位元組數
-
轉速
-
總平均存取時間
-
可以證明磁碟整理加快存取速度.
磁碟排程演算法
-
先來先服務(FCFS)
-
按 I/O 請求的順序處理.
-
-
最短尋道時間(SSTF)
-
優先處理距離當前磁頭位置的最短尋道時間的請求.
-
-
SCAN
-
在 0 和 N 之間移動磁頭,優先處理當前移動方向上的請求,到達一端後反向.
-
-
C-SCAN
-
將磁頭從 N 移動到 0, 到達 0 後立即返回 N
-
-
LOOK
-
建立在 SCAN 和 C-SCAN 的基礎上, 磁頭只移動到一個方向最遠的請求.
-
光碟
CD 和 CD-ROM
-
生產
-
用精密聚焦的高強度鐳射製造母盤.
-
用母盤在聚碳酸酯上壓印出複製品.
-
在凹坑表面鍍上高反射的材料.
-
表面塗一層丙烯酸樹脂防止灰塵或劃傷.
-
用絲網印刷術把標籤印刷在丙烯酸上.
-
-
讀
-
通過安裝在光碟播放機或驅動器中的低功率鐳射從CD或CD-ROM中檢索
-
如果鐳射束落在表面有點粗糙的凹坑上,光就會散射,低強度的光就會反射回來
-
如果鐳射束落在一個光滑的表面上,更高的強度會被反射回來
-
磁碟包含一個單一的螺旋軌道,和所有扇區是相同的長度
-
以變速旋轉磁碟
-
然後鐳射以恆定的線速度讀取凹坑
-
-
CD和CD - ROM的區別
-
CD-ROM player更堅固,並有錯誤糾正裝置,以確保資料正確傳輸
-
-
優勢
-
光碟和儲存在上面的資訊可以廉價地大量複製
-
光碟是可移動的
-
-
缺點
-
它是隻讀的,不能更新
-
它的存取時間比磁碟長得多
-
CD-R
-
包括染色層,用於改變反射率,並被高強度鐳射啟用
-
可以用適當強度鐳射寫入一次
-
生成的磁碟可以在CD-R或CD-ROM驅動器上讀取
CD-RW
-
使用一種在不同相位下反射率顯著不同的材料, 可以被鐳射改變.
-
會隨著使用老化最終完全失去效能.
DVD
-
與CD相比
-
位組裝更加緊密.
-
DVD 採用雙層結構
-
DVD-ROM可以是雙面的, CD只能是單面的.
-
磁帶
-
順序儲存
-
廉價
-
寫方式
-
並行寫:多個磁軌同時寫
-
序列寫:一個磁軌返回來寫另一個
-
糾錯
基本思想
-
方法: 新增一些位來儲存附加資訊以便校正
-
過程:
-
讀入:位的資料通過函式產生位的校驗碼
-
被讀出:通過由生成與相比較
-
無錯誤: 傳送
-
有錯誤並可以糾正,傳送
-
有錯誤且不能糾正, 報告
-
-
奇偶校驗法
-
過程
-
奇校驗:
-
偶校驗: $$D_M \oplus ...D_2 \oplus D_1$
-
檢查
-
錯誤的位數為奇數
-
錯誤的位數為偶數
-
注意: 此處是指與合在一起
-
-
-
優勢:
-
廉價
-
-
劣勢:
-
無法確定出錯的位置
-
無法糾正錯誤
-
-
適用於較短的
漢明碼
-
基本思想:
-
將資料的位分組, 每位都分到多個組且分到的組的情況不同, 每個組中奇偶校驗產生一位校驗碼, 最後根據所有組的校驗碼可以定位到這位資料
-
前提:僅有一位出錯
-
-
具體過程:
-
將位資料分成組
-
每個組中產生一位奇偶校驗碼, 最終產生一位位的校驗碼
-
由產生
-
檢查: 故障字, 長度為位
-
-
校驗碼的長度
-
要確保故障字的情況能夠包含所有的情況在內.即其中為校驗碼出錯情況,為資料出錯情況, 1 未出錯情況
-
-
故障字分析:
-
如果是資料位出錯,那麼至少有兩位校驗碼會出錯, 即故障字至少有兩位為1,可得下面規則
-
全為0 : 沒有錯誤
-
只有一位為 1: 校驗碼出錯,無需糾正
-
多位為 1: 資料位出錯,需要糾正(對相應位置的資料取反)
-
-
-
資料位劃分
-
以 8 位的資料為例子,校驗碼
-
關係如下資料在傳輸的時候也正是這樣穿插進行的
-
資料位劃分
-
迴圈冗餘校驗 (CRC)
-
奇偶校驗問題:
-
需要將資料 劃分為位元組級
-
額外開銷很大
-
-
CRC 適用於以流形式儲存和傳輸大型資料
-
用數學函式產生資料和校驗碼的關係
-
過程:
-
對於位的資料, 次數為的生成多項式(用二進位制表示的話有位),需要將左移位.
-
進行模二取餘的除法運算, 具體過程如下圖:
-
-
檢查:
-
將位的內容對生成多項式做上述操作,如果無誤,所得結果為0
-
RAID 磁碟冗餘陣列
RAID
基本思想
使用多個磁碟, 分散的 I/O 請求, 以至於單一的 I/O 請求可以被並行處理, 只要請求的資料分散在不同的磁碟上.
特點
-
RAID 是被視為一塊邏輯磁碟的一組物理磁碟.
-
資料交叉分佈在物理磁碟上.
-
冗餘的磁碟可用於儲存奇偶校驗資訊, 以保證再磁碟故障的情況下的資料可恢復性.
RAID 0
資料在可用的磁碟上條帶(strip) 狀排列, 如果資料跨物理磁碟, 則同時讀寫
不含冗餘盤
用途:
-
高速率資料傳輸
-
高速 I/O 請求
與單個的大容量磁碟相比:
優點: 若兩個不同的 I/O 請求等待不同的兩塊資料, 如果這兩塊資料位於不同的物理磁碟, 就能加速.
缺點: 若資料跨盤, 只要其中的一塊硬碟壞了, 所有的都不能讀取.
RAID 1
所有的資料都按 RAID 0 的方式存取, 只是每個資料都存兩份 ( 映象 ).
優點: 恢復很簡單, 可以加速讀取 ( 若兩塊硬碟中同時有這個資料 ).
缺點: 浪費, 效能會降低為較慢的盤.
用途: 僅用於儲存系統檔案, 資料和其他高度關鍵檔案的驅動器.
與 RAID 0 相比:
-
若請求的大部分是讀取, RAID 1 可以實現較高的 I/O 請求率, 效能幾乎是 RAID 0 的兩倍.
-
若大部分是寫請求, 效能沒有顯著的優勢.
RAID 2 (未商業化)
使用並行存取技術(為一個客戶服務):
-
所有的成員磁碟參與 I/O 的運算,
-
各自驅動器的軸是同步旋轉的, 以便每個磁碟磁頭的位置在同一時刻是相同的.
使用資料條帶: 條帶很小, 一個位元組或者一個字.
糾錯機制:
-
每個磁碟相應位置計算校驗碼, 並存在多個校驗盤的相應位置上.通常使用漢明碼.
-
讀: 獲取所請求的資料以及校驗碼.
-
寫: 必須訪問所有的資料盤和校驗盤.
優點:
-
高速率資料傳輸
-
資料丟失可以恢復
缺點:
-
I/O 響應慢, 同時只能處理一個 I/O
-
成本過高, 因為磁碟可靠性已經得到了極大提高, 不容易出現大量錯誤
RAID 3
使用並行存取技術.
使用很小的條帶
糾錯機制:
-
一個奇偶校驗盤, 存有資料盤相同位置資料的奇偶校驗碼
-
若有一個磁碟失效, 可以由其他磁碟和校驗盤恢復出這個資料, 如失效:
效能:
-
高速率傳輸資料, 對大型傳輸改善尤為明顯.
-
一次只能執行一個 I/O 請求
RAID 4(未實現商業化)
使用獨立訪問技術: 期望每個成員磁碟獨立操作, 可以獨立地並行完成 I/O 請求.
使用較大的資料條帶
糾錯機制: 每個資料盤上相應的條帶上逐位計算奇偶校驗帶, 儲存在奇偶校驗盤的相應位置.
效能:
-
執行小規模 I/O 寫請求時, RAID 4 遭受寫損失
-
每次寫操作, 陣列管理軟體不僅需要更新資料 , 還需要更新對應的奇偶校驗碼. 兩讀兩寫.
-
涉及大規模 I/O 寫入, 僅根據新資料原資料和校驗碼就能得到新的校驗碼.
-
冗餘盤不能同時進行多個 I/O 操作, 成為寫的瓶頸.
RAID 5
與 RAID 4 相類似, 但是沒有專門的冗餘盤, 而是分散到各個盤, 減少了 I/O 瓶頸.
RAID 6
多一塊磁碟, 兩種糾錯碼相互印證.
記憶體管理
過去, 只有作業系統和一個程式在記憶體中.
現在, 作業系統和多個程式都在記憶體中. 程式等待 I/O 時, 為了避免處理器等待, 需要進行優化, 使得更多的程式可以載入入記憶體.
記憶體管理:在多程式設計系統中, 記憶體的 "使用者部分" 應該被進一步劃分以適應多個程式, 這是由系統動態決定的.
載入更多程式的途徑
-
增大記憶體
-
使用交換和重疊技術
-
當沒有程式就緒的時候, 系統載入程式
-
分割槽和分頁
-
-
虛擬記憶體
-
請求分頁
-
虛擬地址
-
分割槽
固定大小分割槽
系統: 固定的大小
使用者程式: 固定的大小, 但各不相同. 當載入一個程式的時候, 將其載入剛好能夠容納下這個程式的最小的區中.
缺點: 產生大量內部碎片.
可變大小分割槽
系統: 固定的大小
使用者程式: 按需分配
缺點: 產生大量外部碎片
分頁
基本思想:
-
將記憶體分為固定大小的塊, 稱為頁框(頁幀), 將程式分為固定大小的塊, 稱為頁
-
將頁載入入頁框中
邏輯地址:指令中的地址
實體地址:主存中的地址
虛擬記憶體
記憶體的大小是有限的,但是對記憶體的需求在不斷增加
基本思想:請求分頁,一個程序的頁只有在需要的時候才被調入
本質:
-
在比記憶體大的邏輯地址空間中程式設計
-
只調入需要的程式和資料
-
通過硬體將邏輯地址轉化為實體地址
-
當發生頁缺失的時候在記憶體和硬碟之間交換資訊
一些問題
-
頁的大小: 4KB, 8Kb...
-
對映函式: 關聯對映
-
型別:
-
基於頁的虛擬記憶體
-
基於段的虛擬儲存器
-
基於段和頁的虛擬記憶體
-
-
寫策略: 寫回
基於頁的虛擬記憶體
將主存和虛擬記憶體分成相同大小的頁
-
虛頁(Virtual page)/邏輯頁(Logical page): 虛擬記憶體中的頁
-
物理頁(Physical page)/頁框(page frame): 主存中的頁
頁表:
-
包含著所有虛頁的資訊, 包括位置, 有效位, 髒位, 可讀寫位
-
儲存在主存中
-
虛擬地址虛頁號 + 頁內地址 (偏移量)
快表 (TLB)
頁表的使用增加了主存的訪問
為了減少訪問主存, 將最常用的頁表項載入進 cache
TLB:頁表項被載入 cache
-
全相聯對映, 組關聯對映
-
隨機替換策略
NO. | TLB | PAGE TABLE | CACHE | POSSIBILITY | |
---|---|---|---|---|---|
1 | hit|valid | --------- | hit | possible, in cache | |
2 | hit|invalid | --------- | hit | impossible | |
3 | hit|invalid | --------- | miss | impossible | |
4 | hit|valid | --------- | miss | possible, in memory bu not in cache | |
5 | miss | valid | hit | possible, in cache | |
6 | miss | invalid | hit | impossible | |
7 | miss | valid | miss | possible, in memory bu not in cache | |
8 | miss | invalid | miss | possible, not in memory |
ps: 快表中只有 valid 情況下才能算 hit
分析:
-
最好: 1,未訪問記憶體
-
好 4, 5 只訪問一次記憶體
-
壞 7 兩次訪問主存
-
最壞 8 兩次訪問主存, 並訪問硬碟
基於段的虛擬儲存器
將程式和資料分成不同長度的段, 並將需要的段載入主存
虛擬地址: 段號 + 段內偏移量
與基於頁的虛擬記憶體相比:
-
基於頁的虛擬記憶體
-
優勢: 簡單, 成本低
-
劣勢:指令和資料可能跨頁
-
-
-
基於段的虛擬記憶體
-
優勢: 資料和程式自然劃分
-
劣勢: 長度並非固定
-
基於段和頁的虛擬記憶體
將程式和資料劃分為段, 並進一步將段劃分為頁, 每一個段都有它自己頁表
虛擬地址: 段號 + 頁號 + 偏移量
優勢: 程式在段中可以共享和保護
劣勢: 需要多次查表
補充 PA 中的記憶體管理部分
真實模式
8086的真實模式
-
暫存器長度:16 位
-
訪問記憶體需要結合段暫存器(segment register)進行
-
-
地址線:20 根
-
實體地址計算方式
-
physical address = (seg_reg<<4)+offset,offset 為 16 位的偏移量
-
可定址空間:=1MB
-
分段機制
x86 的機器開機後首先進入真實模式
-
載入作業系統
-
作業系統初始化段表
-
撥動一個"開關", 從真實模式切換到保護模式
進入保護模式後
-
程式給出 48 位邏輯地址(16位段選擇符 + 32 位有效地址)
-
使用段選擇符來查段表
-
進行段級地址轉換得到線性地址
分段機制(地址轉換)
80386 保護模式下的地址轉換
-
邏輯地址到線性地址的轉換
-
邏輯地址: 48 位, 又叫虛擬地址,其中
段選擇符: 16 位(sreg對應的段暫存器的內容)
段內偏移量(有效地址): 32 位(vaddr給出的32位地址)
-
匯流排
晶片內部匯流排
連線晶片的各個部分
例如連線暫存器, ALU和 CPU 的其他部分
通訊匯流排
連線主機和 I/O 裝置或者連線不同的計算機系統
系統匯流排
連線 CPU, 主存, I/O 控制器和其他的功能裝置
內容
匯流排可以分為三種功能組
-
資料線: 在系統模組之間移動資料. 資料線的數量決定了一次能能夠傳送的資料的最大容量
-
地址線: 指定資料線上的資料的來源或者去向. 地址線也用於 I/O 埠的定址. 地址線的數量決定了定址空間的大小
-
控制線: 控制對資料和地址線路的訪問和使用.
各種控制訊號:
-
時鐘: 用於匯流排同步
-
匯流排請求(Bus Request): 表示模組需要獲得對匯流排的控制
-
匯流排允許(Bus Grant): 表示發出請求的模組已經被允許控制匯流排
-
中斷請求: 表示某個中斷尚未被處理
-
中斷響應: 未決的中斷請求被響應
-
儲存器寫: 引起總線上的資料寫入被定址的單元
-
儲存器讀: 使所定址的單元的資料放在總線上
-
I/O 讀: 從 I/O 埠讀取資料到匯流排
-
I/O 寫: 將資料從匯流排寫入到 I/O 埠
-
設計要素
匯流排型別
專用:
永久地分配給一個功能或者計算機部件的物理子集
優勢:高吞吐率, 因為有更少的匯流排競爭
缺點: 增加了尺寸和成本
複用:
多種用途使用相同的線路
優勢: 更少的線路, 節省了空間和成本
缺點: 每個模組中需要更加複雜的電路, 可能會降低共享的效能
仲裁
匯流排可以被多個裝置監聽, 但只能被一個裝置傳送資訊
匯流排仲裁:當多個裝置要與匯流排通訊的時候, 用某種策略選擇一臺裝置
平衡:
-
優先順序: 優先順序高的裝置應該先得到服務
-
公平性: 優先順序最低的裝置不可能永遠被推遲
集中式:
一個被稱為匯流排控制器的單獨的硬體裝置, 負責位匯流排分配時間
-
菊花鏈
所有的裝置序列連線, 許可從最高優先順序裝置傳到最低優先順序裝置
若一個裝置收到授權, 並且有匯流排請求, 設定匯流排忙併且許可不再被傳遞.
優勢:確定優先順序很容易, 新增裝置很靈活
劣勢:無法兼顧公平性, 對裝置故障敏感, 限制了匯流排速度
-
計數器查詢
移除了匯流排許可線, 使用裝置 ID 線.
若匯流排不繁忙, 仲裁器將通過裝置 ID 線傳送計數, 若裝置 ID 線上的 ID 與一裝置 ID 相同, 同時該裝置發出請求, 則將匯流排設為忙, 同時停止計數
優勢:對電路故障不敏感, 可以通過靈活地報數來兼顧公平和優先性
劣勢:增加了 ID 線, 需要解碼和比較 ID 訊號
ps: ID 線是一組而不是一根
-
獨立請求
每個裝置都有它的匯流排請求和匯流排許可線
當一個裝置請求匯流排時, 它通過匯流排請求先向匯流排仲裁器傳送請求訊號.由仲裁器決定哪些裝置可以使用匯流排.
確定策略: 固定優先順序, 菊花鏈, LRU, FIFO
優勢:響應快,無等待, 優先順序很靈活
劣勢:控制邏輯複雜, 更多的控制線
分散式:
沒有中央控制器, 而是在每個模組中包含訪問控制邏輯, 這些模組共同作用, 分享匯流排.
-
自舉式
固定優先順序
每個裝置在它的匯流排請求線上傳送請求, 最低優先順序的裝置沒有請求線
每個裝置獨立決定它是否擁有最高優先順序
-
碰撞檢測
當一個裝置想要使用匯流排的時候, 檢查匯流排是否為忙, 如果不忙, 使用匯流排.
若發生碰撞(衝突),即兩個裝置發現匯流排不忙, 但是它們同時發起請求. 在資料傳輸時, 裝置會監聽匯流排, 檢查是否存在碰撞, 如碰撞發生了, 所有使用匯流排的裝置將停止資料傳輸, 並在隨機持續一段時間後再次請求匯流排.
時序
總線上協調時間的方式: 決定每個匯流排事務的開始和結束時間
-
同步時序: 總線上的事件的發生由時鐘決定
匯流排事務: 地址 + 資料 + 資料 +...+ 資料
優勢:容易實現 , 測試
劣勢: 所有的裝置共享時鐘; 無法避免時鐘漂移的影響
CLK 時鐘, BReq 匯流排請求, BG 匯流排許可
-
非同步時序: 總線上一個事件的發生遵循並取決於前一個事件的發生
匯流排事務: 地址 + 資料 + 資料 +...+ 資料
使用握手協議
優勢: 對速度不同的各種裝置都很靈活
劣勢: 對噪聲敏感; 介面邏輯複雜
握手的樣例:
-
半同步時序: 結合同步時序(時鐘)和非同步時序(握手)
為了減小噪聲的影響, 在非同步時序中使用時鐘.時鐘上升沿的就緒訊號和應答訊號都是有效的. 額外加一條等待線, 以協調不同速度的裝置, 比如圖中在第三個時鐘週期時, Data1 尚未準備完畢, 所以繼續等待直到 Data1 準備好, 釋放等待線.
-
分割事務: 分割匯流排事務: 當裝置準備好資料時釋放匯流排
將一個匯流排事務分割成兩個過程
優勢:提高了匯流排利用率
缺點:增加了每個匯流排事務的持續時間和系統複雜性
匯流排頻寬和資料傳輸率
匯流排頻寬:匯流排的最大資料傳輸率
-
不考慮匯流排仲裁, 地址傳送
資料傳輸率:
-
考慮地址傳輸
匯流排寬度:組成匯流排的總的線路數
-
資料線越寬, 一次傳輸的位數就越大
-
地址匯流排越寬, 可定址的範圍也就越大
資料傳輸型別
指令集: 特徵
機器指令特徵
CPU 的操作由它所執行的指令確定, 這些指令被稱為機器指令. CPU 能執行的各種不同指令的集合稱為 CPU 的指令集
指令週期
指令週期: 指單條指令所需的處理過程
-
取指令: 每次從記憶體中取一條指令
-
執行指令: 執行每條指令
只有關機時, 程式執行才會停止, 或者遇到致命錯誤或者停止計算機的指令.
指令週期狀態圖:
帶有中斷的指令週期
帶有中斷的指令週期:
帶有中斷的指令週期狀態圖:
機器指令要素
-
操作碼:指定要執行的操作
-
源運算元引用:操作會涉及一個或多個源運算元, 這是操作所需的輸入
-
結果運算元引用:該操作可能產生一個結果
-
下一指令引用:它告訴處理器這條指令執行完成後到哪兒去取下一條指令
指令表示
-
每條指令都由一個位序列表示
-
指令格式:指令被劃分為欄位,對應於指令的要素
-
對於大多數指令集,使用一種以上的格式
-
符號表示:幫助程式設計師和教科書的讀者處理指令
-
操作碼用縮寫表示,稱為助記符
-
ADD: ADD, SUB: subtract, MUL: multiply, DIV: divide,
-
LOAD:從記憶體載入資料,STOR:將資料儲存到記憶體
-
運算元也用符號表示
-
用暫存器名或記憶體地址替換運算元
指令型別
-
資料處理:算數和邏輯指令
-
資料儲存: 儲存器指令
-
資料傳送:I/O指令
-
控制:測試和分支(branch)能力
操作型別
-
Data transfer
-
Arithmetic
-
Logical
-
Conversion
-
I/O
-
System control
-
Transfer of control
運算元型別
-
地址
-
數字
-
字元
-
邏輯(布林)量
指令集:定址方式和指令格式
1 計算機
系統概述
1.5 單選
-
指令和資料在關機時儲存在外存中,開機後儲存在記憶體
-
馮·諾依曼計算機工作方式的基本特點是按地址訪問指令並自動按序執行程式
-
指令由操作碼和地址碼組成
-
控制器通過執行指令來控制整個機器執行
-
注意對儲存器來講,例如的儲存器意為,該儲存器為 16 位可定址, 共有 32K 個儲存單元, 若對於晶片來講,不能得到什麼資訊.