2013年6月6日 星期四

網路概論-備份與其他預防措施


  • 1. 高師工教 39號陳冠丞,40號葉自軒  備份與其他預防措施
  • 2. • 不斷電裝置(UPS)可在電源故障時保護資料流失。• 筆電有內建的保護措施,因為一斷電他就會自動切換到電池電力• 另外還有突波保護器(Surge Protector),雖然在電源故障時幫不上忙,但是卻可保護電子設備避免危險的強波問題即使是最完善的安全措施,也不能保證資料的安全。電壓激增或是電源故障,都可在瞬間將十分小心保存的資料徹底摧毀。
  • 3. • 如破壞活動、人為失誤、機器故障、火災、水災、雷擊、地震等等,都會損壞電腦硬體設備和裡面的資料。完整的安全系統應該包含災難復原計畫,對大型主機和PC都一樣。如我們所知,免不了還有各種災難及意外最好也是常見的資料復原保證方式是定期備份(Backup)
  • 4. • 很多系統會在每個工作天結束時,自動將資料和軟體備份在磁碟或磁帶上,並且保留好幾代的備份。這樣在有必要時,就能找到幾天、幾星期,甚至幾年前的備份來重建資料檔案。RAID儲存技術其中,有一種名為RAID(磁碟列陣)的儲存技術,能讓多個硬碟像單一邏輯個體一樣的運作。此外,RAID系統還能自動將資料鏡射(Mirror)至多個磁碟,最有效率的立即建立備份。
  • 5. • 如ISP、網站租賃和資訊安全公司,都提供磁碟空間讓用戶備份資料。當然備份速度取決於連線頻寬,且通常比備份到本機硬碟慢得多。最安全的做法是異地備份異地備份是指將重要的資料備份存放在一或多個遠端地點。異地備份能將遭遇會完全損毀的火災、洪水或其他當地災難的機率降到最低。有一種使用人數最近快速成長的異地備份類型是線上備份(Online Backup)。
  • 6. • 為了防範音系統故障或硬體/軟體/資訊竊盜造成的資料遺失,電腦使用者應該定期備份檔案。備份是指當原始版本遺失、受損或損壞時,可拿來使用的檔案、程式或磁碟拷貝副本。因此,替檔案執行備份作業就等於複製一份檔案的副本。萬一發生系統故障或檔案損毀時,可將備份檔案複製回電腦上原來的位置,也就是復原檔案。復原檔案你可以使用任何儲存媒體儲存備份,但必須先確定是高品質的媒體。對家庭使用者而言,光碟片或外接式硬碟都是適合的選擇,部分人士也許會架設RAID進行自動備份。
  • 7. • 將備份副本保存在防火且防熱的保險箱或儲藏室,或者異地保存。異地是指與電腦所在地不同的地理位置,這樣當發生災害時就不會同時損壞原始資料和備份。例如:銀行保險箱就是。近年來的趨勢是使用雲端儲存為異地備份的位置,雲端儲存是一種提供電腦使用者儲存空間網際網路服務。備份種類家庭使用者採用的備份程式,大多提供完整備份和選擇性備份的功能。完整備份是複製電腦中全部檔案;而選擇式備份則是讓使用者選擇要備份那些目錄和檔案。
  • 8. • 有些使用者是採用三代備份策略,保存三份重要檔案的拷貝,其中祖父母是最舊的檔案備份,父母是第二舊的檔案備份,而孩子則是最近的檔案備份。有人使用RAID技術複製磁碟內容;還有人選擇連續式備份,也就是只要有變更就備份起來。備份種類備份程式可從許多來源取得。大部分作業系統有內建備份程式。備份裝置像外接式磁碟機,也含有備份程式。另外也有許多獨立的備份公用程式,其中多種可從Web免費下載。



2013年5月27日 星期一

網路概論

凱文.凱利(Kevin Kelly)在演講中說,大家現在所熟悉的WWW,其實也才不過5000天的歲月而已­。那麼未來的5000天,網路會變成什麼樣子呢?一個什麼資料都有,什麼都連結在一起­的東西,他無以名之,就稱為the One吧。我們身在其中,將無所遁形...。

↓點下方連結,讓我們繼續看下去

網路未來五千天



數位邏輯電路

數位電路數位積體電路是由許多的邏輯閘組成的複雜電路。與類比電路相比,它主要進行數位訊號的處理(即訊號以0與1兩個狀態表示),因此抗干擾能力較強。數位積體電路有各種閘電路、正反器以及由它們構成的各種組合邏輯電路和時序邏輯電路。一個數位系統一般由控制部件和運算部件組成,在時脈的驅動下,控制部件控制運算部件完成所要執行的動作。透過類比數位轉換器、數位類比轉換器,數位電路可以和類比電路互相連線。

數位電路中研究的主要問題是輸出訊號的狀態(「0」或「1」)和輸入訊號(「0」或「1」)之間的邏輯關聯,即電路的邏輯功能。
數位電路的研究方法是邏輯分析和邏輯設計,所需要的工具是邏輯代數。 (在正邏輯下,「0」是低電平,「1」是高電平,高低電平沒有明確的界限)

優點

電子裝置從以類比方式處理資訊,轉到以數位方式處理資訊的原因,主要在以下幾個方面:
  • 穩定性好。數位電路不像類比電路那樣易受雜訊的干擾。
  • 可靠性高。數位電路中只需分辨出訊號的有與無,故電路的元件參數,可以允許有較大的變化(漂移)範圍。
  • 能長期儲存。數位資訊可以利用某種媒介,如磁帶、磁碟、光碟等進行長時期的儲存。
  • 便於電腦處理。數位訊號的輸出除了具有直觀、準確的優點外,最主要的還是便於利用電子電腦來進行資訊的處理。
  • 便於高度整合化。由於數位電路中基本單元電路的結構比較簡單,而且又允許元件有較大的分散性,這就使我們不僅可把眾多的基本單元做在同一塊矽片上,同時又能達到大批次生產所需要的良率。


布林邏輯(台灣譯布林運算,中國大陸譯布尔逻辑)得名於喬治·布林,他是愛爾蘭科克的皇后學院的英國數學家,他在十九世紀中葉首次定義了邏輯的代數系統。現在,布林邏輯在電子學、計算機硬體和軟體中有很多應用。在1937年,克勞德·艾爾伍德·香農展示了布林邏輯如何在電子學中使用。
使用集合代數作為介紹布林邏輯的一種方式。還使用文氏圖來展示各種布林邏輯陳述所描述的集合聯繫。


可以使用各種樣式的基本算符來表達布林邏輯。AND(與)、OR(或)、NOT(非)是最直覺的。數學家、工程師和程式設計師經常使用 + 表示或,\cdot 表示與(因為在某些方面這些運算類似於在其他代數結構中的加法和乘法,並且這種記號使熟悉普通代數的人易於得到積之和範式)。非也表示為在要否定的表達式頂上的一個橫線。
另一種記號使用"交"表示與使用"並"表示或。但是這會導致混淆,因為術語"並"也經常用於合併集合的另一個布林運算,它包括了與和或二者。

布林邏輯只使用兩個值 0 和 1,這兩個值的交集和聯集可以使用真值表定義如下:
\cap01
000
101
\cup01
001
111
  • 也可以建立涉及多個輸入和其他布林運算的更複雜的真值表。
  • 真值表應用在邏輯中,解釋 0 為假,1 為真,\cap 為與,\cup 為或,而 ¬ 為非。

X 是一個集合:
  • 元素是一個集合的成員。表示為 \in。如果它不是這個集合的元素,表示為 \notin
  • 全集是集合 X,有時表示為 1。注意使用全集這個詞意味著「慮及的所有元素」,不必然的同「現有的所有元素」一樣。
  • 空集null 集合是沒有元素的集合,表示為 \varnothing,有時表示為 0。
  • 一元算符應用於一個單一的集合。有一個一元算符叫做邏輯(NOT)。它的作用是採用差集
  • 二元算符應用於兩個集合。基本的二元算符是邏輯(OR)和邏輯(AND)。它們進行集合的聯集交集。還有其他衍生的二元算符,比如邏輯異或(XOR)(排他的或)。
  • 子集表示為 A \subseteq B,意味這在集合 A 中所有元素都在集合 B 中。
  • 真子集表示為 A \subset B,意味著在集合 A 中的所有元素都在集合 B 中,並且兩個集合不等同。
  • 超集表示為 A \supseteq B,意味著在集合 B 中的所有元素都在集合 A 中。
  • 真超集 表示為 A \supset B,意味著在集合 B 中的所有元素都在集合 A 中,並且兩個集合不等同。

為兩個主要的二元運算的符號定義為 \land / \cap (邏輯與/交集)和 \lor / \cup (邏輯或/聯集),把單一的一元運算的符號定義為 \lnot / ~ (邏輯非/差集)。我們還使用值 0 (邏輯假/空集)和 1 (邏輯真/全集)。下列性質適用於布林代數和布林邏輯二者:
a \lor (b \lor c) = (a \lor b) \lor c a \land (b \land c) = (a \land b) \land c 結合律
a \lor b = b \lor a a \land  b = b \land a 交換律
a  \lor (a \land b) = a a \land (a \lor b) = a 吸收律
a \lor  (b \land c) = (a \lor b) \land (a \lor c) a \land  (b \lor c) = (a \land b) \lor (a \land c) 分配律
a \lor  \lnot a = 1 a \land \lnot a = 0 互補律
a \lor a = aa \land a = a 冪等律
a \lor 0 = a a \land 1 = a 有界律
a \lor 1 = 1 a \land 0 = 0
\lnot 0 = 1 \lnot 1 = 0 0 和 1 是互補的
\lnot (a \lor b) = \lnot a  \land \lnot b\lnot (a \land b) = \lnot a  \lor \lnot b德·摩根定律
 \lnot \lnot a = a    對合律  

2013年4月25日 星期四

4/19 計算機概論課程內容

輸入設備(input)介紹
 web 2.0工具介紹
Audacity錄音軟體練習

05/03第二階段考試
考試內容包括 CPU/ Memory/ Storage / Input/ Output

輸入輸出有哪些設備﹖
電腦要對數據進行運算處理就必需要有所"輸入"。鍵盤和滑鼠是最基本的輸入裝置了﹐除了他們之外﹐當然還有很多其它輸入設備,諸如﹕麥克風﹐攝像頭﹐掃描器﹐搖桿﹐等等... 凡此種種提供我們將資料入電腦的設備﹐都是輸入裝置。 所謂"輸出"就是電腦經過運算之後產生的信息。而顯示這些信息的設備就是輸出裝置了。最常見到的輸出裝置就是螢幕、印表機、和喇叭等等設備。通過輸出裝置我們可以看到電腦的運算結果了。
然而﹐從程式角度來看,一個電腦程式的輸出,也可以作為其它程式的輸入。
有時候我們在百貨公司或其他公共場所,看到人們直接在螢幕上指指點點就可以和電腦交談。這螢幕究竟是輸入還是輸出呢﹖哈哈﹐還是留待您自己去思考吧。
簡單來說:離開了輸入裝置﹐電腦就是聾子兼瞎子﹔沒有輸出裝置的話﹐電腦就成了啞巴。(不要跟我說您會手語哦~~)
分辨設備類型
當我們買了電腦回家﹐第一件事情要做的不是插上電源然後按開關﹐而是先幫電腦裝上輸入輸出裝置。如果有機會,不妨看看電腦的背後﹐您就會發現有很多的接口﹐他們的規格是不一樣的﹐所以也無需要擔心接錯了。不信您試試就知道了﹐當然不要硬來哦~~~
然而,有些設備的類型還是會有所不同的。比如﹐鍵盤的接口就有兩種﹕AT 和 PS/2 (現在還多了個 USB )。怎麼分別呢﹖上面要是有標記當然好辦﹐要不然數數那些孔的數目也可以知道。通常 AT 會是 5 孔﹐PS/2 卻有 6 孔(準確說是7孔﹐只不過那個方孔僅是用來作固定用的)﹐且接口直徑比AT要小很多。滑鼠的接口也有分 SERIAL 和 PS/2 以及 USB 等型。PS/2 的接口跟鍵盤的是一樣的﹐如果沒有標記的話,就要開機才知道了﹐如果機器告訴您諸如 Keyboard Error 的信息﹐關機後把它們掉過來接就是了。SERIAL 接頭的呢﹐通常是 9 針的﹐為 D 型接頭。
現在的電腦大部份都標識得非常清楚,而且還有顏色配合。這樣接起設備來就更輕鬆容易了。萬一還是不知到怎麼接,千萬別亂來,最好仔細看說明書或打電話請較廠商或朋友囉。
慣例上,我們把帶針的接口叫做"公"﹐而把帶孔的那端叫做"母"﹐相信這樣很容易分辨吧﹖至於為什麼要這樣稱呼﹖相信不用多解釋吧﹗ ^_^
再看看電腦背後還有好多的接口﹐它們都是給輸入輸出裝置用的(除了靠近風扇的那個(有些是兩個)黑黑大大的是給電源用的)。下面就略略介紹一下﹕
  • 通常 PS/2 母插頭都是一對的﹐很容易分辨。
  • 另外有兩個小小的扁扁的方孔,那就是 USB 公接頭。
  • SERIAL 插頭有時候是兩個 9 針的公接口(但也有時候是一個 9 針﹐另外一個長長的25 針的)。
  • 另外一個長長的 25 孔的母插頭叫 PARALLEL 接口﹐通常印表機就是接到那裡的。
  • 有一個 15 孔分三行排列的母插頭﹐就是我們說的 VGA 接口﹐把螢幕接到這裡就對了。
  • 除了這些基本的﹐或許還會看到一個比 SERIAL 大比 PARALLE L小的 15 孔的接口﹐附近還有一排小孔的接口﹐那上給搖桿用的﹔至於那些小孔﹐排列順序可能不規則﹐SPK 的那個是接喇叭的﹐MIC 的就是給麥克風用的了。不過有些廠家印得很模棱兩可﹐要多試試才知道哪個歸哪個。
  • 如果您有內置式 MODEM 的話﹐您還會看到兩個(有些只有一個)跟電話機接口一樣的 RJ-11 母接頭。寫著 LINE 的那個直接接到電話線﹔寫著 PHONE 的那個接另外一台電話。但要注意﹐要是 MODEM 開著了可別打電話哦﹐因為他們不能同時工作 的﹐它們只是共享一條電話線罷了。
  • 要是還有網路卡的話,您會看到一個比 MODEM(電話)接頭稍大一點的 RJ45 母接頭。通常拿來接 HUB 或 ADSL or Cable Modem 用的。
假如您還加了些其他的插卡的話﹐您還會看到更多的接口﹐但已經很難在這裡指出了。不過有用一種比較舊的 SCSI 接口跟 PARALLEL 都是 25 孔母接口的﹐那就要非常小心了﹐不然接錯了有可能會損壞裝置呢。不過,現在要找到這麼舊的 SCSI 卡還真不容易呢!

Web2.0 數位工具

現今能應用在華語遠距教學上之數位工具與線上平台與時俱增,應用的範圍
也日益漸廣,許多線上設計課程亦不斷推陳出新,然而遠距教學成功的關鍵點應
是線上教師的教學設計,以及課前、中、後歷程間的帶領技巧。

1. Proxy分析 : Paros
INTRO
Paros是一個網站應用程式資訊安全掃瞄工具,換句話說是個網站應用程式的安全評估工具,是個免費開放且以 Java 開發而成的,透過Paros's proxy,sever 與 client之間的所有 HTTP 和 HTTPS 的資料包括 cookies ,都能被竊聽跟更改。
Paros除了可竊聽網頁傳送的資料外,也具備網頁弱點掃瞄與偵測能力,包括了常見的安全性漏洞檢測,例如上課所說過的XSS 、SQL Injection 等等一些重要的項目。

2. HTTP流量監控的 Plug-in : LiveHTTPHeader 
INTRO
LiveHTTPHeader 是 FireFox 下的附加元件,主要功能是瀏覽器與網路間通訊的監控與分析。
LiveHTTPHeader 除了對 HTTP 的監控外,還可以 replay 一個請求,對該請求進行修改。

3. Greasemonkey
INTRO
GreaseMonkey 是firefox的一個附加元件,原創者是Aaron Boodman。
從2006年甚至更早,就打算設計出一套可以供使用者利用腳本來控制html為主的網頁,主要是為了使用者便利存取網頁,抑或者,省掉多餘的時間由其在網路的存取上面。
下載GreaseMonkey後,再套入方便的腳本,之後腳本會常駐於瀏覽器當中,當瀏覽到該網頁時就會套用瀏覽器內的腳本來更改目前的頁面,講白點,改成你所要的功能,在軟體的呈現上面顯得更客製與彈性化且編輯門檻較低,使用者也可以成為開發者。
目前IE沒有支援這套軟體,屬firefox plug-in 的一部分。

4. Browser automation : Sahi
INTRO
Sahi 可以在廣大的網路服務中當作是一個testing tool。
從1995年起,這家公司嘗試以Java 和 JavaScript來撰寫此應用程式,並放在SourceForge供人下載。
公司宣稱軟體是跟網頁瀏覽器與作業系統完全無任何的相依性。

5. XSS Exploitation : BeEF
INTRO
BeEF 是一個攻擊瀏覽器用的框架(browser exploitation framework),一個PHP的框架。它提供了一個指揮和控制介面,實現了提供一個框架以攻擊瀏覽器或 Cross-site Scripting 的方法。建立了一個模組化的框架,這使得發展能夠更快。一旦用戶到達的惡意網頁,攻擊者可以發送命令來執行端口掃瞄,利用瀏覽器,竊取信息。

6. XSS-Proxy Metasploit 3.0 及 Web2.0 Layer
INTRO
Metasploit Framework 是2003年以開放源代碼方式發佈、可自由獲取的開發框架,這個環境為滲透測試、shellcode編寫和漏洞研究提供了一個可靠的平台。 它集成了各平台上常見的overflow漏洞和流行的shellcode,並且不斷更新,Metasploit Framework 包含了180多種以上流行的操作系統和應用軟體的exploit,以及100多個shellcode。  作為安全工具,它在安全檢測中起到不容忽視的作用,並為漏洞自動化探測和及時檢測系統漏洞提供有力的保障。

7. DOM 及發展者工具 : Firebug
 INTRO
firebug 是 firefox 的 plug-in,是一個方便的debug及網頁開發工具。可以幫助你編輯、修改網頁的 DOM 物件,對 JavaScript 除錯,查看任何一個元素的 CSS, HTML 設定,還可以分析網頁下載的效能,甚至於還可以自己寫程式擴充 Firebug 的功能。好處是可以顯示動態產生的 DOM,且可以直接修改,而修改會立刻反應在顯示上。 



2013年4月10日 星期三

3/29 計算機概論課程內容

3/29 計算機概論課程內容

RFID原理與應用


被稱為本世紀最重要的前十大技術之一的「RFID」(無線射頻辨識系統),生活中「無所不在」的便利通ING。未來舉凡到商場或便利店購物、圖書館借書、搭乘交通工具、繳停車費、洗車、高速公路的電子收費「ETC」、郵寄、識別證或到醫院掛號領藥…,無一不如影隨形地和「你」一起生活著。

前言相信大家對RFID這個名詞應該是既熟悉又陌生,熟悉的是它已經悄悄的散佈在你我身邊,常有機會看到或聽到這個名詞;陌生的是不知道它背後的運作原理與技術,希望透過本文的介紹,能讓大家對這個號稱是『本世紀十大重要技術項目』之一的科技產物能有更深一層的認識。

RFID 是「Radio Frequency Identification」的縮寫,中文可以稱為「無線射頻識別系統」。 通常是由感應器(Reader)和RFID標籤(Tag)所組成的系統,其運作的原理是利用感應器發射無線電波,觸動感應範圍內的RFID標籤,藉由電磁感應產生電流,供應RFID標籤上的晶片運作並發出電磁波回應感應器。以驅動能量來源區別,RFID標籤可分為主動式及被動式兩種:被動式的標籤本身沒有電池的裝置,所需電流全靠感應器的無線電波電磁感應產生,所以只有在接收到感應器發出的訊號才會被動的回應感應器;而主動式的標籤內置有電池,可以主動傳送訊號供感應器讀取,訊號傳送範圍也相對的比被動式廣。

其實RFID早已存在你我日常生活環境中,出門搭乘捷運會用到的『悠遊卡』,開車上高速公路不用停下車來繳回數票所使用的『ETC』儲值卡,去7-11買個飲料用到的”VISA WAVE”信用卡,心愛的寵物身上的植入的『寵物晶片』,商店或圖書館內的防盜晶片,回到家裡開啟大門門禁所用的”MiFare”晶片卡,這些都是RFID的實際應用。RFID的特性特別適合用來作為人或物品在通路上的管控追蹤及識別。所以RFID廣泛應用在門禁控制、流程管控以及電子票券等方面。加上RFID已制定全球統一的ISO規範,同時看好RFID所帶來的商機,已有不少廠商投入相關產業的研發,近幾年在國內外推出不少與RFID相關的應用如:
全球最大的連鎖通路商 Wal-Mart 要求其前100大上游供應商在貨品的包裝或棧板上裝置RFID標籤,以便追蹤貨品在供應鏈上的即時資訊,可降低成本及提高產品資訊的透明度;國內的裕隆汽車將RFID技術應用在汽車保養維修流程控管,車主在休息室可以清楚掌握愛車即時的處理情況及進度;三總將RFID用於病人的識別,避免給藥錯誤,大幅的提高備藥與給藥的正確性。
在電子票券的應用方面,因為RFID標籤內置的記憶體可以存放相關的識別資料,加上加密的機制即可把票券的內容安全地記錄在電子晶片中,故可廣泛應用在小額消費,以免除付現找零或信用卡簽名等麻煩。如「2006 FIFA世界盃足球賽」主辦單位與飛利浦公司合作,捨棄傳統門票,改採RFID晶片卡,此舉,除了讓球迷能快速驗證入場外,這張RFID電子門票也可以用來支付球場內其他如停車、餐飲等消費;而在國內,大部分台北人手上持有的悠遊卡所採用的MiFare晶片也是一種RFID卡。除了可以用來搭捷運、公車、貓纜及付停車費外,技術上應可用於其他生活上的小額消費。受限於國內的金融法令,悠遊卡僅能用於交通事業,未能進行小額消費的業務;但去年國內四家銀行與台北智慧卡票證公司簽約發行悠遊聯名卡,並且結合『VISA國際組織』推出的VISA WAVE功能,讓持卡人除了可以搭乘大眾運輸系統外,亦可用於便利超商消費,帶來更多方便的服務。

介紹完各種RFID實際應用,在此預告一個好消息,本校今年(96)九月新學期開始,會將校園卡換發成MiFare晶片卡,包含學生證、教職員證、校友證等校園卡都會升級成為RFID晶片卡。原有的校園卡為傳統接觸式的磁條卡,由於在使用時與讀卡機接觸多少會有磨損,且校園卡經常用於館舍的門禁控制,不少人會因為卡片無法辨識而有「卡門」的不愉快經驗,這個問題拜RFID卡非接觸的特性而不復存在。這一次除了換發卡片之外,並整合全校各館舍的門禁系統,屆時全校師生可以一卡通行全校,皮包內也可以少帶幾張卡片。除此之外,也將台北人常用的悠遊卡功能結合在校園卡內,使校園卡可以走出校園,搭乘大眾交通工具。加上與校園卡片結合,使得這張悠遊卡具有掛失的機制,卡片內的儲值的金額不會因為卡片遺失而不見,還有後續的校內外應用還在規劃中,期待能讓校園卡發揮最大的功能。

拜科技之賜,RFID讓生活更方便、更安全,想像一下去超級市場買一車的商品,只要購物車一經過感應器購物清單,帳單立即產生,不用像現在排隊等店員一一點清結帳;還有一回到家裡,周遭溫度、燈光及家電馬上變成你喜歡的設定,不用東找西找遙控器與開關;家裡的冰箱食物飲料不夠時,會自動下訂單宅配到府,不用打開冰箱發現最喜歡的可樂沒有了,這真是個方便的未來,而且這個未來已經不遠了。


版權所有 © 國立台灣大學計算機及資訊網路中心 All Rights Reserved.

2013年3月29日 星期五

3/22 計算機概論 課程作業

浮點數.錯誤更正瑪.CPU.MAR.MBR.IR.PC.Machine Cycle

3/22 計算機概論課程內容

錯誤更正漢明碼介紹
8 bit  為例
回家作業
16 bit 解釋
CPU(ALU AND CU)
Register: MAR , MBR, I/O AR, I/O BR, PC , AC, 等暫存器介紹
機器循環週期(擷取指令/解碼/執行/存回)


 錯誤更正碼(ECC)


ECC英文全名為Error Checking and Correction Code,中文名稱為錯誤修正碼檢查。

ECC是使用一種特殊電路,利用較複雜的演算法檢查儲存在記憶體中的資料是否一致。ECC通常在每個byte的資料使用3bit來作檢查碼。而且它不只是可以從多個位元中找出其中錯誤,並且可以將錯誤的位元並予以更正。一個有ECC的系統,不僅能容許錯誤,並可以將錯誤更正,使系統得以持續正常操作,不致因錯誤而中斷。
ECC稱為「錯誤自動檢查與更正」,這也是一種資料檢查的技術,可以檢查資料是否正確;和Parity Check主要的不同點是在只有一個錯誤的狀況下,ECC具有自動更正的能力。

記憶體要具有檢查與修復的功能,就必須記錄更多的資訊,因此這類的記憶體除了負責資料的記錄之外,還要更多的記憶體來保存核對與更正所需的資訊。以前述的Parity Check為例,每8個位元需要增加1個位元來處理。ECC也是類似的做法,但每家廠商的做法並不完全相同,必須視處理資料的方式而定,例如Intel以64個資料位元搭配8個ECC位元,另外也有以8個資料位元搭配4個ECC位元的做法。

一般來說,現今製作記憶體的技術已趨穩定,所以"並非"所有的記憶體模組都具備ECC功能;換句話說,您若是要求購買具有ECC能力的記憶體,可能會稍微貴一點。


漢明碼

漢明碼(Hamming Code),是在電信領域的一種線性偵錯碼,以發明者Richard Hamming的名字命名。漢明碼在傳輸的訊息流中插入驗證碼,以偵測並更正單一位元錯誤。由於簡單的漢明編碼,它們被廣泛應用於內存(RAM)。其 SECDED (single error correction, double error detection) 版本另外加入一檢測位元,可以偵測兩個以下同時發生的位元錯誤,並能夠更正單一位元的錯誤。因此,當傳送端與接收端的位元樣式的漢明距離 (Hamming distance) 小於或等於1時(僅有 1 bit 發生錯誤),可實現可靠的通訊。相對的,簡單的奇偶檢驗碼除了不能糾正錯誤之外,也只能偵測出奇數個的錯誤。

在數學方面,漢明碼是一種二元線性碼。對於每一個整數m>2,存在一個編碼,帶有m個奇偶校驗位2^m-m-1個資料位。該奇偶檢驗矩陣的漢明碼是通過列出所有米欄的長度是兩兩獨立 。

如果一條訊息中包含更多用於糾錯的位,且透過妥善安排這些糾錯位使得不同的出錯位產生不同的錯誤結果,那麼我們就可以找出出錯位了。在一個7位的訊息中,單個位出錯有7種可能,因此3個錯誤控制位就足以確定是否出錯及哪一位出錯了。
漢名研究了包括五取二碼在內的編碼方案,並歸納了他們的想法。

[編輯] 通用演算法

下列通用演算法可以為任意位數位產生一個可以糾錯一位(英語Single Error Correcting)的漢明碼。
  1. 從1開始給數字的數據位(從左向右)標上序號, 1,2,3,4,5...
  2. 將這些資料位的位置序號轉換為二進制, 1, 10, 11, 100, 101, 等.
  3. 資料位的位置序號中所有為二的冪次方的位(編號1,2,4,8,等,即資料位位置序號的二進制表示中只有一個1)是校驗位
  4. 所有其它位置的資料位(資料位位置序號的二進制表示中至少2個是1)是資料位
  5. 每一位的資料包含在特定的兩個或兩個以上的校驗位中,這些校驗位取決於這些資料位的位置數值的二進制表示
    1. 校驗位 1 覆蓋了所有資料位位置序號的二進制表示倒數第一位是1的資料:1(校驗位自身,這裡都是二進制,下同),11,101,111,1001,等
    2. 校驗位 2 覆蓋了所有資料位位置序號的二進制表示倒數第二位是1的資料:10(校驗位自身),11,110,111,1010,1011,等
    3. 校驗位 4 覆蓋了所有資料位位置序號的二進制表示倒數第三位是1的資料:100(校驗位自身),101,110,111,1100,1101,1110,1111,等
    4. 校驗位 8 覆蓋了所有資料位位置序號的二進制表示倒數第四位是1的資料:1000(校驗位自身),1001,1010,1011,1100,1101,1110,1111,等
    5. 簡而言之,所有校驗位覆蓋了資料位置和該校驗位位置的二進制與的值不為0的數。
採用奇校驗還是偶校驗都是可行的。偶校驗從數學的角度看更簡單一些,但在實踐中並沒有區別。
校驗位一般的規律可以如下表示:
資料位位置1234567891011121314151617181920...
編碼後資料位置p1p2d1p4d2d3d4p8d5d6d7d8d9d10d11p16d12d13d14d15
奇偶校驗位
覆蓋率
p1XXXXXXXXXX
p2XXXXXXXXXX
p4XXXXXXXXX
p8XXXXXXXX
p16XXXXX
觀察上表可發現一個比較直觀的規律:第i個檢驗位是第2i-1位,從該位開始,檢驗2i-1位,跳過2i-1位……依次類推。例如上表中第3個檢驗位p4從第23-1=4位元開始,檢驗4、5、6、7共4位元,然後跳過8、9、10、11共4位元,再檢驗12、13、14、15共4位元……

[編輯] 例子

對11000010進行漢明編碼,求編碼後的碼字。
1. 列出表格,從左往右(或從右往左)填入數位,但2的次方的位置不填。
位置1234567891011121314
資料11000010

2. 把資料行有的1的列的位置寫為二進制。
位置1234567891011121314
資料11000010
二進制001101011011

3. 收集所有二進制數位,求異或0011 \oplus 0101 \oplus 1011 =1101
4. 把1101依次填入表格中2的次方的位置。
位置1234567891011121314
資料11000010
二進制001101011011
校驗1101

5. 所以編碼後的碼字是111010010010。

 CPU(ALU and CU)


CPU為控制整部電腦運作的中心樞紐,其內部包括控制單元、算術及邏輯單元、暫存器或記憶單元。
v算術及邏輯運算單元(ALU):加、減、乘、除及比較、選擇、判斷等運算。
v控制單元(CU):翻譯程式中的指令的解碼功能及協調控制各部門依指令執行使電腦自動化處理資料。
v記憶單元(MU:儲存目前正要被處理運算的程式或資料,容量以KB為單位。
v暫存器(Register):暫時儲存資料,如用來儲存運算的累積器。其功能與記憶體相似。
 


 暫存器

暫存器Register),是中央處理器內的其中組成部份。暫存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、數據位址。在中央處理器的控制部件中,包含的暫存器有指令暫存器(IR)和程式計數器(PC)。在中央處理器的算術及邏輯部件中,包含的暫存器有累加器(ACC)。
電腦架構裡,處理器中的暫存器是少量且速度快的電腦記憶體,藉由提供快速共同地存取數值來加速電腦程式的執行:典型地說就是在已知時間點所作的之計算中間的數值。
(1)   PC(程式計數器):存放正要執行的運算碼的位址。
(2)   IR(指令暫存器):存放正要執行的運算碼。
(3)   F(旗標暫存器):存放ALU運算的狀態。
(4)   一般暫存器:存放ALU運算的中間結果,如AXBXCXDX等。
(5)   SP(堆疊指標):為一種後進先出、線性的資料結構,常應用在副程式呼叫及中斷處理。
(6)   MAR(記憶體位址暫存器):到主記憶體中存取資料,必須先將位址存到MAR中。
(7)   MBR(記憶體緩衝暫存器):到主記憶體中I/O的資料暫時放到MBR中。
        (8) MDR(記憶資料暫存器):儲存機器碼指令的位址
 
 
資料暫存器
用來儲存整數數字(參考以下的浮點暫存器)。在某些簡單(或舊)的CPU,特別的資料暫存器是累加器,作為數學計算之用。
位址暫存器
持有記憶體位址,以及用來存取記憶體。在某些簡單/舊的CPU裡,特別的位址暫存器是索引暫存器(可能出現一個或多個)。
通用目的暫存器
GPRs)- 可以保存資料或位址兩者,也就是說他們是結合 資料/位址 暫存器的功用。
浮點暫存器
FPRs)- 用來儲存浮點數字。
常數暫存器
用來持有唯讀的數值(例如0、1、圓周率等等)。
向量暫存器
用來儲存由向量處理器執行SIMD指令所得到的資料。
特殊目的暫存器
儲存CPU內部的資料,像是程式計數器(或稱為指令指標),堆疊暫存器,以及狀態暫存器(或稱微處理器狀態字組)。
  • 在某些架構下,模式指示暫存器(也稱為「機器指示暫存器」)儲存和設定跟處理器自己有關的資料。由於他們的意圖目的是附加到特定處理器的設計,因此他們並不被預期會成微處理器世代之間保留的標準。
l   一般暫存器(Register)比較
類別
8086/8088暫存器(16 bit)
80386/80486暫存器(32 bit)
通用暫存器
AXBXCXDX
EAXEBXECXEDX
指標索引暫存器
SPBPSIDIIP
ESPEBPESIEDIEIP
區段暫存器
CSDSESSS
CSDSESSSFSGS
旗標暫存器
FLAG
EFLAG

 
機器循環週期(擷取指令/解碼/執行/存回)



1.指令擷取
2.指令解碼
3.指令執行
4.結果存回


I-time
nCU 從記憶體中擷取 (fetch)指令,然後放進暫存器中
nCU 將此指令解碼 (decode),並決定所需要的資料在記憶體中的位置
 
 
E-time
n執行
CU 將資料從記憶體搬移到 ALU 內的暫存器中
ALU 負責控制與執行指令
控制權回到 CU
nCU 將運算後的結果存放在記憶體或暫存器中

2013年3月22日 星期五