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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

1.2.1計算機的基本結構

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

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

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

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

無條件轉移的指令的格式為:

JMP n

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

溫馨提示

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

評論

0/150

提交評論