1 / 62

基本概述

1. 基本概述. 電腦的基本架構和運作方式 C++ 有別於其它程式語言的一些特性. 基本概述 . 1.1  電腦的發明和演進 1.2  電腦的基本架構 1.3  馮紐曼架構 1.4  電腦內部的資料表達方式 1.5  軟體 1.6  程式語言 1.7 C++ 程式語言 1.8 程式語言的演進 . 1.1 電腦的發明和演進 . 最早的計算機 十七世紀法國 Blaise Pascal 在 1642 年發明的齒輪 式加法計算器。 英國的 Charles Babbage 於 1830 年進一步開發差 分機,以進行多項式的計算。.

tahir
Download Presentation

基本概述

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 1 基本概述 電腦的基本架構和運作方式 C++ 有別於其它程式語言的一些特性

  2. 基本概述 • 1.1 電腦的發明和演進 • 1.2 電腦的基本架構 • 1.3 馮紐曼架構 • 1.4 電腦內部的資料表達方式 • 1.5 軟體 • 1.6 程式語言 • 1.7C++ 程式語言 • 1.8 程式語言的演進

  3. 1.1 電腦的發明和演進 最早的計算機 • 十七世紀法國Blaise Pascal在1642年發明的齒輪 式加法計算器。 • 英國的Charles Babbage於1830年進一步開發差 分機,以進行多項式的計算。

  4. 電腦的演進

  5. 現代計算機構造的起源 在英國Charles Babbage的構想裏,計算機 分為四個部份協調運作: 1. 輸入與輸出單元 2. 處理與計算單元 3. 控制單元 4. 儲存單元

  6. Intel公司對於電腦科技的三項重大貢獻 • 微處理機 (microprocessor) • DRAM • EPROM (電壓可抹寫式唯讀記憶體Electrically Programmable Read-Only Memory)。

  7. 摩爾定律 (Moore's law) • 不管是記憶單元的容量,CPU內的元件數量,或是CPU的運算速度,都以每一年半增加一倍的驚人速度快速成長。

  8. 電腦的分類 • 超級電腦 (supercomputer) • 大型電腦 (mainframe) • 迷你電腦 (minicomputer) • 工作站 (workstation) • 微電腦 (microcomputer) • 聰明隨身裝置 (smart handhold devices)

  9. 數位電腦和類比電腦 • 數位式 (digital) 和類比式 (analog)。 • 在 TTL 的標準裏,0.0 V ~ 0.4 V代表 0,而2.4 V ~ 5.0 V代表 1;在 EIA 的標準下,-15 V ~ -3 V 代表 0,而3 V ~ 15 V代表 1。 • 「電腦」通常指的是數位式電腦。

  10. 電腦的硬體和軟體 • 硬體 (hardware): 用來構成電腦系統的組成部 份,具有體積和質量。 • 軟體 (software): 能在電腦上執行的程式或是能被電腦取用的資料,不具有體積或質量。

  11. 電腦的架構 可以區分為下列五個主要的部份: 1. CPU (中央處理器,Central Processing Unit) 2. 主記憶體 (main memory) 3. 儲存裝置 (storage devices) 4. I/O裝置 (輸入/輸出裝置,input-output devices) 5. 匯流排 (bus)

  12. 電腦基本組成的關聯圖

  13. CPU(中央處理器) 用來執行從記憶體取得的指令,是電腦的運算核心。 包括: • 算術/邏輯單元 (arithmetic/logic unit,簡寫為ALU) • 控制單元 (control unit,簡寫為CU) • Registers

  14. 主記憶體(main memory) • 唯一能由CPU直接存取資料的大型記憶裝置,運算時所需要的指令和資料必需先存放在主記憶體中才能執行。通常由DRAM (動態隨機存取記憶體,Dynamic Random Access Memory) 構成。

  15. DRAM • 是RAM (Random Access Memory,隨機存取記憶體) 的一種。 • RAM有DRAM和SRAM (Static Random Access Memory,靜態隨機存取記憶體) 兩大類。相較於SRAM,DRAM具有以下的幾個特性: 1. 儲存單元所需的面積較小。 2. 用電較省。 3. 存取速度較慢。 4. 必需不斷地重新記憶(refresh),否則資料會 消失。

  16. SRAM • 存取速度快,容量較小且價格昂貴的SRAM經常做為快取記憶體 (cache) 以擔任DRAM與CPU之間指令和資料的緩衝。 如下圖所示:

  17. 儲存裝置(storage device) • 又稱為次記憶體 (secondary memory) 或是輔助記憶裝置 (auxiliary memory device)。 • 有FDD、HDD、CD-ROM Drive、CD-R、CD- RW、DVD-ROM Drive、DVD-R/RW、 DVD+R/+RW、magnetic tape drive、USB隨身 碟,和 Magneto-Optic drive 等數種形式。

  18. 唯讀記憶體 (ROM,Read-Only Memory) • 只能讀取,無法隨時修改內容的記憶體,常用的是EPROM (Erasable Programmable Read-OnlyMemory) 和光碟 (CD-ROM,DVD-ROM)。

  19. EEPROM (電壓式可抹寫唯讀記憶體,Electrically Erasable Programmable Read-Only Memory) • 在沒有電源供應的時候仍然能夠保有內部儲存資訊。 • EPROM需要施加紫外線 (UV) 才能清除原有資料以備重寫,而EEPROM只要調高其中一支腳位的電壓即可清除原有資料。

  20. 混合式記憶體 (hybrid memory) • EEPROM和快閃記憶體 (flash memory) 都是混合式記憶體 (hybrid memory) 的主要成員,兼具 • RAM可以多次修改內容,以及ROM可以在電源供應消失時仍然保有內部資料特性。快閃記憶體只能以sector (扇形區段) 為單位來清除資料,而EEPROM清除資料的單位是位元組 (byte)。

  21. 記憶卡的形式 • Compact Flash Card (CF卡) • Smart Media (SM卡) • Multi Media Card (MMC卡) • xD Picture Card (xD卡) • Secured Digital Card (SD卡) • Reduced MM卡 • Sony的Memory Stick (包括衍生的Magic Gate、Memory • Stick Pro,和Memory Stick Duo) • IBM的Micro Drive卡 • SanDisk的MiniSD卡。

  22. I/O裝置(輸入/輸出裝置,input-output device) • 電腦與外界溝通的管道,包括顯示器 (monitor)、鍵盤 (keyboard)、滑鼠、搖桿 (joy stick)、數位板(digitizer,graphic tablet)、麥克風、喇叭、掃描機 (scanner)、印表機、MODEM、網路卡等裝置。

  23. 匯流排(bus) • 連接裝置的單元。匯流排所代表的不只是一些訊號線和控制裝置,還包括讓裝置之間能夠有效溝通的通訊協訂 (protocol)。 • 例如ISA (Industry Standard Architecture) 匯流排的時脈是8 MHz,PCI (Peripheral Component Interconnect) 匯流排已提昇至66 MHz,達到524MBps。

  24. 橋接器 (bridge) • 銜接各種不同時脈的匯流排

  25. DMA • 直接記憶體存取 (Direct Memory Access) 的資料傳遞模式。 • 在DMA控制器獲得CPU的授權後,I/O裝置與記憶體之間,甚至兩個I/O裝置之間能夠直接傳遞資料。

  26. 1.3 馮紐曼架構與哈佛架構

  27. 指令週期 1. 擷取 (fetch) 2. 解碼 (decode) 3. 執行 (execute)

  28. 程式記數器 (Program Counter) 與主記憶體之間的關係

  29. 各型記憶裝置的階層關係

  30. 數字系統 • 十進位數字系統 (decimal number system) • 二進位數字系統 (binary number system) • 八進位數字系統 (octal number system) • 十六進位數字系統 (hexadecimal number system) • 十進位數字系統 (decimal number system)

  31. 例如,365的值是36510 = (3×102) + (6×101) + (5×100) 每個數位的位值 (positional value) 都比它右邊的數位多了10倍,如下圖所示:

  32. 二進位數字系統 • 以2為基底 (base),它的數位符號只有0和1兩種。 例如,11012的值是 11012 = (1×23)+(1×22)+(0×21)+(1×20) = 1310

  33. 每個數位都比它右邊的數位多了兩倍,如下圖所示:每個數位都比它右邊的數位多了兩倍,如下圖所示: • 4個二進位數字的組合可以代表從00002到11112總共16種不同的值。

  34. 位元和位元組 • 位元(bit)是兩個英文字binary和digit的組合。 • 8 bits = 1 byte • 一個位元組可以用來表示28,亦即256種不同的值。 • 16位元 (2 bytes) 可以有65,536種變化。

  35. 八進位(octal)和十六進位(hexadecimal)數字系統 • 32768 = (3×83) + (2×82) + (7×81) + (6×80) = 172610 • 6BE16 = (6×162) + (11×161) + (14×160) = 172610 • 都是代表1726這個數字。

  36. 數字系統對應表

  37. 八進位和二進位數字系統之間的轉換 • 假設有個二進位數值 011010111110 • 我們先將它從右至左,每3個位元為一組劃分開來 011 010 111 110 • 再使用二進位數字與八進位數字的對照關係,就可以得到: 011 010 111 110 3 2 7 6

  38. 十六進位和二進位數字系統之間的轉換 • 以4個位元一組的方式劃分,再逐一對照二進位和十六進位的表示法,就可以得到: 0110 1011 1110 6 B E 也就是68E16的結果。

  39. 二的補數表示法 (two's complement representation)。 • 最左邊的位元代表正負號。將一個正數變為負數要經由兩個步驟: 1. 將原有二進位數字做補數運算。原 來的所有1改為0,原有0以取1取代。 2. 加1。

  40. 將–5寫成二的補數 52 = 0 0 0 0 0 1 0 1 • 只要下述兩個步驟: 1. 寫出5的補數 1 1 1 1 1 0 1 0 2. 加1 1 1 1 1 1 0 1 1

  41. 以硬體的方式進行二的補數處理 1. 將原有的二進位數字從右至左搜尋第一個「1」出現的位置。 2. 將上步驟找出的位置左邊的所有位元進行補數處理。 再以上述–5的二的補數運算為例: 圖示如下:

  42. 使用二的補數法表示數值可以簡化CPU內部所需的電路 • 例如: 5 – 4 = 5 + (-4) : (-5) + (-4) : 答案1 1 1 1 0 1 1 1是–9的二的補數表示式。

  43. 從–5到+5的二的補數表示式

  44. 非整數的二進位表示法 • 把十進位系統的小數點 (decimal point) 沿用到二進位系統,稱為基點 (radix point)。 101.1012 = (1 ×22) + (0 ×21) + (1 ×20) + (1 ×2-1) + (0 ×2-2) + (1 ×2-3) = 5.62510

  45. 浮點數(floating point number)在電腦內部的表示法 • 在二進位系統中,以32位元 (4-byte) 為例,實數被分割成兩個部份: 24位元的尾數(mantissa)部份和8位元的指數(exponent)部份。 尾數的值介於 –1.0和 +1.0之間,而指數介於 –128到 +127之間。

  46. 精確度(precision)和範圍(range) • 浮點數的精確度受尾數部份限制,而範圍則受限於指數。 • 在32位元的表示法中尾數只用了24位元,所以32位元的浮點數精確度只有七個十進位數位,簡稱「有七位數的精確度」。 • 而8位元的指數代表的是2-128到2-127的指數範圍,所以32位元浮點數的範圍在10-38到1038之間。

  47. 文字資料 • 文字資料包括字母和符號,典型的西方文字系統包括下列幾種組成: 1. 26個大寫英文字母,從 'A' 到 'Z'。 2. 26個小寫英文字母,從 'a' 到 'z'。 3. 10個阿拉伯數字,從 '0' 到 '9'。 4. 其它符號。例如 ( ),{ },[ ],#,% 等。 5. 無法印出的特殊字元。例如鍵盤上的Tab鍵。 儲存一個字元只需要使用一個位元組 (byte)。

  48. ASCII字元碼系統 • 除了IBM大型電腦以外,早期幾乎所有的電腦在儲存字元 (characters) 時,都採用ASCII字元碼系統 (ASCII Character Codes),ASCII 是美國標準資訊交換碼 (American Standard Code for Information Interchange) 的縮寫,一般採用的是1977年訂定,編號ANSI X3.4的版本。

  49. ASCII字元碼系統

More Related