1.1 計算機係統的組成
計算機係統是由硬件係統和軟件係統兩(liang) 大部分組成。
計算機硬件是構成計算機係統各功能部件的集合。是由電子、機械和光電元件組成的各種計算機部件和設備的總稱,是計算機完成各項工作的物質基礎。計算機硬件是看得見、摸得著的,實實在在存在的物理實體(ti) 。
計算機軟件是指與(yu) 計算機係統操作有關(guan) 的各種程序以及任何與(yu) 之相關(guan) 的文檔和數據的集合。其中程序是用程序設計語言描述的適合計算機執行的語句指令序列。
沒有安裝任何軟件的計算機通常稱為(wei) “裸機”,裸機是無法工作的。如果計算機硬件脫離了計算機軟件,那麽(me) 它就成為(wei) 了一台無用的機器。如果計算機軟件脫離了計算機的硬件就失去了它運行的物質基礎;所以說二者相互依存,缺一不可,共同構成一個(ge) 完整的計算機係統。
計算機係統的基本組成如圖1-6 所示。
這裏寫(xie) 圖片描述
1.2 計算機硬件係統的基本組成及工作原理
⑴ 計算機硬件由五個(ge) 基本部分組成:運算器、控製器、存儲(chu) 器、輸入設備和輸出設備。
⑵ 計算機內(nei) 部采用二進製來表示程序和數據。
⑶ 采用“存儲(chu) 程序”的方式,將程序和數據放入同一個(ge) 存儲(chu) 器中(內(nei) 存儲(chu) 器),計算機能夠自動高速地從(cong) 存儲(chu) 器中取出指令加以執行。
可以說計算機硬件的五大部件中每一個(ge) 部件都有相對獨立的功能,分別完成各自不同的工作。如圖1-7所示,五大部件實際上是在控製器的控製下協調統一地工作。首先,把表示計算步驟的程序和計算中需要的原始數據,在控製器輸入命令的控製下,通過輸入設備送入計算機的存儲(chu) 器存儲(chu) 。其次當計算開始時,在取指令作用下把程序指令逐條送入控製器。控製器對指令進行譯碼,並根據指令的操作要求向存儲(chu) 器和運算器發出存儲(chu) 、取數命令和運算命令,經過運算器計算並把結果存放在存儲(chu) 器內(nei) 。在控製器的取數和輸出命令作用下,通過輸出設備輸出計算結果。
1.運算器(ALU)
運算器也稱為(wei) 算術邏輯單元ALU(Arithmetic Logic Unit)。它的功能是完成算術運算和邏輯運算。算術運算是指加、減、乘、除及它們(men) 的複合運算。而邏輯運算是指“與(yu) ”、“或”、“非”等邏輯比較和邏輯判斷等操作。在計算機中,任何複雜運算都轉化為(wei) 基本的算術與(yu) 邏輯運算,然後在運算器中完成。
2.控製器(CU)
控製器CU(Controller Unit)是計算機的指揮係統,控製器一般由指令寄存器、指令譯碼器、時序電路和控製電路組成。它的基本功能是從(cong) 內(nei) 存取指令和執行指令。指令是指示計算機如何工作的一步操作,由操作碼(操作方法)及操作數(操作對象)兩(liang) 部分組成。控製器通過地址訪問存儲(chu) 器、逐條取出選中單元指令,分析指令,並根據指令產(chan) 生的控製信號作用於(yu) 其它各部件來完成指令要求的工作。上述工作周而複始,保證了計算機能自動連續地工作。
通常將運算器和控製器統稱為(wei) 中央處理器,即CPU(Central Processing Unit),它是整個(ge) 計算機的核心部件,是計算機的“大腦”。它控製了計算機的運算、處理、輸入和輸出等工作。
集成電路技術是製造微型機、小型機、大型機和巨型機的CPU的基本技術。它的發展使計算機的速度和能力有了極大的改進。在1965年,芯片巨人英特爾公司的創始人戈登 · 摩爾,給出了著名的摩爾定律:芯片上的晶體(ti) 管數量每隔18~24個(ge) 月就會(hui) 翻一番。讓所有人感到驚奇的是,這個(ge) 定律非常精確的預測了芯片的30年發展。1958年第一代集成電路僅(jin) 僅(jin) 包含兩(liang) 個(ge) 晶體(ti) 管,而1997年,奔騰II處理器則包含了750萬(wan) 個(ge) 晶體(ti) 管,2000年的Pentium 4 已達到了0.13微米技術,集成了4200萬(wan) 個(ge) 晶體(ti) 管 。CPU集成的晶體(ti) 管數量越大,就意味著更強的芯片計算能力。
3.存儲(chu) 器(Memory)
存儲(chu) 器是計算機的記憶裝置,它的主要功能是存放程序和數據。程序是計算機操作的依據,數據是計算機操作的對象。
⑴ 信息存儲(chu) 單位
程序和數據在計算機中以二進製的形式存放於(yu) 存儲(chu) 器中。存儲(chu) 容量的大小以字節為(wei) 單位來度量。經常使用KB(千字節)、MB(兆字節)、GB(千兆字節)和TB來表示。它們(men) 之間的關(guan) 係是:1KB=1024B=210B,1MB=1024KB=220B,1GB=1024MB=230B,1TB=1024G=240B,在某些計算中為(wei) 了計算簡便經常把210(1024)默認為(wei) 是1000。
位(bit):是計算機存儲(chu) 數據的最小單位。機器字中一個(ge) 單獨的符號“0”或“1”被稱為(wei) 一個(ge) 二進製位,它可存放一位二進製數。
字節(Byte,簡稱B):字節是計算機存儲(chu) 容量的度量單位,也是數據處理的基本單位,8個(ge) 二進製位構成一個(ge) 字節。一個(ge) 字節的存儲(chu) 空間稱為(wei) 一個(ge) 存儲(chu) 單元。
字(Word):計算機處理數據時,一次存取、加工和傳(chuan) 遞的數據長度稱為(wei) 字。一個(ge) 字通常由若幹個(ge) 字節組成。
字長(Word Long):中央處理器可以同時處理的數據的長度為(wei) 字長。字長決(jue) 定CPU的寄存器和總線的數據寬度。現代計算機的字長有8位、16位、32位、64位。
⑵ 存儲(chu) 器的分類
根據存儲(chu) 器與(yu) CPU聯係的密切程度可分為(wei) 內(nei) 存儲(chu) 器(主存儲(chu) 器)和外存儲(chu) 器(輔助存儲(chu) 器)兩(liang) 大類。內(nei) 存在計算機主機內(nei) ,它直接與(yu) 運算器、控製器交換信息,容量雖小,但存取速度快,一般隻存放那些正在運行的程序和待處理的數據。為(wei) 了擴大內(nei) 存儲(chu) 器的容量,引入了外存儲(chu) 器,外存作為(wei) 內(nei) 存儲(chu) 器的延伸和後援,間接和CPU聯係,用來存放一些係統必須使用,但又不急於(yu) 使用的程序和數據,程序必須調入內(nei) 存方可執行。外存存取速度慢,但存儲(chu) 容量大,可以長時間地保存大量信息。CPU與(yu) 內(nei) 、外存之間的關(guan) 係如圖1-8所示。
現代計算機係統中廣泛應用半導體(ti) 存儲(chu) 器,從(cong) 使用功能角度看,半導體(ti) 存儲(chu) 器可以分成兩(liang) 大類:斷電後數據會(hui) 丟(diu) 失的易失性(Volatile)存儲(chu) 器和斷電後數據不會(hui) 丟(diu) 失的非易失性(Non-volatile)存儲(chu) 器。微型計算機中的RAM屬於(yu) 可隨機讀寫(xie) 的易失性存儲(chu) 器,而ROM屬於(yu) 非易失性(Non-volatile)存儲(chu) 器
⑶ 存儲(chu) 器工作原理
為(wei) 了更好地存放程序和數據,存儲(chu) 器通常被分為(wei) 許多等長的存儲(chu) 單元,每個(ge) 單元可以存放一個(ge) 適當單位的信息。全部存儲(chu) 單元按一定順序編號,這個(ge) 編號被稱為(wei) 存儲(chu) 單元的地址,簡稱地址。存儲(chu) 單元與(yu) 地址的關(guan) 係是一一對應的。應注意存儲(chu) 單元的地址和它裏麵存放的內(nei) 容完全是兩(liang) 回事。
對存儲(chu) 器的操作通常稱為(wei) 訪問存儲(chu) 器,訪問存儲(chu) 器的方法有兩(liang) 種,一種是選定地址後向存儲(chu) 單元存入數據,被稱為(wei) “寫(xie) ”;另一種是從(cong) 選定的存儲(chu) 單元中取出數據,被稱為(wei) “讀”。可見,不論是讀還是寫(xie) ,都必須先給出存儲(chu) 單元的地址。來自地址總線的存儲(chu) 器地址由地址譯碼器譯碼(轉換)後,找到相應的存儲(chu) 單元,由讀/寫(xie) 控製電路根據相應的讀、寫(xie) 命令來確定對存儲(chu) 器的訪問方式,完成讀寫(xie) 操作。數據總線則用於(yu) 傳(chuan) 送寫(xie) 入內(nei) 存或從(cong) 內(nei) 存取出的信息。主存儲(chu) 器的結構框圖如圖1-8所示
4. 輸入設備
輸入設備是從(cong) 計算機外部向計算機內(nei) 部傳(chuan) 送信息的裝置。其功能是將數據、程序及其他信息,從(cong) 人們(men) 熟悉的形式轉換為(wei) 計算機能夠識別和處理的形式輸入到計算機內(nei) 部。
常用的輸入設備有鍵盤、鼠標、光筆、掃描儀(yi) 、數字化儀(yi) 、條形碼閱讀器等。
5. 輸出設備
輸出設備是將計算機的處理結果傳(chuan) 送到計算機外部供計算機用戶使用的裝置。其功能是將計算機內(nei) 部二進製形式的數據信息轉換成人們(men) 所需要的或其他設備能接受和識別的信息形式。常用的輸出設備有顯示器、打印機、繪圖儀(yi) 等。
通常我們(men) 將輸入設備和輸出設備統稱為(wei) I/O設備(Input/Output)。它們(men) 都屬於(yu) 計算機的外部設備。
1.1.3 計算機軟件係統
一個(ge) 完整的計算機係統是由硬件和軟件兩(liang) 部分組成的。硬件是組成計算機的物理實體(ti) 。但僅(jin) 有硬件計算機還不能工作,要使計算機解決(jue) 各種問題,必須有軟件的支持,軟件是介於(yu) 用戶和硬件係統之間的界麵。
“軟件”一詞 20世紀60年代初傳(chuan) 入我國。國際標準化組織(ISO)將軟件定義(yi) 為(wei) :電子計算機程序及運用數據處理係統所必需的手續、規則和文件的總稱。對此定義(yi) ,一種公認的解釋是:軟件由程序和文檔兩(liang) 部分組成。程序由計算機最基本的指令組成,是計算機可以識別和執行的操作步驟;文檔是指用自然語言或者形式化語言所編寫(xie) 的用來描述程序的內(nei) 容、組成、功能規格、開發情況、測試結構和使用方法的文字資料和圖表。程序是具有目的性和可執行性的,文檔則是對程序的解釋和說明。
程序是軟件的主體(ti) 。軟件按其功能劃分,可分為(wei) 係統軟件和應用軟件兩(liang) 大類型。
1. 1.係統軟件(System Software)
係統軟件一般是指控製和協調計算機及外部設備,支持應用軟件開發和運行的係統,是無需用戶幹預的各種程序的集合,主要功能是調度,監控和維護計算機係統;負責管理計算機係統中各種獨立的硬件,使得它們(men) 可以協調工作。係統軟件使得計算機使用者和其他軟件將計算機當作一個(ge) 整體(ti) 而不需要顧及到底層每個(ge) 硬件是如何工作的。
常見的係統軟件主要指操作係統,當然也包括語言處理程序(匯編和編譯程序等)、服務性程序(支撐軟件)和數據庫管理係統等。
⑴ 操作係統OS(Operating System)
操作係統是係統軟件的核心。為(wei) 了使計算機係統的所有資源(包括硬件和軟件)協調一致、有條不紊地工作,就必須用一個(ge) 軟件來進行統一管理和統一調度,這種軟件稱為(wei) 操作係統。它的功能就是管理計算機係統的全部硬件資源、軟件資源及數據資源,從(cong) 圖1-10可以看出,操作係統是最基本的係統軟件,其他的所有軟件都是建立在操作係統的基礎之上的。操作係統是用戶與(yu) 計算機硬件之間的接口,沒有操作係統作為(wei) 中介,用戶對計算機的操作和使用將變得非常難且低效。操作係統能夠合理地組織計算機整個(ge) 工作流程,最大限度地提高資源利用率。操作係統在為(wei) 用戶提供一個(ge) 方便、友善、使用靈活的服務界麵的同時,也提供了其他軟件開發,運行的平台。它具備五個(ge) 方麵的功能,即CPU管理,作業(ye) 管理,存儲(chu) 器管理,設備管理及文件管理。操作係統是每一台計算機必不可少的軟件,現在具有一定規模的現代計算機甚至具備幾個(ge) 不同的操作係統。操作係統的性能在很大程度上決(jue) 定了計算機係統工作的優(you) 劣。微型計算機常用的操作係統有DOS(Disk Operating System)、Unix、Xenix、Linux、Windows98/2000、NetWare、WindowsNT、WindowsXP等。
⑵ 語言處理程序
在介紹語言處理程序之前,很有必要先介紹一下計算機程序設計語言的發展。
軟件是指計算機係統中的各種程序,而程序是用計算機語言來描述的指令序列。計算機語言是人與(yu) 計算機交流的一種工具,這種交流被稱為(wei) 計算機程序設計。程序設計語言按其發展演變過程可分為(wei) 三種:機器語言、匯編語言和高級語言,前二者統稱為(wei) 低級語言。
機器語言(Machine Language)是直接由機器指令(二進製)構成的,因此由它編寫(xie) 的計算機程序不需要翻譯就可直接被計算機係統識別並運行。這種由二進製代碼指令編寫(xie) 的程序最大的優(you) 點是執行速度快、效率高,同時也存在著嚴(yan) 重的缺點:機器語言很難掌握,編程繁瑣、可讀性差、易出錯,並且依賴於(yu) 具體(ti) 的機器,通用性差。
匯編語言(Assemble Language)采用一定的助記符號表示機器語言中的指令和數據,是符號化了的機器語言,也稱作“符號語言”。匯編語言程序指令的操作碼和操作數全都用符號表示,大大方便了記憶,但用助記符號表示的匯編語言,它與(yu) 機器語言歸根到底是一一對應的關(guan) 係,都依賴於(yu) 具體(ti) 的計算機,因此都是低級語言。同樣具備機器語言的缺點,如:缺乏通用性、繁瑣、易出錯等),隻是程度上不同罷了。用這種語言編寫(xie) 的程序(匯編程序)不能在計算機上直接運行,必須首先被一種稱之為(wei) 匯編程序的係統程序“翻譯”成機器語言程序,才能由計算機執行。任何一種計算機都配有隻適用於(yu) 自己的匯編程序(Assembler)。
高級語言又稱為(wei) 算法語言,它與(yu) 機器無關(guan) ,是近似於(yu) 人類自然語言或數學公式的計算機語言。高級語言克服了低級語言的諸多缺點,它易學易用、可讀性好、表達能力強(語句用較為(wei) 接近自然語言的英文字來表示)、通用性好(用高級語言編寫(xie) 的程序能使用在不同的計算機係統上)。但是,對於(yu) 高級語言編寫(xie) 的程序仍不能被計算機直接識別和執行,它也必須經過某種轉換才能執行。
高級語言種類很多,功能很強,常用的高級語言有:其中麵向過程的有Basic、用於(yu) 科學計算的Fortran、支持結構化程序設計的Pascal、用於(yu) 商務處理的COBOL和支持現代軟件開發的C語言 ;現在又出現了麵向對象的VB(Visual Basic)、VC++(Visual C++)、Delphi、Java等語言使得計算機語言解決(jue) 實際問題的能力得到了很大的提高。
Ø Ø Fortran 語言在1954年提出,1956年實現的。適用於(yu) 科學和工程計算,它已經具有相當完善的工程設計計算程序庫和工程應用軟件。
Ø Ø Pascal 語言是結構化程序設計語言,適用於(yu) 教學、科學計算、數據處理和係統軟件開發等,目前逐漸被C語言所取代。
Ø Ø C語言是美國Bell實驗室開發成功的,是一種具有很高靈活性的高級語言。它語言程序簡潔,功能強,適用於(yu) 係統軟件、數據計算、數據處理等,成為(wei) 目前使用得最多的程序設計語言之一。
Ø Ø Visual Basic是在Basic語言的基礎上發展起來的麵向對象的程序設計語言的,它既保留了Basic語言簡單易學的特點,同時又具有很強的可視化界麵設計功能,能夠迅速地開發Windows應用程序,是重要的多媒體(ti) 編程工具語言。
Ø Ø C++是一種麵向對象的語言。麵向對象的技術在係統程序設計、數據庫及多媒體(ti) 應用等諸多領域得到廣泛應用。專(zhuan) 家們(men) 預測,麵向對象的程序設計思想將會(hui) 主導今後程序設計語言的發展。
Ø Ø Java是一種新型的跨平台分布式和程序設計語言。Java以它簡單、安全、可移植、麵向對象、多線程處理和具有動態等特性引起世界範圍的廣泛關(guan) 注。Java語言是基於(yu) C++的,其最大的特色在於(yu) “一次編寫(xie) ,處處運行”。Java已逐漸成為(wei) 網絡化軟件的核心語言。
語言處理程序的功能是將除機器語言以外,利用其他計算機語言編寫(xie) 的程序,轉換成機器所能直接識別並執行的機器語言程序的程序。可以分為(wei) 三種類型,即匯編程序、編譯程序和解釋程序。通常將匯編語言及各種高級語言編寫(xie) 的計算機程序稱為(wei) 源程序(Source Program),而把由源程序經過翻譯(匯編或者編譯)而生成的機器指令程序稱為(wei) 目標程序 (Object Program)。語言處理程序中的匯編程序與(yu) 編譯程序具有一個(ge) 共同的特點,即必須生成的目標程序,然後通過執行目標程序得到最終結果。而解釋程序是對源程序進行解釋(逐句翻譯),翻譯一句執行一句,邊解釋邊執行,從(cong) 而得到最終結果。解釋程序不產(chan) 生將被執行的目標程序,而是借助解釋程序直接執行源程序本身。
應該注意的是,除機器語言外,每一種計算機語言都應具備一種與(yu) 之對應的語言處理程序。
⑶ 服務性程序(支撐軟件)是指為(wei) 了幫助用戶使用與(yu) 維護計算機,提供服務性手段,支持其他軟件開發而編製的一類程序。此類程序內(nei) 容廣泛,主要有以下幾種:
Ø Ø 工具軟件:工具軟件主要是幫助用戶使用計算機和開發軟件的軟件工具,如美國Central Point Software公司推出的PC tools。
Ø Ø 編輯程序:編輯程序能夠為(wei) 用戶提供一個(ge) 良好的書(shu) 寫(xie) 環境。如EDLIN、EDIT、寫(xie) 字板等。
Ø Ø 調試程序:調試程序用來檢查計算機程序有哪些錯誤,以及錯誤位置,以便於(yu) 修正,如DEBUG。
Ø Ø 診斷程序:診斷程序主要用於(yu) 對計算機係統硬件的檢測和維護。能對CPU、內(nei) 存、軟硬驅動器、顯示器、鍵盤及I/O接口的性能和故障進行檢測。
⑷ 數據庫管理係統。
數據庫技術是計算機技術中發展最快、用途廣泛一個(ge) 分支,可以說,在今後的各項計算機應用開發中都離不開數據庫技術。數據庫管理係統是對計算機中所存放的大量數據進行組織、管理、查詢有效提供一定處理功能的大型係統軟件。主要分為(wei) 兩(liang) 類,一類是基於(yu) 微型計算機的小型數據庫管理係統,如FoxBase和Foxpro;另一類是大型數據庫管理係統。
2. 2.應用軟件
應用軟件是指在計算機各個(ge) 應用領域中,為(wei) 解決(jue) 各類實際問題而編製的程序,它用來幫助人們(men) 完成在特定領域中的各種工作。應用軟件主要包括:為(wei) 解決(jue) 各類實際問題而編製的程序,它用來幫肋人們(men) 完成在特定領域中的各種工作。應用軟件主要包括:
⑴ 文字處理程序:文字處理程序用來進行文字錄入、編輯、排版、打印輸出的程序,如Microsoft Word、Wps2000等。
⑵ 表格處理軟件:電子表格處理程序用來對電子表格進行計算機、加工、打印輸出的程序,如Lotus、Excel等。
⑶ 輔助設計軟件:軟件開發程序是為(wei) 用戶進行各種應用程序的設計而提供的程序或軟件包。常用的有AutoCAD、Photoshop、3D Studio MAX等。另外,上述的各種語言及語言處理程序也為(wei) 用戶提供了應用程序設計的工具,也可視為(wei) 軟件開發程序。
⑷ 實時控製軟件:在現代化工廠裏,計算機普遍用於(yu) 生產(chan) 過程的自動控製,稱為(wei) “實時控製”。例如,在化工廠中,用計算機控製配料、溫度、閥門的開閉;在煉鋼車間,用計算機控製加料、爐溫、冶煉時間等;在發電廠,用計算機控製發電機組等。這類控製對計算機的可靠性要求很高,否則會(hui) 生產(chan) 出不合格產(chan) 品,或造成重大事故。目前,PC機上較流行的軟件有FIX、InTouch、Lookout等。
⑸ 用戶應用程序;用戶應用程序是指用戶根據某一具體(ti) 任務,使用上述各種語言、軟件開發程序而設計的程序。如人事檔案管理程序、計算機輔助教學軟件、各種遊戲程序等。