1. 程式人生 > >10月17日-計算機導論-課程內容(4)

10月17日-計算機導論-課程內容(4)

10.17 4th class content



1,資料壓縮

資料壓縮(data compression)方案有兩類,一類是有損(lossy)壓縮,一類是無損(lossless)壓縮。

  • 行程長度編碼(run-length encoding):將一組相同的資料成分替換成一個編- 碼,指出重複的成分和重複的次數,是一種無失真壓縮法。
  • 頻率相關編碼(frequency-dependent encoding):用於表示資料項的位模式長度和使用頻率反相關,無失真壓縮。
  • 赫夫曼編碼(Huffman code):與頻率相關編碼差不多,把常用的以短位記錄,無失真壓縮。
  • 相對編碼(relative encoding):也稱差分編碼(differential encoding),記錄相鄰兩個單元的差別,而不是全部內容,用無損和有損都能實現。
  • 字典編碼(dictionary encoding):利用索引來記錄一半,另一半用個體特徵記錄,而不是完全記錄所有。
  • 自適應字典編碼(adaptive dictionary encoding):書本47頁。
  1. 影象壓縮
    GIF(graphic interchange format):是一種有失真壓縮,將畫素的顏色數量減少到256種,每一種顏色都用3個位元組編碼,一般GIF中會有一種顏色被賦值為透明,來顯示背景色。通過自適應字典編碼可以進行進一步壓縮。
    JPEG(JAY-peg):由聯合影象專家組(Joint Photographic Experts Group)研製,可以提供無損模式,但是由於JPEG的其他模式很成功,無損模式用的少。
    TIFF(tagged image file format):用於儲存影象和影象中的相關資訊,一般不用於壓縮。

  2. 音訊和視訊壓縮
    MPEG:由運動影象專家組(Motion Picture Experts Group)研製,包含不同應用的各種標準,例如HDTV(這種壓縮常使用赫夫曼編碼),MP3(刪除人耳聽不到的細節以達到簡化,一種是暫時模糊temporal masking,在巨響後刪除一些細節,一種是頻率模糊frequency masking,刪除一些被掩蓋的細節。)
    音訊和視訊的傳輸速度單位時位元每秒,Kbit/s、Mbit/s、Gbit/s。

2,通訊差錯

  1. 奇偶校驗法(parity bit)
    在位模式前加一位,用於將位模式補成奇數個1或是偶數個1。
    奇校驗:將位模式中1的個數補成奇數。
    偶校驗:將位模式中1的個數補成偶數。
    對於長位模式,可以運用校驗位元組**(checkbyte)**,即一個位元組全是校驗位,與散佈在每一個位元組中的固定位相關聯。
  2. 糾錯碼(error-correcting code)
    漢明距離(Hamming distance):兩個位模式中不相同位的個數。
    糾錯的原理就是將接收到的編碼改為漢明距離最小的那一個。
    這種糾錯方法在CD中廣泛應用。

3,計算機體系結構

1,CPU基礎知識
計算機中控制資料操控的電路稱為中央處理器(central processing unit),簡稱CPU,它們的連結引腳功能插在機器主電路板,主機板(motherboard)上。在智慧手機、小型筆記本和其他移動因特網裝置(Mobile Internet Device)上,它們又稱為微處理器(Microprocessor)。
CPU由三部分構成(CPU=Arithmetic+Logic unit+Control unit):

  1. 算數/邏輯單元(arithmetic/logic unit):包含在資料上執行運算的電路。
  2. 控制單元(contrl unit):包含協調機器活動的電路
  3. 暫存器單元(register unit):包含稱為暫存器的儲存單元,用於CPU內部的資訊臨時儲存。
    暫存器單元中包括通用暫存器(general-purpose register)和專用暫存器(special-purpose register)。

2,通用暫存器
通用暫存器用於臨時儲存CPU正在操控的資料。為了操作儲存在主儲存器中的資料,控制單元把儲存器裡的資料傳送到通用暫存器,通知算數/邏輯單元哪些儲存器儲存了這一資料,並激活其中的相關資料,再告知他那個暫存器會接受結果。
CPU和主儲存器通過匯流排(bus)連線,資料匯流排決定了計算機的最大字長,地址匯流排決定了CPU的最大定址能力,控制匯流排用於傳輸各種命令,且一般為雙向。

3,儲存程式
高速緩衝儲存器(cache memory)是CPU內部高速儲存器的一部分,容量很小,用於快速儲存和呼叫程式中常用的一部分副本。硬碟的內容一般直接與記憶體進行交換,記憶體則可以直接和CPU進行交流,不過也可以通過記憶體和高速緩衝儲存器建立聯絡,CPU從高速緩衝儲存器中呼叫,更快的進行呼叫。
儲存程式概念(stored-program concept)將資料儲存在儲存器中,而程式是CPU的一部分,使用者中斷(interrupt)程式,建立一箇中斷點(相當於存檔),等下次使用的時候繼續。

4,機器語言

CPU可以識別位模式編碼的指令,這組指令以及編碼系統稱為機器語言(machine language),也稱為機器指令(machine instruction)。
CPU有兩種指令體系:

  1. 精簡指令集計算機(reduced instruction set computer , RISC),效率高速度快,製造成本低。
  2. 複雜指令集計算機(complex instruction set computer , CISC),指令集豐富且強大。

機器指令分為三類:1)資料傳輸類;2)算數/邏輯類;3)控制類。

機器指令編碼形式包括兩個部分:操作碼(operation code)運算元(operand)。機器語言包括12條基本指令,每條基本指令都由16位編碼,用4個十六進位制數字表示。操作碼用第一個數字表示,後三個數字則是運算元。
在RISC中,會用一致性來簡化獲取指令的任務,即機器指令的編碼長度都一樣。在CISC中則不一樣,最短的只有一個位元組,最長的有數個位元組,這種指令集下,機器會先通過獲取指令的操作碼來判斷餘下的指令還有多長。這種做法被稱為變長指令。

操作碼 功能
1 載入
2 匯入
3 儲存
5 加法
B 比較
C 停止

運算元第一位指定了操作的暫存器。

5,程式執行

CPU中專用暫存器中有兩個可幫助程式執行:指令暫存器(instruction register)程式計數器(program counter)。前者用於儲存正在執行的指令,後者包含下一個指令的地址。
CPU通過不斷重複一個演算法來完成工作,算髮揮引導CPU完成機器週期(machine cycle)的三部處理:

  • 取值(fetch,根據程式計數器讀取下一個指令,並增加程式計數器的值)
  • 譯碼(decode,對指令暫存器中的位模式進行譯碼)
  • 執行(rxecute,實現指令暫存器中所規定的動作)

指令執行前,程式計數器先讀區包含下一條指令的地址,然後從儲存器中取出對應的指令放入指令暫存器,執行完之後,增加程式計數器的值。