Recent Comments

This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

2008年2月25日 星期一

[轉自IThome]IT自救術-處理器想的和你想的不一樣

術-處理器想的和你想的不一樣文/嚴立群 (記者) 2008-02-14人類做算術,心智的活動是很自由的,但是處理器不行,處理器一次只能做一步簡單的運算,所以剛接觸電腦的人,大多會覺得難以理解,「這東西的運作方法怎麼這麼怪?」假設存在一個32位元加法器,要設法讓它幫我們不斷的計算A+B,那只需要讓數字在加法器後面排隊,照順序饋入加法器,加法器就會一個一個把結果算出來。這是一個典型的「磨坊-穀倉」系統,加法器就是「磨」,不斷饋入的數字是「穀物」,算出的結果就是「穀粉」。這裡要引入一個概念,就是「穀倉」的必要性。簡單的加法系統從「加法器」擴展到「處理器」接著我們來擴展這個系統,想一想處理器會是個怎樣的系統● 加法器只能做加法,這不夠好,我們得設計個全功能的處理器,能作加法、減法、乘法、除法、各種邏輯運算……,而且都是越快越好。● 原來的加法器因為只做加法,所以我們放在記憶體裡面的「數字」就只是依序排隊饋入即可──因為反正只有加法動作要做而已。但是既然有了更複雜的處理器,後面排隊的就不能只是數字(不能只有運算子),還得有「運算方式」(運算元),得設計處理器讓它判斷該怎麼處理後面排隊的「穀物」(我是說,數字)。這裡有個重要的概念,「你不能用人類的想法去操作處理器,你得用處理器的方式」。人類習慣的做法是,3...

[轉自IThome]IT自救術-數碼系統的轉換

IT自救術-數碼系統的轉換文/嚴立群 (記者) 2008-01-24我們可以做一個10進位的電腦,但那會非常困難,而做一個2進位的電腦簡單多了,且它會做的事情和10進位電腦一樣多。數字,只是人類發明,用來對應數量的符號。因此,數字可以用不同形式表示,但是其所代表數量的抽象意義是相同的。例如常見的羅馬數字I、II、III、IV、V……,其實和一般的阿拉伯數字1、2、3、4、5……,或是國字的壹、貳、參、肆、伍……,都是一樣的意思。只因為人類有10根手指頭既然如此,且讓我們來想想,為何電腦(處理器)只能用「2進位」來做事情?在解答這個問題之前,請先讓我們來解釋一下「10進位」是什麼。所謂的10進位,請讓我們看一個簡單的數字:「285」。其中,2是「百位數」,8是「十位數」,5是「個位數」。用公式表示就是:285 = 2×102 + 8×101 + 5×100。但是,如果你真的有思考,那我得告訴你,285這符號,僅是為了簡單的描述數量用的符號,事實上,人類也可以把「每一個單一的數量都用一個單一的符號」來表示。但那會累死人,現代數學就幾乎無法建立了。如果你夠無聊(至少像我一樣無聊),你從1數到9(1、2、3……9),當你數到「10」的時候,請注意,其實你也可以用一個怪異的符號來代替10(像是,...

[轉自IThome]IT自救術-x86處理器的運作概念

IT自救術-x86處理器的運作概念文/嚴立群 (記者) 2008-01-17處理器並不是一開始就像今天這樣的、一顆晶片的樣子,工程師摸索了很久,才找到最有效率的處理器設計──現代處理器的「可程式」設計。最早的電腦,使用的是「純電路」的設計。這種純電路設計的概念就是:一種用途,一種設計。如果你的電腦有了新的用途,就得有一個新的設計。比方說,想要讓電腦計算圓周率的小數點後一千位,好的,工程師就會針對這件工作,用真空管和其他電子裝置做出一個電路,設法計算出圓周率小數點後的一千位數字。雖然早期電腦有著速度不快、不夠穩定、發熱量高、耗電量大以及佔用大量空間的問題,但這樣的工作應該還算是可以勝任。但是,如果打算換個功能,像是,「讓電腦計算自然對數表」,好的,那工程師得另外設計一個全新的電路,重新組裝零件,以進行全新的運算。這當然不是一件很容易的事情,成本也高得驚人。另外一個重要概念,則是「電腦乃是一種循序電路」的設計概念。各位可以把電流想像成看得見的水流,並且以極慢極慢的慢動作流動,我們在電腦的這頭輸入電流,電流依序流經各晶片之後,會在另一頭跑出答案來。處理器是個只接受電子訊號的可程式循序電路專屬電路設計的電腦缺乏彈性,實用性不高,因此後來工程師們發現,設計一種萬用電路——也就是上期講的「處理器」,處理器裡面有著「暫存器」,這是可以用來進行各種運算的機構。記憶體裡面則存放等著被饋入暫存器裡面的程式碼和資料,依序執行各種運算。這樣的好處是:只要使用不同的指令和資料組合成「程式」,電腦將可以執行各種複雜的運算,大大提高實用性。但是,就電路的角度來看,晶片只能接受高低電位不同的電流訊號輸入,並根據自身的設計,再輸出適當的電位訊號(運算結果)而已。這概念很重要,請讓我重複再講清楚一點:對處理器而言,它只是被設計成「接受電位變化不同的電流訊號之後,輸出對應的結果」。處理器其實並不懂所謂的「程式」、「數字」什麼的,那都是人類才懂的東西。工程師才是那個要設計處理器、晶片和電路,並設法讓代表程式的電位訊號輸入處理器後,跑出正確結果的人。舉個例子,如果你對著Intel...

[轉自iThone]IT自救術-保護電腦你「定期」該做的所有事

文/嚴立群 (記者) 2007-12-06很多人平常不保養電腦,等到電腦壞了再來怨天尤人,其實,這是錯誤的態度,正確的作法是:你該定期保養電腦。很久以前看過一個知名工具程式的廣告,內容主要是張照片,一個老人的臉,照片上的他牙齒稀稀落落的,都快掉光了。請問「牙齒快掉光的人」和「工具程式」有啥關聯性?原來,工具程式強調的是,「電腦沒使用工具程式定期保養,就好像人沒有每天刷牙一樣,是很不衛生的行為,遲早要『壞光光』的啊!」問題是,如果你是一個電腦新手,如果要讓你的電腦安全、穩定,你知道定期保養電腦該做哪些事?我建議的項目包括了:●「Windows Update」或是「Microsoft Update」●更新病毒碼●掃描電腦病毒●磁碟重組●掃描硬碟健康定期更新作業系統Windows(或是其他作業系統)安裝好之後,會有許多的漏洞,而所謂的「駭客」會利用這些漏洞,輕則癱瘓你的電腦,重則損毀你的資料。幸好,作業系統的開發廠商並未坐視此事,他們不斷地修補這些破洞,並定期發布在網站上。以Windows來講,在開始功能表裡面的「Windows Update」就可以讓使用者連到Microsoft官方網站,進行修補工作。這種修補方式,或可稱為「主動式修補」。使用者得主動開啟網頁,才能進行檢查和修補的工作。另外一種修補方式,則是Microsoft主動「push」修補程式到你的電腦?面,此時電腦右下角「系統匣」裡面會出現一個黃色盾牌,這時候使用者必須在盾牌上,按下滑鼠鍵,把自動下載回來的修補程式安裝好。我個人的習慣是,凡是有任何的修補程式,就把它裝上(即使我可能用不到)。不過,這個Windows...

18種傷害電腦的方式

18種傷害電腦的方式1、大力敲擊Enter鍵  這個恐怕是人所共有的通病了,因為Enter鍵通常是我們完成一件事情時,最後要敲擊的一個鍵,大概是出於一種勝利的興奮感,每個人在輸入這個Enter鍵時總是那大力而爽快地敲擊。本人的多個鍵盤就是這樣報廢的,最先不看見字的是AWSD(呵呵,心知肚明),最先不能使用的按鍵卻是Enter。  解決辦法:解決方法有兩個,第一是控制好你的情緒,第二是準備好你的錢包。我選的第二個,有時候好心情是錢買不來的,你呢?2、在鍵盤上面吃零食,喝飲料  這個習慣恐怕是很普遍了,我看到很多人都是這樣的,特別是入迷者更是把電腦台當成飯桌來使用。我想你要是拆一回你的鍵盤,也許同樣的行為就會減少的,你可以看到你的鍵盤就像水積岩一樣,因你平時的習慣,保留了很多的“化石”,飯粒、餅乾渣、頭髮等等比比皆是,難怪有人說:公用機房裏的鍵盤比公廁還髒。同時這樣的碎片還可能進入你的鍵盤裏面,堵塞你鍵盤上的電路,從而造成輸入困難。飲料的危害就更加厲害了,一次就足以毀滅你的鍵盤。就是你的鍵盤僥幸沒有被毀滅,恐怕打起字來,也是粘粘糊糊很不好過。  解決方法:避免在鍵盤上吃東西,要不然像我一樣買一個防水的PHILIPS鍵盤,然後每過一段時間就給他打掃衛生,擦澡(雖然這樣還是很髒的);你要是腰包更加飽的話,可以考慮半年換一個鍵盤(我從來不建議用差的鍵盤,那可是關乎健康的問題)試試,應該情況會好一些。還有記得給你房間買一個飯桌了。  3、光碟總是放在光碟機裏(還有看VCD時,暫停後出玩或吃飯)  很多人總是喜歡把光碟放在光碟機裏,特別是CD碟,其實這種習慣是很不好的。光碟放在光碟機裏,光碟機會每過一段時間,就會進行檢測,特別是刻錄機,總是在不斷的檢測光碟機,而高倍速光碟機在工作時,電機及控制部件都會生很高的熱量,此光碟機廠商們一直在極力想辦法解決。  雖然現在已有幾種方法能將光碟機溫度控制在合理的範圍內,但如果光碟機長時間處於工作狀態,那麼,即使再先進的技術也仍無法有效控制高溫的發生。熱量不僅會影響部件的穩定性,同時也會加速機械部件的磨損和激光頭的老化。所以令光碟機長時間工作,實在是不智之舉,除非你想把你的光碟和光碟機煮熟。  解決方法:盡量把光碟上的內容轉到硬碟上來使用,比如把CD轉化為MP3的,如果你是一個完美主義者,那就用虛擬光碟機的形式管理你的常用CD碟吧;遊戲則盡量使用硬碟版的;大多數光碟版的遊戲,都可以在網上找到把光碟版轉化硬碟版的軟體;不然就同樣采用虛擬光碟機的形式。網上有很多虛擬光碟機可以下載,怕麻煩的話可以用國的《東方光碟機魔術師3》或《VirtualDrive7.0》,...

2008年2月23日 星期六

[轉自iThome]IT自救術-x86處理器的結構

IT自救術-x86處理器的結構文/嚴立群 (記者) 2008-01-10既然是要研究處理器的「原理」,所以我們得找個「簡單的」來開刀。就類似可憐的青蛙總是要在生物課被解剖一樣,你總不好一開始就解剖大野狼吧!要了解個人電腦的運作原理,我們決定先研究處理器的原理。而為了研究處理器的原理,我們挑選了所謂的「Intel x86」處理器作為研究的對象。為何不挑別種處理器?x86處理器是個好的研究對象嗎?從「幾乎人手一臺」這個角度看,x86是個很讚的研究對象。有人會說,「x86的架構不夠優雅」、「x86就像是用膠水、剪刀等工具去拼貼出來的怪物」、「x86的概念很落後」、「x86有很多歷史的包袱」。老實說,他們說的都對。但是,so what?又沒人要你跟它結婚?我們只是研究一門學問而已。x86處理器雖然不夠完美,可看在它可是目前地球上數量最多的處理器的份上,就用它來當作研究的對象,實在很方便。所以,關於「美學」和「神學」的部份,暫時就不要理會了。x86的「由來」處理器早期並不是一顆晶片。早期的電腦,CPU是由一大堆晶片組成,專司「運算」的功能。一大堆晶片,占用很大的空間,真空管閃爍著奇異的光芒並發出高熱,計算的結果用燈號顯示。不過,這種畫面我只看過照片,沒有親眼見過,也許某些紀錄片上出現過吧!直接跳到近代,Intel製造了所謂的「微處理器」。Intel在處理器市場算是先驅,第一個產品稱為4004,後來又陸續推出了8008、8080、...

[轉自iThome]IT自救術-學電腦先學寫程式

IT自救術-學電腦先學寫程式文/嚴立群 (記者) 2007-12-27我認為,想要知道電腦大部分問題的原因,了解電腦的「秘密」,沒有捷徑,你得學怎麼寫程式──即使是只懂一點點也該試著去學。用了這麼久的電腦,我必須承認我不是專家,但勉強是個通才,通才的特色是「啥都只懂一點點」,所謂「樣樣通樣樣鬆」。所以,接下來本欄的內容,我一直想著該寫些什麼?「進階的電腦學習」該學些什麼?作為一份專欄,我想本欄的讀者應該沒人打著「只看專欄內容就可以變成專家」的主意吧!既然如此,在此就請各位以「只打算變成『稍微多懂一點』的心態」來研究電腦這東西,至少你恐怕沒法僅看本欄內容就變成超級專家。學院派的專家學什麼首先讓我們來研究一下,「學院派」的「資訊專家」是如何養成的。假設你是個高中生,考上了大學的「資訊工程系」,那我們可以假設:經過了四年的大學學習生活後,你會成為一個「資訊專業人員」。(當然,這是在如果你沒有玩樂的太過頭,且有用功讀書的前提下才成立的。)那麼,資訊工程系上些什麼課來培養資訊專業人員呢?雖然我應該可以背得出來,但我也還是去查了一下臺大資訊工程系的課表,課程大致的分類如下:● 共同科目通常包含了「國文」、「英文」、「歷史」、「體育」● 數理基礎通常有「物理」和「微積分」、「機率」、「統計」、「線性代數」和「離散數學」●...

2008年2月19日 星期二

How to Run a Stand Alone Borland C++ Application

Borland C++ Builder (BCB) is a good tool for all range (both object-oriented and/or dynamic) of applications that require a utilization of a graphical user interface (GUI). Traditional C/C++ programs can also be easily integrated with the drag-and-drop tool used for creating a graphical user interface.Creating an application using BCB is a lot of fun and challenges. However, once the application has been finally created, the next problem is how to run the application (the .exe file) in a stand alone manner, that is, how to run the exe file in a...

2008年2月14日 星期四

interrupt 中斷

中斷顧名思義就是中斷你目前正在執行的工作,轉而執行其他指定的工作。舉一個簡單的例子,假設你現在正在 IE 上瀏覽網頁,如果此時按下一個鍵盤的按鍵,這時候就會產生一個鍵盤的中斷,通知 Windows 現在已經有一個按鍵的動作產生了。跟中斷相反的另一個動作就是輪詢 (Polling),Polling 是採取主動的方式,在程式的主迴圈或者定時去檢查是否有按鍵,有的話就執行相關的程式,否則就跳回主迴圈繼續執行。這兩者的差別是中斷是被動的,只有在事件發生的時候才會執行動作;而輪詢是主動的,不管有沒有動作發生,都要自行檢查。所以前者所耗費的系統資源較少,也是目前 Windows 作業系統所採用的方式。至於中斷副程式就是當中斷產生時,所要執行的程式,例如前面所談到的鍵盤中斷,當系統得知有按鍵產生時,必須取得按鍵的 Scan Code,然後根據目前鍵盤的狀態 (如 Caps Lock、Num Lock、Shift、Ctrl、Alt) 等轉換為適當的 ASCII Code or Control Code,然後再將這些 Code 放到 Buffer 裡面,由其他 AP 取得這些按鍵值執行相關的動作。而中斷向量就是用來記錄那一個中斷要執行那一個中斷副程式的。電腦裡面的中斷可分為硬體中斷與軟體中斷,前者有...

2008年2月12日 星期二

工作程序-Process

什麼是 Process?簡單的說就是在系統中執行的一些程式。不論是因為系統運行過程所啟動的程式,或是使用者在登入後自行執行的程式、或是常駐執行、或是短暫執行,這些程式在系統中執行時,都會佔用系統的資源(CPU、記憶體等),此時系統就會替程式安排一個程序(Process),以便控管資源的使用!因此,在系統中執行或運作的程式,我們可以稱之為 Process。誠如上述所言,當程式執行時會產生一個 Process,系統則在此時會配給每個 Process 一個辨識碼,這個辨識碼就是 Process ID 簡稱 PID。而分配的 Process ID 是不會重複的,當程式結束或終止後,PID 就會消失系統也會拋棄不再使用,等到下次重新啟動系統後再從頭計數。有些程序(Process)在執行時,會呼叫或啟用其它的程序,這些被呼叫的程序可稱為子程序,而最先被執行的程序就被當成父程序(Parent Process)。子程序也有一個 PID,同時也會註記父程序的 PID,稱之為 PPID。整個系統最初的父程序是 init 這支程式,不論程序呼叫了幾層的子程序,往前推算最終還是到了 init 這個程式所產生的程序,而 init 程序的 PID 為...

2008年2月5日 星期二

What is the Swap File?

What is the Swap File? To execute a program in Windows, it first needs to be loaded into memory (RAM). Windows lets you run multiple programs simultaneously and chances are that they won't all fit into memory at the same time. For that purpose, Windows uses what is called Virtual Memory to simulate RAM, pretending it has more memory than what is actually build into the PC. It does this by moving data from real memory to a special file on the hard drive, called the swap file in Windows 95/98 or page file in Windows NT. This, in effect, allows Windows...