計算機概論 Office:1619-1 TEL:3210 OFFICE HOUR: see schedule/outline SOFTWARES: UBUNTU, PERL BOOKS: 計算機概論 (顏春煌編) GRADE: MID:30% FINAL:30% QUIZZES & PROJECTS:40%
第1章 計算機科學發展的歷史: 從過去到未來
電子計算機概論 電腦的發展歷史 電腦的工作原理 電腦的理論應用
運算技術與電腦的源起 運算(computing)跟電腦的起源有密切關聯 一般人對於運算的認知僅止於普通的計算,例如加、減、乘、除形成的四則運算 電腦發明以後,當我們提到運算的時候,多半是指運用電腦所進行的演算式操作
分析引擎(analytical engine)
第1部電腦的發明者 John von Neumann發明的IAS是第1部電子式的數位電腦(electronic digital computer),在1952年成功運作。 John Vincent Atanasoff在1937年完成所發明的Atanasoff-Berry computer在1973年被認定為最早的電子式的數位電腦。 網路百科Wikipedia將Alan Turing、John von Neumann、John Vincent Atanasoff三人並列為電腦之父。
計算機科學之父 依據wikipedia.org上的記載,眾所公認的計算機科學之父(the father of modern computer science)是Alan Mathison Turing 杜寧測試(Turing test) Church-Turing thesis
電子計算機發展的歷史 西元750BC到1949年 西元1950到1979年 西元1980到1989年 西元1990年至今
西元750BC到1949年 Tally sticks是古代的一種記憶器(mnemonic device)。 二進位數字系統(binary number system) (300 B.C.) – 印度人的發現。 算盤(abacus)與算術的進化 (2400 B.C.) – 據說由巴比倫人發明。 中國的算盤 (2600 B.C.)。 Leonardo Da Vinci畫了一幅計算器的畫像 (1492年)。 第1部機械式的計算器(mechanical calculator) (Blaise Pascal)。
西元1832年Difference Engine No. 1的外觀
計算機硬體的發展歷史 打孔卡片(punched card)技術 (1801) 第1部可執行程式的機器(programmable machine) (1835-1900) Charles Babbage : analytical engine (1835) 桌上型計算器(desktop calculator) (1930-1960) 類比式的電腦(analog computers) (1940以前) 第1部的電子式的數位電腦(1940年代) 第2代數位電腦使用電晶體(transistor) (1950-1960) 第3代數位電腦 (1960以後)
西元1950到1979年 1950年軟式磁碟片(floppy disk)在日本發明。 1951年出現的UNIVAC是第1部在市場上成功推出的通用型電腦(general-purpose computers)。 1954到1957年有FORTRAN程式的發展,是第1種高階的程式語言。 1957年IBM開始行銷第1部的點陣式印表機(dot matrix printer)。 1958年德州儀器公司的Jack St Clair Kilby發明了積體電路(integrated circuits)。 1959到1964年間出現的電腦都是以電晶體與印刷電路板(PCB,printed circuit board)為主,屬於第2代的電腦。 1964到1972年出現的電腦屬於第3代的電腦,以積體電路為主,電腦體積大幅縮小。
印刷電路板(資料來源: http://www. tiscali. co 印刷電路板(資料來源: http://www.tiscali.co.uk/reference/encyclopaedia/hutchinson/images/c02135.jpg)
第1個電腦遊戲Spacewar
西元1980到1989年 1980年微軟公司開始發展個人電腦用的MS-DOS作業系統 1981年Richard Feynman提出量子電腦(quantum computer)的主張 1981年微軟公司推出80186/80188的個人電腦,同年也推出MS-DOS 1.0 1981年TCP/IP網路協定建立 1982年推出了80286的個人電腦 1984年蘋果電腦公司推出Macintosh個人電腦 1985年推出Microsoft Windows作業系統
第1台運用圖形化使用者介面的電腦Lisa
西元1990年至今 Linux作業系統誕生於西元1991年。 2000年微軟公司推出Windows 2000來取代Windows 95/98。 著名的公元2000年的問題,結果並沒有造成重大的損害。 軟體技術在這個時期有很多發展。 網路通訊的進步與網際網路在20世紀末對人類世界產生了重大的影響。 硬體的發展值得注意的是量子運算(quantum computation)。 微軟公司於2007年推出Windows Vista視窗作業系統。
EAI analog computer – 西元1964年(資料來源:http://www. computermuseum
運算(computing)的涵義與發展 原來我們所知道的運算(computing)是一般的計算(calculation),例如加、減、乘、除 有了電腦以後,簡單的計算都交給電腦做了,大家關心的是如何透過快速的計算來有效地解決各種問題 演算的理論、分析、設計、效率、實作與應用就是運算理論所探討的主題
運算理論(theory of computation)的領域 自動機(automata) 運算性(computability) 複雜度(complexity)
電子計算機不同層次的內涵
電子計算機科學領域中的主要課程 電腦基礎類 電腦理論類 電腦系統類 應用系統類 系統開發類 人工智慧類
網際網路之父Vinton G. Cerf本人的照片 (資料來源:wikipedia.org)
全球資訊網的發展:Tim Berners-Lee的照片
第2章 認識電腦系統(computer systems) 計算機概論 第2章 認識電腦系統(computer systems)
Web 2.0 網際網路近年來出現了很多新的發展,統稱為Web 2.0。Web 2.0是一種綜合了經濟的、社會的與科技的發展趨勢,成為下一代網際網路的基礎 透過使用者的參與、網路的開放性,以及網路的效應,讓網際網路變成一種成熟而特別的媒體 其實Web 2.0是一個籠統的名稱,涵蓋了近年來出現的新興網路工具與應用,例如部落格(BLOG)、wiki、podcast、YouTube、RSS等
電腦系統(Computer system) 硬體(hardware) 作業系統(operating system) 應用程式(application program) 使用者(users)
各種型式的電腦
電腦發展的歷史 凡紐曼(John von Neumann)在西元1945年首度揭示所謂的儲存程式電腦(stored-program computer) 電腦和其他的電器用品一樣,是由固定的電子零件組成的,但是電腦有一個很特殊的地方,就是它所表現出來的功能會因為裡頭程式(program)不同而有差異 程式可以不斷的修改與創新,所以電腦的功能也就因而千變萬化。 我們把這種類型的電腦稱為儲存程式的電腦(stored program computer)、凡紐曼機器(von Neumann machine),或通用型電腦(general-purpose computer)
到網路上的電腦博物館逛一逛 (資料來源:www.computerhistory.org)
電腦發展的世代 西元Charles Babbage的分析引擎是電腦發展的起源 1940年代開始出現的第1代電腦使用真空管 第2代數位電腦使用電晶體(transistor)(1950-1960) 1964到1972年出現的電腦屬於第3代的電腦,以積體電路為主,電腦體積大幅縮小 1972年到現在出現的電腦屬於第4代電腦,以大型積體電路(LSI)與超大型積體電路(VLSI)為基礎
組裝電腦的流程
使用者環境規劃的主要內容
規劃使用者電腦環境時需考慮的項目
電腦系統處理的資料(data) 數字系統(numbering system) 字元(character)的表示法
主宰電腦的人類 人類具有感知、欣賞、創新與推理等能力 電腦擅長算術與邏輯運算,速度遠超過人腦,而且擁有幾乎無限而且不會消褪的記憶 以辨識與推理來說,電腦需要嚴謹的規則與足夠的資料輸入,而人腦則能容許極大的誤差與彈性。 人類還是電腦的主宰,扮演電腦系統中使用者(users)的角色
凡紐曼電腦工作的方式 程式(program)與資料(data)由輸入設備傳入,存放在儲存設備中。這些程式與資料可以隨時載入到記憶體單元中。 中央處理器(CPU)可以從記憶體單元取得要執行的指令或是運算時需要的資料。中央處理器了解程式指令的涵義,因此能夠完成運算得到結果。
凡紐曼電腦的結構
電腦的簡要結構圖
算術(arithmetic)與邏輯(logic)運算
儲存的功能 電腦儲存的容量很大,而且幾乎可以無限制的擴充,不過電腦的記憶是很直接的,要它記得什麼就原原本本地記錄下來,不會改變 人類的記憶就比較複雜一點,時間久了,有的記憶會淡化,有些資料在進入人腦的記憶區之前似乎會經過一些處理 當人類見到很久不見的老朋友時可以很快地辨識出來,電腦或許可以記得幾億人的特徵與面貌,但是同一個人年長10歲以後增加的歲月痕跡會讓電腦傷透腦筋
輸入與輸出的功能 電腦所處理的資料是透過各種輸入的方式來取得的,例如鍵盤或是滑鼠的輸入,經由各種外接的介面也可以從掃瞄器(scanner)、數位相機、數位攝影機或是網路上取得資料 資料經過處理以後可以由輸出設備呈現或是轉換成另外一種媒體型式,像印表機可以把數位相機的照片印出來,螢幕可以呈現滑鼠輸入的結果,繪圖機能將軟體製成的室內設計圖以大尺寸印出來 在軟體的層次上也有輸入與輸出的觀念,程式(program)一樣要取得資料來處理
電腦架構的五大單元 控制單元 算術與邏輯單元(ALU,arithmetic & logic unit) 記憶單元 輸入單元 輸出單元 這五個單元都可以對應到凡紐曼機器中的各組成
電腦的分類 大型主機(mainframe) 中型電腦(midrange) 工作站(workstation) 準系統(barebone computer) 桌上型電腦 筆記型電腦(laptop computer) 平板電腦(tablet PC) 行動用戶還會購買所謂的個人行動助理(personal digital assistant),也稱為pocket PC
大型主機
麥金塔(Macintosh)系列的電腦
超級電腦
資訊科技發展的定律 摩爾定律(Moore’s Law) 吉德定律(Gilder’s Law ) 麥特考菲定律(Metcalfe’s Law)