第1章計(jì)算機(jī)概述_第1頁
第1章計(jì)算機(jī)概述_第2頁
第1章計(jì)算機(jī)概述_第3頁
第1章計(jì)算機(jī)概述_第4頁
第1章計(jì)算機(jī)概述_第5頁
已閱讀5頁,還剩100頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第1章概述本章講述以下五部分的內(nèi)容:1.180x86系列的概要?dú)v史1.2計(jì)算機(jī)基礎(chǔ)1.3計(jì)算機(jī)的硬件和軟件1.4微型計(jì)算機(jī)的結(jié)構(gòu)1.5多媒體計(jì)算機(jī)第一節(jié)介紹x86系列處理器的發(fā)展概史。第二節(jié)介紹計(jì)算機(jī)的基本原理和主要的概念及術(shù)語。第三節(jié)介紹什么是微型計(jì)算機(jī)的硬件和軟件以及軟件的主要種類。第四節(jié)介紹微型計(jì)算機(jī)的內(nèi)部和外部結(jié)構(gòu)。第五節(jié)介紹多媒體計(jì)算機(jī)主要功能和組成。1.1x86系列結(jié)構(gòu)的概要?dú)v史1971年Intel400470年代中期Intel8080、808580年代初Intel8086、8088從8086(8088)到80286、80386、80486、奔騰(也稱為80586)、奔騰MMX、奔騰PRO(也稱為80686)、奔騰Ⅱ、奔騰Ⅲ,直至最新的奔騰4,形成了IA(IntelArchitecture)-32結(jié)構(gòu)。1.1.18086 x86系列結(jié)構(gòu)的最新版本的發(fā)展能追溯到Intel8086。在x86系列結(jié)構(gòu)系統(tǒng)引進(jìn)32位處理器之前,是16位的處理器,包括8086處理器和隨后很快開發(fā)的80186與80286。從歷史的觀點(diǎn)來看,x86系列結(jié)構(gòu)同時(shí)包括了16位處理器和32位處理器。在現(xiàn)在,32位x86系列結(jié)構(gòu)對于許多操作系統(tǒng)和十分廣泛的應(yīng)用程序來說是最流行的計(jì)算機(jī)結(jié)構(gòu)。 x86系列結(jié)構(gòu)的最重要的成就之一是,從1978開始的那些處理器上建立的目標(biāo)程序仍能在x86系列結(jié)構(gòu)系列的最新的處理器上執(zhí)行。 8086有16位寄存器和16位外部數(shù)據(jù)總線,具有20位地址總線,可尋址1M字節(jié)地址空間。1.1.280386 Intel386處理器是x86系列結(jié)構(gòu)系列中的第一個(gè)32位處理器。它在結(jié)構(gòu)中引入了32寄存器,用于容納操作數(shù)和地址。每個(gè)32位寄存器的后一半保留兩個(gè)早期處理器版本(8086和80286)的16位寄存器的特性,以提供完全的后向兼容。Intel386還提供了一種新的虛擬8086方式,以在新的32位處理器上最有效地執(zhí)行為8086處理器建立的程序。 Intel386處理器有32位地址總線,能支持多至4G字節(jié)的物理存儲器。32位結(jié)構(gòu)為每個(gè)軟件進(jìn)程提供邏輯地址空間。32位結(jié)構(gòu)同時(shí)支持分段的存儲模式和“平面(flat)”存儲模式。在“平面”存儲模式中,段寄存器指向相同地址,且每個(gè)段中的所有4G字節(jié)可尋址空間對于軟件程序員是可訪問的。 原始的16位指令用新的32位操作數(shù)和新的尋址方式得到增強(qiáng),并提供了一些新的指令,包括那些位操作指令。 Intel386處理器把分頁引進(jìn)了x86系列結(jié)構(gòu),用4K字節(jié)固定尺寸的頁提供一種虛擬存儲管理方法,它比分段更為優(yōu)越。分頁對于操作系統(tǒng)更為有效,且對應(yīng)用程序完全透明,對執(zhí)行速度沒有明顯影響。4G字節(jié)虛擬地址空間的支持能力、存儲保護(hù)與分頁支持一起,使x86系列結(jié)構(gòu)成為高級操作系統(tǒng)和廣泛的應(yīng)用程序的最流行的選擇。1.1.380486 Intel486處理器把Intel386處理器的指令譯碼和執(zhí)行單元擴(kuò)展為五個(gè)流水線段,增加了更多的并行執(zhí)行能力,其中每個(gè)段(當(dāng)需要時(shí))與其它的并行操作最多可在不同段上同時(shí)執(zhí)行五條指令。每個(gè)段以能在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行一條指令的方式工作,所以,Intel486處理器能在每個(gè)時(shí)鐘周期執(zhí)行一條指令。 80486的一個(gè)重大改進(jìn)是在x86系列處理器的芯片中引入了緩存。在芯片上增加了一8K字節(jié)的一級緩存(cache),大大增加了每個(gè)時(shí)鐘周期執(zhí)行一條指令的百分比,包括操作數(shù)在一級cache中的存儲器訪問指令。 Intel486處理器也是第一次把x87FPU(浮點(diǎn)處理單元)集成到處理器上并增加了新的引腳、位和指令,以支持更復(fù)雜和更強(qiáng)有力的系統(tǒng)(二級cache支持和多處理器支持)。 直至Intel486處理器這一代,Intel把設(shè)計(jì)以支持電源保存和別的系統(tǒng)功能加入至X86系列主流結(jié)構(gòu)和Intel486SL增強(qiáng)的處理器中。這些特性是在Intel386SL和Intel486SL處理器中開發(fā)的,是特別為快速增長的用電池操作的筆記本PC市場提供的。這些特性包括新的用專用的中斷腳觸發(fā)的系統(tǒng)管理模式,允許復(fù)雜的系統(tǒng)管理特性(例如在PC內(nèi)的各種子系統(tǒng)的電源管理),透明地加至主操作系統(tǒng)和所有的應(yīng)用程序中。停止時(shí)鐘(StopClock)和自動暫停電源下降(AutoHaltPowerdown)特性允許處理器在減慢的時(shí)鐘速率下執(zhí)行,以節(jié)省電源或關(guān)閉(保留狀態(tài)),以進(jìn)一步節(jié)省電源。1.1.4奔騰(Pentium) Intel奔騰(Pentium)處理器增加了第二個(gè)執(zhí)行流水線以達(dá)到超標(biāo)量性能(兩個(gè)已知的流水線u和v,一起工作能實(shí)現(xiàn)每個(gè)時(shí)鐘執(zhí)行兩條指令)。 芯片上的一級cache也加倍了,8K字節(jié)用于代碼,另8K字節(jié)用于數(shù)據(jù)。數(shù)據(jù)cache使用MESI協(xié)議,以支持更有效的回寫方式,以及由Intel486處理器使用的寫通方式。加入的分支預(yù)測和芯片上的分支表增加了循環(huán)結(jié)構(gòu)中的性能。 加入了擴(kuò)展以使虛擬8086方式更有效,并像允許4K字節(jié)頁一樣允許4M字節(jié)頁。主要的寄存器仍是32位,但內(nèi)部數(shù)據(jù)通路是128和256位以加速內(nèi)部數(shù)據(jù)傳送,且猝發(fā)的外部數(shù)據(jù)總線已經(jīng)增加至64位。增加了高級的可編程中斷控制器(AdvancedProgrammableInterruptController(APIC))以支持多奔騰處理器系統(tǒng),新的引腳和特殊的方式(雙處理)設(shè)計(jì)以支持無連接的兩個(gè)處理器系統(tǒng)。 奔騰系列的最后一個(gè)處理器(具有MMX技術(shù)的奔騰處理器)把IntelMMX技術(shù)引入IA-32結(jié)構(gòu)。IntelMMX技術(shù)用單指令多數(shù)據(jù)(SIMD)執(zhí)行方式在包含64位MMX寄存器中的包裝的整型數(shù)據(jù)上執(zhí)行并行計(jì)算。此技術(shù)在高級媒體、影像處理和數(shù)據(jù)壓縮應(yīng)用程序上極大地增強(qiáng)了IA-32處理器的性能。1.1.5P6系列處理器 在1995年,Intel引入了P6系列處理器。此處理器系列是基于新的超標(biāo)量微結(jié)構(gòu)上的,它建立了新的性能標(biāo)準(zhǔn)。P6系列微結(jié)構(gòu)設(shè)計(jì)的主要目的之一是在仍使用相同的0.6微米、四層金屬BICMOS制造過程的情況下使處理器的性能明顯地超過奔騰處理器,用與奔騰處理器同樣的制造過程要提高性能只能在微結(jié)構(gòu)上有實(shí)質(zhì)上的改進(jìn)。 IntelPentiumPro處理器是基于P6微結(jié)構(gòu)的第一個(gè)處理器。P6處理器系統(tǒng)隨后的成員是IntelPentiumII、IntelPentiumIIXeon(至強(qiáng))、IntelCeleron(賽揚(yáng))、IntelPentiumIII和IntelPentiumIIIXeon(至強(qiáng))處理器。1.1.6奔騰II IntelPentiumII處理器把MMX技術(shù)加至P6系列處理器,并具有新的包裝和若干硬件增強(qiáng)。處理器核心包裝在了SECC上,這使其更具有了靈活的母板結(jié)構(gòu)。第一級數(shù)據(jù)和指令caches每個(gè)擴(kuò)展至16K字節(jié),支持二級cache的尺寸為256K字節(jié)、512K字節(jié)和1M字節(jié)。 PentiumIIXeon(至強(qiáng))處理器組合Intel處理器前一代的若干額外特性,例如4way、8way(最高)可伸縮性和運(yùn)行在“全時(shí)鐘速度”后沿總線上的2M字節(jié)二級cache,以滿足中等和高性能服務(wù)器與工作站的要求。1.1.7奔騰III PentiumIII處理器引進(jìn)流SIMD擴(kuò)展(SSE)至X86系列結(jié)構(gòu)。SSE擴(kuò)展把由IntelMMX引進(jìn)的SIMD執(zhí)行模式擴(kuò)展為新的128位寄存器和能在包裝的單精度浮點(diǎn)數(shù)上執(zhí)行SIMD操作。 PentiumIIIXeon處理器用Intel的0.18μm處理技術(shù)的全速高級傳送緩存(AdvancedTransferCache)擴(kuò)展了IA-32處理器的性能級。1.1.8IntelPentium4處理器 IntelPentium4處理器是2000年推出的ia-32處理器,并是第一個(gè)基于IntelNetBurst微結(jié)構(gòu)的處理器。IntelNetBurst微結(jié)構(gòu)是新的32bit微結(jié)構(gòu),它允許處理器能在比以前的IA-32處理器更高的時(shí)鐘速度和性能等級上進(jìn)行操作。IntelPentium4處理器有以下高級特性: (1)IntelNetBurst微結(jié)構(gòu)的第一個(gè)實(shí)現(xiàn)。 —快速的執(zhí)行引擎。 —Hyper流水線技術(shù)。 —高級的動態(tài)執(zhí)行。 —創(chuàng)新的新cache子系統(tǒng)。 (2)流SIMD擴(kuò)展2(SSE2): —用144條新指令擴(kuò)展IntelMMX技術(shù)和SSE擴(kuò)展,它包括支持: ?128位SIMD整數(shù)算術(shù)操作。 ?128位SIMD雙精度浮點(diǎn)操作。 ?Cache和存儲管理操作。 —進(jìn)一步增強(qiáng)和加速了視頻、語音、加密、影像和照片處理。 (3)400MHzIntelNetBurst微結(jié)構(gòu)系統(tǒng)總線。 —提供每秒3.2G字節(jié)的吞吐率(比PentiumIII處理器快三倍)。 —四倍100MHz可伸縮總線時(shí)鐘,以達(dá)到400MHz有效速度。 —分開的交易,深度流水線。 —128字節(jié)線具有64字節(jié)訪問。 (4)與在IntelX86系列結(jié)構(gòu)處理器上所寫和運(yùn)行的已存在的應(yīng)用程序和操作系統(tǒng)兼容。1.1.9Intel超線程處理器 Intel公司于2002年推出了具有超線程技術(shù)的IA-32列處理器。超線程(Hyper-ThreadingHT)技術(shù)允許單個(gè)物理處理器用共享的執(zhí)行資源并發(fā)地執(zhí)行兩個(gè)或多個(gè)分別的代碼流(線程)。以提高X86系列處理器執(zhí)行多線程操作系統(tǒng)與應(yīng)用程序代碼的性能。 從體系結(jié)構(gòu)上說,支持HT技術(shù)的IA-32處理器,在一個(gè)物理處理器核中由兩個(gè)或多個(gè)邏輯處理器構(gòu)成,每個(gè)邏輯處理器有它自己擁有的IA-32體系結(jié)構(gòu)狀態(tài)。每個(gè)邏輯處理器由全部的IA-32數(shù)據(jù)寄存器、段寄存器、控制寄存器與大部分的MSR構(gòu)成。 從體系結(jié)構(gòu)上說,支持HT技術(shù)的IA-32處理器,在一個(gè)物理處理器核中由兩個(gè)或多個(gè)邏輯處理器構(gòu)成,每個(gè)邏輯處理器有它自己擁有的IA-32體系結(jié)構(gòu)狀態(tài)。每個(gè)邏輯處理器由全部的IA-32數(shù)據(jù)寄存器、段寄存器、控制寄存器與大部分的MSR構(gòu)成。 圖1-1顯示支持HT技術(shù)(用兩個(gè)邏輯處理器實(shí)現(xiàn)的)的IA-32處理器與傳統(tǒng)的雙處理器系統(tǒng)的比較。 不像用兩個(gè)或多個(gè)分別的IA-32物理處理器的傳統(tǒng)的MP系統(tǒng)配置,在支持HT技術(shù)的IA-32處理器中的邏輯處理器共享物理處理器的核心資源。這包括執(zhí)行引擎和系統(tǒng)總線接口。在上電和初始化以后,每個(gè)邏輯處理器能獨(dú)立地直接執(zhí)行規(guī)定的線程、中斷或暫停。 HT技術(shù)由在單個(gè)芯片上提供兩個(gè)或多個(gè)邏輯處理器支持在現(xiàn)代操作系統(tǒng)和高性能應(yīng)用程序中找到的進(jìn)程與線程級并行。以在每個(gè)時(shí)鐘周期期間最大地使用執(zhí)行單元。而提高了處理器的性能。1.1.10Intel雙核技術(shù)處理器 雙核技術(shù)是在IA-32處理器系列中硬件多線程能力的另一種形式。雙核技術(shù)由用在單個(gè)物理包中有兩個(gè)分別的執(zhí)行核心提供硬件多線程能力。因此,IntelPentium處理器極品版在一個(gè)物理包中提供四個(gè)邏輯處理器(每個(gè)處理器核有兩個(gè)邏輯處理器)。 IntelPentiumD處理器也以雙核技術(shù)為特色。此處理器用雙核技術(shù)提供硬件多線程支持,但它不提供超線程技術(shù)。因此,IntelPentiumD處理器在一個(gè)物理包中提供兩個(gè)邏輯處理器,每個(gè)邏輯處理器擁有處理器核的執(zhí)行資源,如圖1-2所示。 Intel奔騰處理器極品版中引入了Intel擴(kuò)展的存儲器技術(shù)(IntelEM64T)對于軟件增加線性地址空間至64位與支持物理地址空間至40位。此技術(shù)也引進(jìn)了稱為IA-32e模式的新的操作模式。 AMD公司是x86系列處理器的另一重要供應(yīng)商。它于1969年成立。于1991年推出了AM386系列,1993年推出了AM486,1997年推出了AMD-K6(相當(dāng)于具有MMX技術(shù)的奔騰處理器),2001年推出了AMDAthlon(速龍)MP雙處理器,2003年推出AMD速龍?64FX處理器,具有64位的x86-64內(nèi)核。直至最近推出了雙核的64位處理器。1.2計(jì)算機(jī)基礎(chǔ)

1.2.1計(jì)算機(jī)的基本結(jié)構(gòu)

上述的CPU、主板、內(nèi)存條、硬盤、軟盤、顯示卡、顯示器、鍵盤、鼠標(biāo)等。這些都是計(jì)算機(jī)的部件,雖然這些部件的功能與性能都有了巨大的發(fā)展,但是計(jì)算機(jī)的基本結(jié)構(gòu)未變,如圖1-7所示。計(jì)算機(jī)最早是作為運(yùn)算工具出現(xiàn)的。顯然,它首先要有能進(jìn)行運(yùn)算的部件,稱為運(yùn)算器;其次要有能記憶原始題目、原始數(shù)據(jù)和中間結(jié)果以及為了使機(jī)器能自動進(jìn)行運(yùn)算而編制的各種命令的器件,這種器件就稱為存儲器;再次,要有能代替人的控制作用的控制器,它能根據(jù)事先給定的命令發(fā)出各種控制信息,使整個(gè)計(jì)算過程能一步步地自動進(jìn)行。但是光有運(yùn)算器、控制器和存儲器還不夠,原始的數(shù)據(jù)與命令要輸入,所以需要有輸入設(shè)備;而計(jì)算的結(jié)果(或中間過程)需要輸出,就要有輸出設(shè)備。這樣就構(gòu)成了一個(gè)基本的計(jì)算機(jī)系統(tǒng)。在計(jì)算機(jī)中,基本上有兩種信息在流動。一種信息為數(shù)據(jù),即各種原始數(shù)據(jù)、中間結(jié)果、程序等。這些數(shù)據(jù)要由輸入設(shè)備輸入,存于存儲器中。在運(yùn)算處理過程中,數(shù)據(jù)從存儲器讀入運(yùn)算器進(jìn)行運(yùn)算,運(yùn)算的中間結(jié)果要存入存儲器中,或最后由運(yùn)算器經(jīng)輸出設(shè)備輸出。人們給計(jì)算機(jī)的各種命令(即程序),也以數(shù)據(jù)的形式由輸入設(shè)備存至存儲器中。在運(yùn)行時(shí)從存儲器中取出送入控制器,由控制器經(jīng)過譯碼后變?yōu)楦鞣N控制信號。這就是計(jì)算機(jī)中的另一種信息流即控制命令,由控制器控制輸入裝置的啟動或停止??刂七\(yùn)算器按規(guī)定一步步地進(jìn)行各種運(yùn)算和處理,控制存儲器的讀和寫,控制輸出設(shè)備輸出結(jié)果等等。圖1-7中的各個(gè)部分構(gòu)成了計(jì)算機(jī)的硬件(Hardware)。在上述的計(jì)算機(jī)硬件中,往往把運(yùn)算器、控制器和存儲器合在一起稱為計(jì)算機(jī)的主機(jī);而把各種輸入輸出設(shè)備統(tǒng)稱為計(jì)算機(jī)的外圍設(shè)備或外部設(shè)備(Peripheral)。在主機(jī)部分中,又把運(yùn)算器和控制器合在一起稱為中央處理單元CPU(CentralProcessingUnit)。隨著半導(dǎo)體集成電路技術(shù)的發(fā)展,可以把整個(gè)CPU集成在一個(gè)集成電路芯片上,就把它稱為微處理器(Microprocessor)。人們把以微處理器為核心構(gòu)成的計(jì)算機(jī),稱為微型計(jì)算機(jī),最典型的就是上述的PC機(jī)。若內(nèi)存的容量較小,輸入輸出設(shè)備少,整個(gè)計(jì)算機(jī)可以只安裝在一塊印刷電路板上,這樣的計(jì)算機(jī)就稱為單板計(jì)算機(jī)。若能把整個(gè)計(jì)算機(jī)集成在一個(gè)芯片上,就稱為單片機(jī)。但不論計(jì)算機(jī)的規(guī)模大小,CPU只是計(jì)算機(jī)的一個(gè)部件。必須同時(shí)具有CPU、存儲器和輸入輸出設(shè)備,才能構(gòu)成一臺計(jì)算機(jī)。1.2.2常用的名詞術(shù)語和二進(jìn)制編碼位、字節(jié)、字及字長位、字節(jié)、字及字長是計(jì)算機(jī)常用的名詞術(shù)語。(1)位(Bit)“位”是指一個(gè)二進(jìn)制位。它是計(jì)算機(jī)中信息存儲的最小單位,一般用b表示。(2)字節(jié)(Byte)“字節(jié)”是指相鄰的8個(gè)二進(jìn)制位。(3)字(Word)和字長“字”是計(jì)算機(jī)內(nèi)部進(jìn)行數(shù)據(jù)傳遞、處理的基本單位。通常它與計(jì)算機(jī)內(nèi)部的寄存器、運(yùn)算裝置、總線寬度相一致。一個(gè)字所包含的二進(jìn)制位數(shù)稱為字長。常見的微型計(jì)算機(jī)的字長有8位、16位、32位和64位。數(shù)字編碼 計(jì)算機(jī)中的數(shù)用二進(jìn)制表示。計(jì)算機(jī)中的十進(jìn)制數(shù)的每一位用若干位二進(jìn)制表示,這就是二進(jìn)制編碼。即十進(jìn)制數(shù)的二進(jìn)制編碼,簡稱二-十進(jìn)制編碼(BCD)。3.字符編碼同樣,字母、數(shù)字、符號等各種字符也必須按照特定的規(guī)則用二進(jìn)制編碼才能在計(jì)算機(jī)中表示。字符編碼的方式很多,世界上最普遍采用的一種字符編碼是ASCII碼(美國信息交換標(biāo)準(zhǔn)碼)。ASCII碼用7位二進(jìn)制編碼,它有128種組合,可以表示128種字符。包括0~9,十個(gè)阿拉伯?dāng)?shù)字字符,大、小寫英文字母(72個(gè)),常用標(biāo)點(diǎn)符號和各種控制字符。 在計(jì)算機(jī)中用一個(gè)字節(jié)表示一個(gè)ASCII碼字符,即在7位ASCII前最高位置為0。例如,00110000~00111001(即30H~39H)是數(shù)字0~9的ASCII碼,而01000001~01011010(即41H~5AH)是大寫英文字母A~Z的ASCII碼。詳見ASCII字符表。4.漢字編碼用計(jì)算機(jī)處理漢字,每個(gè)漢字必須用代碼表示。鍵盤輸入漢字是輸入漢字的外部碼。外部碼必須轉(zhuǎn)換為內(nèi)部碼才能在計(jì)算機(jī)內(nèi)進(jìn)行存儲和處理。為了將漢字以點(diǎn)陣的形式輸出,還要將內(nèi)部碼轉(zhuǎn)換為字形碼。不同的漢字處理系統(tǒng)之間交換信息采用交換碼。(1)外部碼 漢字主要是從鍵盤輸入,每個(gè)漢字對應(yīng)一個(gè)外部碼,外部碼是計(jì)算機(jī)輸入漢字的代碼,是代表某一個(gè)漢字的一組鍵盤符號。外部碼也叫輸入碼。漢字的輸入方法不同,同一個(gè)漢字的外部碼可能不一樣。(2)內(nèi)部碼 漢字內(nèi)部碼也稱漢字內(nèi)碼或漢字機(jī)內(nèi)碼。在不同的漢字輸入方案中,同一漢字的外部碼不同,但同一漢字的內(nèi)部碼是惟一的。內(nèi)部碼通常是用其在漢字字庫中的物理位置表示,可以用漢字在漢字字庫中的序號或者用漢字在漢字字庫中的存儲位置表示。漢字在計(jì)算機(jī)中至少要用兩個(gè)字節(jié)表示(有用三字節(jié)、四字節(jié)表示的),在微型計(jì)算機(jī)中常用的是兩字節(jié)漢字內(nèi)碼。(3)交換碼 計(jì)算機(jī)之間或計(jì)算機(jī)與終端之間交換信息時(shí),要求其間傳送的漢字代碼信息要完全一致。為此,國家根據(jù)漢字的常用程度定出了一級和二級漢字字符集,并規(guī)定了編碼,這就是國標(biāo)GB2312-80《信息交換用漢字編碼字符集基本集》,GB231280中漢字的編碼即國標(biāo)碼。該標(biāo)準(zhǔn)編碼字符集共收錄漢字和圖形符號7445個(gè)。(4)輸出碼 漢字輸出碼又稱漢字字形碼或漢字發(fā)生器的編碼。眾所周知,漢字無論字形有多少變化,也無論筆劃有多有少,都可以寫在一個(gè)方塊中;一個(gè)方塊可以看作m行n列的矩陣,稱為點(diǎn)陣。一個(gè)m行n列的點(diǎn)陣共有m×n個(gè)點(diǎn)。例如16×16點(diǎn)陣的漢字,共有256個(gè)點(diǎn)。每個(gè)點(diǎn)可以是黑點(diǎn)或者非黑點(diǎn),凡是筆劃經(jīng)過的點(diǎn)用黑點(diǎn),于是利用點(diǎn)陣描繪出了漢字字形,漢字的點(diǎn)陣字形在計(jì)算機(jī)中稱為字模。如圖1-8表示漢字“中”的16×16點(diǎn)陣字模。1.2.3指令、程序和指令系統(tǒng)計(jì)算機(jī)的幾個(gè)主要部件構(gòu)成了計(jì)算機(jī)的硬件的基礎(chǔ)。但是,光有硬件,還只是具有了計(jì)算的可能。計(jì)算機(jī)要真正能夠進(jìn)行計(jì)算還必須要有軟件的配合,首先是各種程序(Program)。計(jì)算機(jī)所以能脫離人的直接干預(yù),自動地進(jìn)行計(jì)算,這是由于人把實(shí)現(xiàn)計(jì)算的一步步操作用命令的形式——即一條條指令(Instruction)預(yù)先輸入到存儲器中,在執(zhí)行時(shí),機(jī)器把這些指令一條條地取出來,加以翻譯和執(zhí)行。計(jì)算機(jī)的運(yùn)算是通過取數(shù)、送數(shù)、相加、存數(shù)等操作實(shí)現(xiàn)的。把要求計(jì)算機(jī)執(zhí)行的各種操作用命令的形式寫下來,這就是指令。通常一條指令對應(yīng)著一種基本操作。一臺計(jì)算機(jī)能執(zhí)行什么樣的操作,能做多少種操作,是由設(shè)計(jì)計(jì)算機(jī)時(shí)所規(guī)定的指令系統(tǒng)決定的。一條指令,對應(yīng)著一種基本操作;計(jì)算機(jī)所能執(zhí)行的全部指令,就是計(jì)算機(jī)的指令系統(tǒng)(InstructionSet),這是計(jì)算機(jī)所固有的。在使用計(jì)算機(jī)時(shí),必須把要解決的問題編成一條條指令,這些指令的集合就稱為程序。用戶為解決自己的問題所編制的程序,稱為源程序(SourceProgram)。指令通常分成操作碼(Opcode即operationcode)和操作數(shù)(Operand)兩大部分。操作碼表示計(jì)算機(jī)執(zhí)行什么操作;操作數(shù)指明參加操作的數(shù)的本身或操作數(shù)所在的地址。因?yàn)橛?jì)算機(jī)只認(rèn)得二進(jìn)制數(shù)碼,所以計(jì)算機(jī)的指令系統(tǒng)中的所有指令,都必須以二進(jìn)制編碼的形式來表示。計(jì)算機(jī)發(fā)展初期,就是用指令的機(jī)器碼直接來編制用戶的源程序,這就是機(jī)器語言階段。但是機(jī)器碼是由一連串的0和1組成的,沒有明顯的特征,不好記憶,不易理解,易出錯(cuò)。所以,編寫程序成為一種十分困難而且十分繁瑣的工作。因而,逐漸進(jìn)入了匯編語言階段。用戶用匯編語言(操作碼用助記符代替,操作數(shù)也用一些符號來表示)編寫源程序。1.2.4初級計(jì)算機(jī)為簡化,先用模型機(jī)分析計(jì)算機(jī)內(nèi)部結(jié)構(gòu)。圖1-9是微型計(jì)算機(jī)的結(jié)構(gòu)圖,它是由微處理器(CPU)、存儲器、接口電路組成,通過三條總線(BUS)——地址總線(AddressBus),控制總線(ControlBus)和雙向數(shù)據(jù)總線(DataBus)來連接。CPU的結(jié)構(gòu) 模型機(jī)的CPU結(jié)構(gòu),如圖1-10所示。算術(shù)邏輯單元ALU(ArithmeticLogicUnit)是執(zhí)行算術(shù)和邏輯運(yùn)算的裝置,它以累加器AL(Accumulator)的內(nèi)容作為一個(gè)操作數(shù);另一個(gè)操作數(shù)由內(nèi)部數(shù)據(jù)總線供給,可以是寄存器(Register)BL中的內(nèi)容,也可以是由數(shù)據(jù)寄存器DR(DataRegister)供給的由內(nèi)存讀出的內(nèi)容等;操作的結(jié)果通常放在累加器AL中。F(Flag)是標(biāo)志寄存器,由一些標(biāo)志位組成。PC程序計(jì)數(shù)器,提供要執(zhí)行的指令的地址。AR(AddressRegister)是地址寄存器,由它把要尋址的單元的地址(可以是指令——則地址由PC提供;也可以是數(shù)據(jù)——則地址要由指令中的操作數(shù)部分給定)通過地址總線,送至存儲器。從存儲器中取出的指令,由數(shù)據(jù)寄存器送至指令寄存器IR(InstructionRegister),經(jīng)過指令譯碼器ID(InstructionDecoder)譯碼,通過控制電路,發(fā)出執(zhí)行一條指令所需要的各種控制信息。存儲器 存儲器的結(jié)構(gòu)如圖1-11所示。它由256個(gè)存儲單元組成,為了能區(qū)分不同的存儲單元,對這些存儲單元分別編了號,用兩位十六進(jìn)制數(shù)表示,這就是它們的地址如00H、01H、02H、…、FFH等;而每一個(gè)存儲單元可以存放8位二進(jìn)制信息(通常也用兩位十六進(jìn)制數(shù)表示),就是它們的內(nèi)容。存儲器中的不同存儲單元,是由地址總線上送來的地址(8位二進(jìn)制數(shù)),經(jīng)過存儲器中的地址譯碼器來尋找的(每給定一個(gè)地址號,可從256個(gè)存儲單元中找到相應(yīng)于這個(gè)地址號的某一存儲單元),然后就可以對這個(gè)存儲單元的內(nèi)容進(jìn)行讀或?qū)懙牟僮鳌?1)讀操作若已知在04號存儲單元中,存的內(nèi)容為10000100即84H,若要把它讀出至數(shù)據(jù)總線上,則要求CPU的地址寄存器先給出地址號04,然后通過地址總線送至存儲器,存儲器中的地址譯碼器對它進(jìn)行譯碼,找到04號存儲單元;再要求CPU發(fā)出讀的控制命令,于是04號存儲單元的內(nèi)容84H就出現(xiàn)在數(shù)據(jù)總線上,由它送至數(shù)據(jù)寄存器DR,如圖1-12所示。(2)寫操作若要把數(shù)據(jù)寄存器中的內(nèi)容26H寫入到10號存儲單元,則要求CPU的AR地址寄存器先給出地址10,通過地址總線(AB)送至存儲器,經(jīng)譯碼后找到10號存儲單元;然后把DR數(shù)據(jù)寄存器中的內(nèi)容26H經(jīng)數(shù)據(jù)總線(DB)送給存儲器;且CPU發(fā)出寫的控制命令,于是數(shù)據(jù)總線上的信息26H就可以寫入到10號存儲單元中,如圖1-13所示。信息寫入后,在沒有新的信息寫入以前,該信息是一直保留的,而且我們的存儲器的讀出是非破壞性的,即信息讀出后存儲單元的內(nèi)容不變。執(zhí)行過程若程序已經(jīng)存放在內(nèi)存中,大部分8位機(jī)執(zhí)行過程就是取指(取出指令)和執(zhí)行(執(zhí)行指令)這兩個(gè)階段的循環(huán)。機(jī)器從停機(jī)狀態(tài)進(jìn)入運(yùn)行狀態(tài),要把第一條指令所在的地址賦給PC,然后就進(jìn)入取指階段。在取指階段從內(nèi)存中讀出的內(nèi)容必為指令,所以DR把它送至IR,然后由指令譯碼器譯碼,就知道此指令要執(zhí)行什么操作,在取指階段結(jié)束后就進(jìn)入執(zhí)行階段。當(dāng)一條指令執(zhí)行完以后,就進(jìn)入到了下一條指令的取指階段,這樣的循環(huán)一直進(jìn)行到程序結(jié)束(遇到停機(jī)指令)。1.2.5簡單程序舉例1.2.6尋址方式在上例中,操作數(shù)就包含在指令中,但是更一般的情況是操作數(shù)在存儲器中的某一單元,例如操作數(shù)是前面操作的中間結(jié)果。上例中的和是放在累加器中,但若還要進(jìn)行別的運(yùn)算,則必須把和放到存儲器中暫時(shí)存放。于是就存在一個(gè)如何尋找操作數(shù)的問題,這就是尋址方式。立即尋址(ImmediateAddressing)

上例中的操作數(shù)就包含在指令中,這種規(guī)定操作數(shù)的方式,稱為立即尋址。指令中的操作數(shù)稱為立即數(shù)。2.寄存器尋址(RegisterAddressing)

若操作數(shù)在某一寄存器中,這種尋址方式就稱為寄存器尋址。

3.直接尋址(DirectAddressing)在這種尋址方式中,指令的操作數(shù)字段不是操作數(shù)本身,而是操作數(shù)所在的地址,它是把地址所指的存儲單元的內(nèi)容送至累加器AL,如圖1-19所示。由于在這種尋址方式中,指令中包含操作數(shù)的直接地址,故稱為直接尋址。4.寄存器間接尋址(RegisterIndirectAddressing)這種尋址方式與寄存器尋址方式不同,它不是把寄存器BL中的內(nèi)容作為操作數(shù)送AL,而是把BL中的內(nèi)容作為操作數(shù)的地址,把此地址所指的內(nèi)存單元的內(nèi)容送AL,如圖1-20所示。在這種尋址方式,操作數(shù)的地址并不直接在指令中,而是在某一個(gè)寄存器中,故稱為間接尋址。1.2.7分支在程序執(zhí)行時(shí),往往會產(chǎn)生許多條件,要按條件執(zhí)行不同的操作。也有許多操作要重復(fù)執(zhí)行。于是程序直線執(zhí)行的情況很少,而是要根據(jù)條件執(zhí)行分支或循環(huán)。這就需要有分支和循環(huán)指令。無條件轉(zhuǎn)移(UnconditionalJump)

無條件轉(zhuǎn)移的指令的格式為:

JMP n

這條指令的功能是把n賦給PC,于是程序就無條件地轉(zhuǎn)移到地址n開始的程序段去。2.條件轉(zhuǎn)移(ConditionalJump)程序中更多的情況是:要根據(jù)上面的指令運(yùn)行的結(jié)果,判斷它是否滿足一定的條件,若滿足則轉(zhuǎn)移,不滿足則順序繼續(xù)執(zhí)行。為確定是否滿足條件,機(jī)器中為此設(shè)立了一些判斷條件的標(biāo)志。主要的標(biāo)志有:Z(Zero)標(biāo)志——零標(biāo)志。若指令的運(yùn)行結(jié)果為零(即8位全為0)則Z=1;否則Z=0。C(Carry)標(biāo)志——進(jìn)位標(biāo)志。若在加法運(yùn)算時(shí)最高位(bit7)向前有進(jìn)位,或在減法運(yùn)算時(shí)最高位向前有借位,則C=1;否則C=0。S(Sign)標(biāo)示——符號標(biāo)志。若運(yùn)算的結(jié)果為負(fù)(bit7=1),則S=1;否則S=0。3.算術(shù)和邏輯運(yùn)算指令邏輯運(yùn)算是指兩個(gè)操作數(shù)按位進(jìn)行指定的邏輯操作。(1)“與”運(yùn)算即凡是與0進(jìn)行邏輯“與”運(yùn)算的位結(jié)果為0,而與1進(jìn)行“與”運(yùn)算的位結(jié)果不變。所以,可用邏輯“與”屏蔽掉一些位(即使一些位為0),保留一些位。(2)“或”運(yùn)算凡是與0進(jìn)行邏輯“或”運(yùn)算的位結(jié)果維持不變,而與1進(jìn)行“或”運(yùn)算的結(jié)果為1。所以,可用邏輯“或”使某些位置“1”。(3)“異或”運(yùn)算兩個(gè)相同的位“異或”的結(jié)果為0,否則為1。故利用對同一個(gè)數(shù)做“異或”運(yùn)算,可對操作數(shù)清0;也可利用”異或”運(yùn)算來檢驗(yàn)兩個(gè)操作數(shù)是否相同。1.3計(jì)算機(jī)的硬件和軟件上述的計(jì)算機(jī)的基本結(jié)構(gòu)構(gòu)成了計(jì)算機(jī)的硬件。但是要計(jì)算機(jī)正確地運(yùn)行以解決各種問題,必須給它編制各種程序。為了運(yùn)行、管理和維修計(jì)算機(jī)所編制的各種程序的總和就稱為軟件。軟件的種類很多,各種軟件發(fā)展的目的都是為了擴(kuò)大計(jì)算機(jī)的功能和方便用戶,使用戶編制解決用戶的各種問題的源程序更為方便、簡單和可靠。1.3.1系統(tǒng)軟件在計(jì)算機(jī)發(fā)展的初期,人們是用機(jī)器指令碼(二進(jìn)制編碼)來編寫程序的,這就稱為機(jī)器語言。用助記符代替操作碼,用符號來代替地址,這就是匯編語言階段。但用匯編語言寫的源程序在機(jī)器中還必須經(jīng)過翻譯,變成用機(jī)器碼表示的程序(稱為目標(biāo)程序——ObjectProgram),機(jī)器才能識別和執(zhí)行。能執(zhí)行這樣的功能的程序就稱為匯編程序(Assembler)。為更便于用戶編寫程序,開發(fā)了各種高級語言。高級語言易于理解、學(xué)習(xí)和掌握;用戶用高級語言編寫程序也就方便多了,大大減少了工作量。但是在計(jì)算機(jī)執(zhí)行時(shí),仍必須把用高級語言編寫的源程序翻譯成用機(jī)器指令表示的目標(biāo)程序才能執(zhí)行,這樣就需要有各種解釋程序(Interpreter)。隨著計(jì)算機(jī)本身的發(fā)展(更快速,容量更大),以及計(jì)算機(jī)應(yīng)用的普及和推廣,計(jì)算機(jī)的操作也就由手工操作方式(用戶直接通過控制臺操作運(yùn)行機(jī)器),過渡到多道程序成批地在計(jì)算機(jī)中自動運(yùn)行方式,于是就出現(xiàn)了控制計(jì)算機(jī)中的所有資源(CPU、存儲器、輸入輸出設(shè)備以及計(jì)算機(jī)中的各種軟件),使多道程序能成批地自動運(yùn)行,并且充分發(fā)揮各種資源的最大效能的操作系統(tǒng)(OperatingSystem)。這些為了使用和管理計(jì)算機(jī)由機(jī)器的設(shè)計(jì)者提供的軟件,統(tǒng)稱為系統(tǒng)軟件。系統(tǒng)軟件包括: (1)各種語言和它們的匯編或解釋、編譯程序; (2)機(jī)器的監(jiān)控管理程序(Monitor)、調(diào)試程序(Debug)、故障檢查和診斷程序; (3)程序庫。為了擴(kuò)大計(jì)算機(jī)的功能,便于用戶使用,機(jī)器中設(shè)置了各種標(biāo)準(zhǔn)子程序,這些子程序的總和就形成了程序庫; (4)操作系統(tǒng)。1.3.2應(yīng)用軟件用戶利用計(jì)算機(jī)以及計(jì)算機(jī)所提供的各種系統(tǒng)軟件,編制解決用戶各種實(shí)際問題的程序,這些程序就稱為應(yīng)用軟件。應(yīng)用軟件也可以逐步標(biāo)準(zhǔn)化、模塊化、逐步形成了解決各種典型問題的應(yīng)用程序的組合,稱為軟件包(Package)。1.3.3支撐軟件支撐軟件又稱支持軟件,如數(shù)據(jù)庫管理系統(tǒng)等。為了便于用戶根據(jù)需要建立自己的數(shù)據(jù)庫,詢問、顯示、修改數(shù)據(jù)庫的內(nèi)容,輸出打印各種表格等,這就建立了數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem)、報(bào)表、字處理等支撐軟件。上述各種形式的程序,它們存儲在各種存儲介質(zhì)中,例如紙帶、卡片、磁盤、磁帶等,故統(tǒng)稱為計(jì)算機(jī)的軟件??傊?,計(jì)算機(jī)的硬件建立了計(jì)算機(jī)應(yīng)用的物質(zhì)基礎(chǔ);而各種軟件則擴(kuò)大了計(jì)算機(jī)的功能,擴(kuò)大了它的應(yīng)用范圍,以及便于用戶使用。硬件與軟件的結(jié)合才形成一個(gè)完整的計(jì)算機(jī)系統(tǒng)。1.4微型計(jì)算機(jī)的結(jié)構(gòu)運(yùn)算器與控制器是系統(tǒng)的核心,稱為CPU。把整個(gè)運(yùn)算器控制器即CPU集成在一個(gè)芯片上的CPU,稱之為微處理器(MicroProcessor)。CPU本身

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論