計算機的產生是20世紀最重要的科學技術大事件之一。1946年美國賓夕法尼亞大學經過幾年的艱苦努力,研制出世界上第一臺電子計算機--埃尼阿克(ENIAC)。
一、 計算機的發展史:
根據計算機所采用的物理器件不同,可分為四個階段。
第一代:電子管計算機,開始于1946年,結構上以CPU為中心,使用機器語言,速度慢、存儲量小,主要用于數值計算。
第二代:晶體管計算機,開始于1958年,結構上以存儲器為中心,使用高級語言應用范圍擴大到數據處理和工業控制。
第三代:中小規模集成電路計算機,開始于1964年,結構上仍以存儲器為中心,增加了多種外部設備,軟件得到一定發展,計算機處理圖像、文字和資料功能加強。
第四代:大、超大規模集成電路計算機,開始于1971年,應用更加廣泛,出現了微型計算機。
計算機硬件發展的同時,軟件始終伴隨其步伐迅猛發展,就計算機的編程語言而言,也劃分為三代。
第一代:機器語言。每條指令用二進制編碼,效率很低。
第二代:匯編語言。用符號編程,和具體機器指令有關,效率不高。
第三代:高級語言:如FORTRAN、COBOL、BASIC、PASCAL等都屬于高級語言。
二、我國計算機的發展
我國從1956年開始電子計算機科研和教學工作。
1983年12月研制成功每秒運行1億次的"銀河"巨型計算機;
1992年11月研制成功每秒運行10億次的"銀河Ⅱ"巨型計算機;
1997年研制成功每秒運行130億次的"銀河Ⅲ"巨型計算機。
三、計算機的發展趨勢
計算機的發展向微型化和巨型化、多媒體化和網絡化方向發展。
計算機的基本概念
計算機內所有的信息都是以二進制的形式表示的,單位是位。
位:計算機只認識由0或1組成的二進制數,二進制數中的每個0或1就是信息的最小單位,稱為"位"(bit)。
字節:是衡量計算機存貯容量的單位。一個8位的二進制數據單元稱一個字節(byte)。在計算機內部,一個字節可以表示一個數據,也可以表示一個英文字母或其他特殊字符,二個字節可以表示一個漢字。
字:在計算機中,作為一個整體單元進行存貯和處理的一組二進制數。一臺計算機,字的二進制數的位數是固定的。
字長:一個字中包含二進制數位數的多少稱為字長。字長是標志計算機精度的一項技術指標。
存貯器編址:為了便于對計算機內的數據進行有效的管理和存貯,需要對內存單元編號,即給每個存貯單元一個地址。每個存貯單元存放一個字節的數據。 如果需要對某一個存貯單元進行存貯,必須先知道該單元的地址,然后才能 對該單元進行信息的存取。
注意:存貯單元的地址和存貯單元中的內容是不同。
指令:指揮計算機進行基本操作的命令。
指令系統:一種計算機所能執行的全部指令的集合。
程序:按一定處理步驟編排的,能完成一定處理能力的指令序列。
計算機系統
計算機系統是由硬件系統和軟件系統所組成的。
一、計算機的硬件系統
硬件系統由輸入設備、輸出設備、存儲器、運算器和控制器組成。
其中運算器和控制器結合在一起,稱為中央處理器(CPU)
CPU(即運算器和控制器)和存儲器合稱為主機。
輸入設備:常見有鍵盤、鼠標、掃描儀等
輸出設備:常見有顯示器、打印機和繪圖儀等;
中央處理器:又稱CPU,它包括運算器和控制器。是計算機的核心部分。
我們平時所說的486、586、奔騰Ⅲ、奔騰Ⅳ指的是CPU的檔次。
運算器:可以進行算術運算和邏輯運算;
控制器:是計算機的指揮系統,它的操作過程是取指令--分析指令,循環執行。
存儲器:具有記憶功能的物理器件,用于存儲信息。分為內存和外存。
內存:是半導體存儲器,分為只讀存儲器(ROM)和隨機存儲器(RAM)。
ROM只可讀出,不能寫入,斷電后內容還在;
RAM可隨意寫入讀出,但斷電后內容不存在。
外存:磁性存儲器(軟盤和硬盤);光電存儲器(光盤),可以作為永久性存儲器。
存儲器的兩個重要指標:存取速度和存儲容量。內存的存取速度最快,軟盤最慢。存儲容量是存儲的信息量,它用字節(Byte)作為基本單位,1個字節用8位二進制數表示,1KB=1024B,1MB=1024KB,1GB=1024MB。
二、計算機的軟件系統
計算機軟件系統分為系統軟件和應用軟件兩大類。
系統軟件:為了使用和管理計算機的軟件;主要操作系統軟件有Windows95/98/2000/NT, DOS, UCDOS,MS-DOS,Unix,,OS/2,Linux等。其中,WINDOWS是多任務可視化圖形界面,DOS是字符命令形式的單任務操作系統。
應用軟件:為了某個應用目的而編寫的軟件,主要有輔助教學軟件,輔助設計軟件、文字處理軟件、工具軟件以及其它的應用軟件。
三、計算機的工作原理:
到目前為止,電子計算機的工作原理均采用馮·諾依曼的存儲程序,并自動完成程序的設計思想.其工作過程如下圖所示:
需要注意的是:程序中的數據,指令都采用數字化編碼方式,保存在存儲器中;程序中的指令必須是屬于這臺機器的指令系統.
四、計算機病毒
計算機病毒是一種程序,是人為設計的具有破壞性的程序.它往往使計算機不能正常工作.計算機病毒具有破壞性,傳播性,可激發性,潛伏性,隱蔽性等特點.由于計算機病毒危害極大,需要注意隔離計算機病毒的來源,經常用殺病毒軟件檢查計算機系統和存儲器.
計算機中有關數,編碼的基本常識
(一)1.計算機是智能化的電器設備
計算機就其本身來說是一個電器設備,為了能夠快速存儲,處理,傳遞信息,其內部采用了大量的電子元件,在這些電子元件中,電路的通和斷,電壓高低,這兩種狀態最容易實現,也最穩定,也最容易實現對電路本身的控制.我們將計算機所能表示這樣的狀態,用0,1來表示,即用二進制數表示計算機內部的所有運算和操作.
2.二進制數的運算法則
二進制數運算非常簡單,計算機很容易實現,其主要法則是:
0+0=0 0+1=1 1+0=1 1十1=10; 0 x 0=0 0 xl=0 1x 0= 0 1xl=1
由于運算簡單,電器元件容易實現,所以計算機內部都用二進制編碼進行數據的傳送,計算.
3.十進制與二進制,八進制,十六進制數之間的相互轉換
(1)數的進制與基數.
計數的進制不同,則它們的基數也不相同,如表1-l所示.
進制
基數
十進制數
典型示例(轉換)
二進制
0,1
10,7,23
1010,111,10111
三進制
0,1,2
10,7,23
101,21,212
四進制
0,1,2,3
10,7,23
22,13,113
八進制
0,1,2,3,4,5,6,7
10,63,126
12,77,176
十進制
0,1,2,3,4,5,6,7,8,9
十六進制
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
10,63,254
A,3F,15E
(2)數的權
不同進制的數,基數不同,其每位上所代表的值的大小也不相同,我們稱之為"權"
①十進制數,逢十進一.如,(219)10=2x102+1x101+9x100
②二進制數,逢二進一.如,(11010)2=lx24+lx23+0x22+lx21+0x20=26
③八進制數,逢八進一.如,(273)8= 2x82+7x81+3x80=187
④十六進制數,逢十六進一.如,(27B)16=2x162+7x161+11x160=635
從以上的計算中,可以看到,進制不同,基數不同,每位上權值大小也不相同,數值大小也不相同.
(3)十進制數轉換成任意進制數
將十進制數轉換成任意進制數的基本方法是:將十進制數除以所定的進制數反向取余.
例如:
①將39用二進制數表示,用如下的短除法,求余數,并反向取余.如果轉換成二進制還可以用右邊的2的N次冪表示.
短除法 39==>(100111)2
②將245用八進制數表示,我們可以用如下的短除法,求余數,并反向取余.
想一想,為什么要反向取余.對于十進制小數要轉換成其他進制的數,則是不斷將小數部分乘以進制數取整,作為轉換后的小數部分,直到為零或精確到小數點后幾位.如: (0.35)10≈(0.01011)2 (0.125)10=(0.001)2
(4)任意進制的數轉換成十進制數
將任意進制數轉換成十進制數的基本方法是按權展開,見(2)數的權內容.
(二)ASCII碼 ( American Standard Code for Information Interchange )
美國的標準信息交換代碼
將每個字符用7位的二進制數來表示,共有128種狀態
大小字母,0…9,其它符號,控制符
' 0 ' ―― 48 ' A ' ―― 65 ' a ' ―― 97
(三)漢字信息編碼
漢字輸入碼
漢字輸入方法大體可分為:區位碼(數字碼),音碼,形碼,音形碼.
· 區位碼:優點是無重碼或重碼率低,缺點是難于記憶;
· 音碼:優點是大多數人都易于掌握,但同音字多,重碼率高,影響輸入的速度;
· 形碼:根據漢字的字型進行編碼,編碼的規則較多,難于記憶,必須經過訓練才能較好地掌握;重碼率低
· 音形碼:將音碼和形碼結合起來,輸入漢字,減少重碼率,提高漢字輸入速度;
2.漢字交換碼
漢字交換碼是指不同的具有漢字處理功能的計算機系統之間在交換漢字信息時所使用的代碼標準.自國家標準GB2312-80公布以來,我國一直延用該標準所規定的國標碼作為統一的漢字信息交換碼.
GB2312-80標準包括了6763個漢字,按其使用頻度分為一級漢字3755個和二級漢字3008個.一級漢字按拼音排序,二級漢字按部首排序.此外,該標準還包括標點符號,數種西文字母,圖形,數碼等符號682個.
區位碼的區碼和位碼均采用從01到94的十進制,國標碼采用十六進制的21H到73H(數字后加H表示其為十六進制數).區位碼和國標碼的換算關系是:區碼和位碼分別加上十進制數32.如"國"字在表中的25行90列,其區位碼為2590,國標碼是397AH.
* 由于GB2312-80是80年代制定的標準,在實際應用時常常感到不夠,所以,建議處理文字信息的產品采用新頒布的GB18030信息交換用漢字編碼字符集,這個標準繁,簡字均處同一平臺,可解決兩岸三地間GB碼與BIG5碼間的字碼轉換不便的問題.
3.字形存儲碼
字形存儲碼是指供計算機輸出漢字(顯示或打印)用的二進制信息,也稱字模.通常,采用的是數字化點陣字模.
一般的點陣規模有16×16,24×24,64×64等,每一個點在存儲器中用一個二進制位(bit)存儲.例如,在16×16的點陣中,需8×32 bit 的存儲空間,每8 bit為1字節,所以,需32字節的存儲空間.在相同點陣中,不管其筆劃繁簡,每個漢字所占的字節數相等.
為了節省存儲空間,普遍采用了字形數據壓縮技術.所謂的矢量漢字是指用矢量方法將漢字點陣字模進行壓縮后得到的漢字字形的數字化信息.
(四)其它信息的數字化
圖像信息的數字化
一幅圖像可以看作是由一個個像素點構成,圖像的信息化,就是對每個像素用若干個二進制數碼進行編碼.圖像信息化后,往往還要進行壓縮.
圖像文件的后綴名有:bmp,gif,jpg,pdf等;
聲音信息的數字化
自然界的聲音是一種連續變化的模擬信息,可以采用A/D轉換器對聲音信息進行數字化.
聲音文件的后綴名有:wav,mp3,mid等;
視頻信息的數字化
視頻信息可以看成連續變換的多幅圖像構成,播放視頻信息,每秒需傳輸和處理25幅以上的圖像.視頻信息數字化后的存儲量相當大,所以需要進行壓縮處理.
視頻文件后綴名有:avi,mpg等;
機器數與真值
數有正,負兩種,在計算機中數的符號是用數碼表示的.一般情況下,用0表示正數,用1表示負數.通常符號位放在數的最高位.
機器數:連同符號位在一起作為一個數,稱為機器數.
真值數:一個數的數值部分稱為真值數.
如:x1=+1011011 x2=-1011011, 則X1的機器數是01011011,真值數是+1011011,X2的機器數是11011011,真值數是-1011011.
(一)數的定點表示和浮點表示
(1) 定點小數格式
任何一個M位的小數可以表示成:
N=Ns . N-1N-2…N-m (其中Ns 是符號位,其值表示的范圍|N|<=1-2-m)
(2) 定點整數格式
任何一個N位帶符號的整數都可表示為:
N=Ns Nn-1Nn-2…N0 (其中Ns 是符號位,其值表示的范圍|N|<=2n-1)
(3) 數的浮點表示
浮點數是指小數點在數據中的位置可以左右移動的數.一個數N要用浮點表示可以寫成:N=M·RE 其中M表示浮點數的尾數,E表示浮點數的指數或稱為階碼,R指的是在這個指數下的基數.浮點數通常表示成如下格式:
Ms
E
M
1位 m位 n位
M:浮點數的尾數,用定點小數表示,小數點在尾數最高位之前,是默認的.尾數用于表示浮點數的有效位,其位數N的大小反映了此浮點數的精度.
E:浮點數的階碼,用定點整數表示.
Ms:浮點數的符號位,也就是尾數的符號位,一般放在整個浮點數的最高位.
(4)浮點數的規格化
當尾數用二進制數表示時,浮點規格化數定義尾數S應滿足下面關系:
(I)對于正數,S應大于等于1/2,小于1,用二進制數表示為:
S=0.1******…(其中*為0或1)
(II)對于負數,如果尾數用原碼表示,S應小于等于-1/2,大于-1,表示為:
S=1.1******…(其中*為0或1)
(III)機器零:當一個浮點數的尾數為0,不論其階碼為何值;或階碼的值遇到比它能表示的最小值還小時,不管其尾數為何值,計算機都把該浮點數看成零,即把階碼尾數全變為0,稱它為機器0.
(二)二進制數值數據的編碼方法
最常用的編碼方法有原碼表示法,補碼表示法和反碼表示法三種.
1,原碼表示法
用機器數的最高(最左)一位代表符號,其余各位給出數值的絕對值.
[X]原=符號位+|X|(0代表正號,1代表負號)
真值零的原碼表示法,有正零和負零兩種表示:
[+0]原=00000 [-0]原=10000
2,補碼表示法
如果X為正數,則:[X]補=[X]原
如果X為負數,則:[X]補=(把[X]原 除符號位外,其余各位全變反(0變1,1變0),再在最末位加1 )
[+0]補=[-0]補=0000
同理有:如果X為負數,則:[X]原=(把[X]補 除符號位外,其余各位全變反(0變1,1變0),再在最末位加1 )
3,反碼表示法
如果X為正數,則:[X]反=[X]原
如果X為負數,則:[X]反=(把[X]原 除符號位外,其余各位全變反(0變1,1變0))
[+0]反=00000 [-0]反=11111
可見,如果真值X=0,則[X]補 有唯一的編碼,[X]原 和 [X]反 都有兩個不同的編碼.
2 39
2 19 ……1
2 9 ……1
2 4 ……1
2 2 ……0
2 1 ……0
2 0 ……1
2的N次冪表示:(39)10=(100111)2= lx25+0x24+0x23+1x22+lx21+1x20
16×16點表示 |