版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
微機(jī)原理及應(yīng)用第1章微型計(jì)算機(jī)概述
了解微型計(jì)算機(jī)的發(fā)展歷史
理解微型計(jì)算機(jī)系統(tǒng)的組成
掌握微型計(jì)算機(jī)的運(yùn)算基礎(chǔ)學(xué)習(xí)目標(biāo):1.1計(jì)算機(jī)的發(fā)展1.1.1計(jì)算機(jī)的誕生1.1.2微處理器的發(fā)展1.1.3計(jì)算機(jī)的工作原理1.1.1計(jì)算機(jī)的誕生1946年2月14日,世界上公認(rèn)的第一臺電子計(jì)算機(jī)ENIAC(ElectronicNumericalIntegratorandComputer,電子數(shù)值積分式計(jì)算機(jī))由美國賓州賓夕法尼亞大學(xué)研制成功。ENIAC占地面積150m2,重達(dá)30
000kg,使用了18000多個(gè)電子管,功率為150kW,運(yùn)算速度為5000次/秒。今天看來,ENIAC體積龐大,運(yùn)行效率不高,且采用十進(jìn)制運(yùn)算,輸入和更換程序十分不便,但它的問世開創(chuàng)了計(jì)算機(jī)科學(xué)技術(shù)的新紀(jì)元。
1947年,貝爾實(shí)驗(yàn)室Shockley博士發(fā)明了被譽(yù)為“20世紀(jì)最偉大發(fā)明”的晶體管。晶體管與電子管相比體積小、功耗低、載流子運(yùn)行速度快,它開辟了電子時(shí)代的新紀(jì)元。
1949年,英國劍橋大學(xué)數(shù)學(xué)實(shí)驗(yàn)室率先制成電子離散時(shí)序自動計(jì)算機(jī)EDSAC(ElectronicDiscreteSequentialAutomaticComputer),EDSAC是世界上第一臺采用馮·諾依曼體系結(jié)構(gòu)的計(jì)算機(jī),威爾克斯作為主創(chuàng)憑此摘取了1967年度計(jì)算機(jī)世界最高獎(jiǎng)——“圖靈獎(jiǎng)”。此后60多年,計(jì)算機(jī)的發(fā)展日新月異,至今已經(jīng)歷了電子管計(jì)算機(jī)、晶體管計(jì)算機(jī)、集成電路計(jì)算機(jī)和(超)大規(guī)模集成電路計(jì)算機(jī)4代的發(fā)展。表1-1簡要地描述了這一發(fā)展過程。
EDVAC(ElectronicDiscretevariableAutomaticComputer,離散變量自動電子計(jì)算機(jī))方案明確奠定了新機(jī)器由五個(gè)部分組成,包括:運(yùn)算器、邏輯控制裝置、存儲器、輸入和輸出設(shè)備,并描述了這五部分的職能和相互關(guān)系。報(bào)告中,馮·諾伊曼對EDVAC中的兩大設(shè)計(jì)思想(二進(jìn)制和程序存儲)作了進(jìn)一步的論證,為計(jì)算機(jī)的設(shè)計(jì)樹立了一座里程碑。電子管晶體管晶體管計(jì)算機(jī)
馮·諾依曼(JohnvonNeumann,1903~1957),20世紀(jì)最重要的數(shù)學(xué)家之一,在現(xiàn)代計(jì)算機(jī)、博弈論、核武器和生化武器等諸多領(lǐng)域內(nèi)有杰出建樹的最偉大的科學(xué)全才之一,被后人稱為“計(jì)算機(jī)之父”和“博弈論之父”。原籍匈牙利,布達(dá)佩斯大學(xué)數(shù)學(xué)博士。先后執(zhí)教于柏林大學(xué)和漢堡大學(xué)。1930年前往美國,后入美國籍。歷任普林斯頓大學(xué)、普林斯頓高級研究所教授,美國原子能委員會會員。美國全國科學(xué)院院士。早期以算子理論、共振論、量子理論、集合論等方面的研究聞名,開創(chuàng)了馮·諾依曼代數(shù)。第二次世界大戰(zhàn)期間為第一顆原子彈的研制作出了貢獻(xiàn)。為研制電子數(shù)字計(jì)算機(jī)提供了基礎(chǔ)性的方案。
1944年與摩根斯特恩(OskarMorgenstern)合著《博弈論與經(jīng)濟(jì)行為》,是博弈論學(xué)科的奠基性著作。晚年,研究自動機(jī)理論,著有對人腦和計(jì)算機(jī)系統(tǒng)進(jìn)行精確分析的著作《計(jì)算機(jī)與人腦》。
艾倫·麥席森·圖靈(AlanMathisonTuring,1912年6月23日-1954年6月7日),英國數(shù)學(xué)家、邏輯學(xué)家,被稱為計(jì)算機(jī)之父,人工智能之父。1931年圖靈進(jìn)入劍橋大學(xué)國王學(xué)院,畢業(yè)后到美國普林斯頓大學(xué)攻讀博士學(xué)位,二戰(zhàn)爆發(fā)后回到劍橋,后曾協(xié)助軍方破解德國的著名密碼系統(tǒng)Enigma,幫助盟軍取得了二戰(zhàn)的勝利。2013年12月24日,在英國司法部長克里斯·格雷靈(ChrisGrayling)的要求下,英國女王向圖靈頒發(fā)了皇家赦免。圖靈對于人工智能的發(fā)展有諸多貢獻(xiàn),提出了一種用于判定機(jī)器是否具有智能的試驗(yàn)方法,即圖靈試驗(yàn),至今,每年都有試驗(yàn)的比賽。此外,圖靈提出的著名的圖靈機(jī)模型為現(xiàn)代計(jì)算機(jī)的邏輯工作方式奠定了基礎(chǔ)。
圖靈測試:如果電腦能在5分鐘內(nèi)回答由人類測試者提出的一系列問題,且其超過30%的回答讓測試者誤認(rèn)為是人類所答,則電腦通過測試。2014年6月7日是計(jì)算機(jī)科學(xué)之父—圖靈(AlanTuring)逝世60周年紀(jì)念日。這一天,在英國皇家學(xué)會舉行的“2014圖靈測試”大會上,聊天程序“尤金·古斯特曼”(EugeneGoostman)首次“通過”了圖靈測試。
圖靈機(jī),又稱圖靈計(jì)算、圖靈計(jì)算機(jī),是由數(shù)學(xué)家阿蘭·麥席森·圖靈(1912~1954)提出的一種抽象計(jì)算模型,即將人們使用紙筆進(jìn)行數(shù)學(xué)運(yùn)算的過程進(jìn)行抽象,由一個(gè)虛擬的機(jī)器替代人們進(jìn)行數(shù)學(xué)運(yùn)算。所謂的圖靈機(jī)就是指一個(gè)抽象的機(jī)器,它有一條無限長的紙帶,紙帶分成了一個(gè)一個(gè)的小方格,每個(gè)方格有不同的顏色。有一個(gè)機(jī)器頭在紙帶上移來移去。機(jī)器頭有一組內(nèi)部狀態(tài),還有一些固定的程序。在每個(gè)時(shí)刻,機(jī)器頭都要從當(dāng)前紙帶上讀入一個(gè)方格信息,然后結(jié)合自己的內(nèi)部狀態(tài)查找程序表,根據(jù)程序輸出信息到紙帶方格上,并轉(zhuǎn)換自己的內(nèi)部狀態(tài),然后進(jìn)行移動。
表1-1計(jì)算機(jī)的發(fā)展歷程計(jì)算機(jī)時(shí)代年份存儲器重要特征第一代電子管時(shí)代1946年~1957年磁鼓存儲器機(jī)器語言第二代晶體管時(shí)代1958年~1963年磁芯存儲器發(fā)展到高級語言第三代集成電路時(shí)代1964年~1970年半導(dǎo)體存儲器發(fā)展到總線結(jié)構(gòu)第四代(超)大規(guī)模集成電路1971年~半導(dǎo)體存儲器發(fā)展到微處理器電子管晶體管超大規(guī)模集成電路集成電路1.1.2
微處理器的發(fā)展微處理器出現(xiàn)于20世紀(jì)70年代,是大規(guī)模集成電路發(fā)展的產(chǎn)物。將計(jì)算機(jī)中的運(yùn)算器和控制器集成在一片硅片上制成的集成電路作為微型計(jì)算機(jī)的中央處理部件(CPU,CentralProcessingUnit),稱為微處理器。微型計(jì)算機(jī)以微處理器為核心,再配上適量內(nèi)存、接口電路和外部設(shè)備組成。1.1.2
微處理器的發(fā)展微處理器的品質(zhì)決定了微型計(jì)算機(jī)的性能,因此微處理器的發(fā)展歷程也是微型計(jì)算機(jī)的發(fā)展歷史。美國Intel公司于1971年成功開發(fā)出全球第一塊微處理器4004芯片,這一芯片最初被應(yīng)用于一種計(jì)算器中。這一創(chuàng)舉也開始了人類將智能內(nèi)嵌于無生命設(shè)備的歷程。近30多年來微處理器本身不斷更新?lián)Q代,從4位發(fā)展到8位、16位、32位乃至64位。其應(yīng)用范圍幾乎滲透到社會的各個(gè)領(lǐng)域。型號推出年份時(shí)鐘頻率處理器位寬地址總線外部數(shù)據(jù)總線晶體管數(shù)40041971108kHz4
0.23萬萬808019742MHz81680.5萬萬808519763MHz81680.6萬萬808619788MHz1620162.9萬萬808819798MHz162082.9萬萬8018619828MHz1620165.6萬萬80286198212.5MHz16241613.4萬萬803861985≥20MHz32323227.5萬萬804861989≥25MHz323232120萬萬Pentium1993.03≥60MHz323264310萬萬PentiumPro1995.11≥200MHz323664550萬萬PentiumMMX1997.01≥166MHz323664450萬萬Pentium21997.05≥266MHz323664750萬萬Pentium31999.01≥500MHz323664950萬萬Pentium42000.11≥1.3GHz3236643400萬萬PentiumM二代二代2004.10≥1GHz3236641.4億億PentiumD雙核雙核2005.043.2GHz3236642.3億億Core2雙核雙核2006.071.66~2.93GHz6436642.91億億
四核2008.112.66~3.2GHz6436647.31億億表1-2Intel歷代微處理器的典型產(chǎn)品1.1.2
微處理器的發(fā)展
正如著名的摩爾定律所預(yù)言:每過18個(gè)月,微處理器的集成度將翻一番,性能會提高一倍或價(jià)格降低一半。隨著互聯(lián)網(wǎng)和媒體技術(shù)的迅猛發(fā)展,網(wǎng)絡(luò)服務(wù)和移動計(jì)算逐漸成為一種非常重要的計(jì)算模式,這一新的計(jì)算模式迫切要求微處理器具有響應(yīng)實(shí)時(shí)性、處理流式數(shù)據(jù)類型的能力,支持?jǐn)?shù)據(jù)級和線程級并行性,更高的存儲和I/O帶寬,低功耗,設(shè)計(jì)的可伸縮性及縮短芯片進(jìn)入和退出市場的周期等。目前,片內(nèi)多處理器及多線程技術(shù)正在成為處理器體系結(jié)構(gòu)設(shè)計(jì)的熱點(diǎn)。
1.1.3計(jì)算機(jī)的工作原理1946年6月,馮·諾依曼等人在《電子計(jì)算機(jī)裝置邏輯初探》的報(bào)告中,首次提出了“程序存儲”和“二進(jìn)制運(yùn)算”的概念,這個(gè)報(bào)告的內(nèi)容可簡要概括為以下幾點(diǎn):(1)計(jì)算機(jī)由運(yùn)算器、控制器、存儲器、輸入和輸出設(shè)備五大部分組成。(2)數(shù)據(jù)和指令以二進(jìn)制代碼形式不加區(qū)別地存放在存儲器中,地址碼也是二進(jìn)制形式,計(jì)算機(jī)能自動區(qū)分指令和數(shù)據(jù)。(3)編寫好的程序事先存入存儲器??刂破鞲鶕?jù)存放在存儲器中的指令序列(即程序)來工作,由程序計(jì)數(shù)器(PC,ProgramCounter)控制指令的執(zhí)行順序??刂破骶哂信袛嗄芰Γ芨鶕?jù)計(jì)算結(jié)果選擇不同的動作流程。1.1.3計(jì)算機(jī)的工作原理
目前,計(jì)算機(jī)硬件體系結(jié)構(gòu)基本上還是經(jīng)典的馮·諾依曼結(jié)構(gòu),如圖1-1所示。
指令執(zhí)行流程圖圖1-1計(jì)算機(jī)硬件基本結(jié)構(gòu)1.1.3計(jì)算機(jī)的工作原理馮·諾依曼計(jì)算機(jī)工作原理:把程序輸入到計(jì)算機(jī)存儲器中,然后執(zhí)行程序,由控制器向內(nèi)存儲器發(fā)出取指令命令;控制器對取出的指令進(jìn)行譯碼,并根據(jù)指令的操作要求,向存儲器和運(yùn)算器發(fā)出存、取命令和運(yùn)算命令;經(jīng)過運(yùn)算器運(yùn)算后,運(yùn)算結(jié)果保存到存儲器中;最后,在控制器發(fā)出取指令及輸出指令的作用下,將存儲器中的運(yùn)算結(jié)果輸出到輸出設(shè)備。
輸出結(jié)果信息
運(yùn)算器
控制器
存儲器
輸入設(shè)備
輸出設(shè)備
原始數(shù)據(jù)或程序
表示數(shù)據(jù)流
表示控制流
輸出結(jié)果信息表示數(shù)據(jù)流表示控制流原始數(shù)據(jù)或程序1.2微型計(jì)算機(jī)系統(tǒng)1.2.1系統(tǒng)組成與結(jié)構(gòu)1.2.2微型計(jì)算機(jī)分類1.2.3微型計(jì)算機(jī)的性能指標(biāo)1.2.1系統(tǒng)組成與結(jié)構(gòu)
微型計(jì)算機(jī)系統(tǒng)(MicroComputerSystem)是以微型計(jì)算機(jī)為主體,再配以相應(yīng)的外圍設(shè)備、電源、輔助電路和控制微型計(jì)算機(jī)工作的軟件而構(gòu)成的完整計(jì)算機(jī)系統(tǒng)。微型計(jì)算機(jī)系統(tǒng)可分為硬件和軟件兩大部分,硬件是基礎(chǔ),軟件是靈魂,二者缺一不可。硬件和軟件分別由多個(gè)部分組成,自成系統(tǒng),也常稱為硬件系統(tǒng)和軟件系統(tǒng)。微型計(jì)算機(jī)系統(tǒng)組成如圖1-2所示。
圖1-2
微型計(jì)算機(jī)系統(tǒng)組成1.2.1系統(tǒng)組成與結(jié)構(gòu)1.硬件系統(tǒng)組成微型計(jì)算機(jī)硬件系統(tǒng)是機(jī)器的實(shí)體部分,由運(yùn)算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備五大部分組成。其中運(yùn)算器和控制器常常集成在一起,稱為微處理器,即CPU。
1)微處理器微處理器是微型計(jì)算機(jī)的核心芯片,它主要包括運(yùn)算器、控制器及相關(guān)寄存器等。
2)存儲器存儲器用來存放數(shù)據(jù)和程序。按照在系統(tǒng)中的位置,存儲器一般分為內(nèi)存儲器和外存儲器兩類。內(nèi)存儲器又稱為內(nèi)存或主存,CPU可以直接訪問。外存儲器屬于外設(shè)的范疇。
1.2.1系統(tǒng)組成與結(jié)構(gòu)3)輸入/輸出(I/O)設(shè)備和輸入/輸出接口(I/OInterface)
I/O設(shè)備是微型機(jī)系統(tǒng)的重要組成部分。程序、數(shù)據(jù)及現(xiàn)場信息要通過輸入設(shè)備輸入給微型機(jī)。CPU的計(jì)算結(jié)果通過輸出設(shè)備輸出到外部。常用的輸入設(shè)備有鍵盤、鼠標(biāo)、掃描儀等。常用的輸出設(shè)備有顯示器、打印機(jī)、繪圖儀等。由于各種外設(shè)的工作速度、驅(qū)動方法差別很大,無法與CPU直接匹配,所以不可能將它們簡單地連接到系統(tǒng)總線上,而需要通過I/O接口電路來充當(dāng)外設(shè)與CPU之間的橋梁,來輔助CPU工作,實(shí)現(xiàn)CPU與外設(shè)之間的速度匹配、信號電平匹配、信號格式匹配、時(shí)序控制、中斷控制等。1.2.1系統(tǒng)組成與結(jié)構(gòu)2.體系結(jié)構(gòu)硬件系統(tǒng)的五大部分加上電源,通過系統(tǒng)總線有機(jī)地連在一起。系統(tǒng)總線是各個(gè)部件之間傳輸信息的公共通道。一般有三組總線:地址總線、數(shù)據(jù)總線和控制總線。典型的微機(jī)系統(tǒng)總線結(jié)構(gòu)如圖1-3所示。圖1-3典型的微機(jī)系統(tǒng)總線結(jié)構(gòu)1.2.1系統(tǒng)組成與結(jié)構(gòu)
3.軟件系統(tǒng)組成軟件系統(tǒng)主要分為系統(tǒng)軟件和應(yīng)用軟件。系統(tǒng)軟件是由設(shè)計(jì)者提供給用戶的、充分發(fā)揮計(jì)算機(jī)效能的一系列軟件。系統(tǒng)軟件包括操作系統(tǒng)、語言處理程序和各種支持軟件。操作系統(tǒng)是系統(tǒng)軟件的核心,它的主要功能是對系統(tǒng)的軟硬件資源進(jìn)行合理的管理。程序設(shè)計(jì)語言是用來編寫程序的語言,是人和計(jì)算機(jī)交換信息所用的工具,通常分為機(jī)器語言、匯編語言和高級語言三類。1.2.2
微型計(jì)算機(jī)分類
1.按字長分類微型計(jì)算機(jī)按字長可分為4位機(jī)、8位機(jī)、16位機(jī)、32位機(jī)和64位機(jī)。
2.按組裝結(jié)構(gòu)分類微型計(jì)算機(jī)按組裝結(jié)構(gòu)可分為單片機(jī)、單板機(jī)和多板機(jī)。
3.按用途分類微型計(jì)算機(jī)按用途可分為通用計(jì)算機(jī)和嵌入式計(jì)算機(jī)。1.2.3
微型計(jì)算機(jī)的性能指標(biāo)
一臺微型計(jì)算機(jī)的性能如何,是由它的系統(tǒng)結(jié)構(gòu)、指令系統(tǒng)、硬件設(shè)備組成和軟件配置情況等因素決定的。以下是評價(jià)微型計(jì)算機(jī)性能的主要指標(biāo)。1.字長2.運(yùn)算速度3.存儲容量4.指令系統(tǒng)5.內(nèi)核數(shù)目6.高速緩存7.總線性能8.系統(tǒng)配置1.2.3
微型計(jì)算機(jī)的性能指標(biāo)
微型計(jì)算機(jī)系統(tǒng)的啟動過程ROMBIOS硬盤RAM②執(zhí)行自舉程序⑥執(zhí)行引導(dǎo)程序序讀出引導(dǎo)程④CPU①執(zhí)行加電自檢程序⑤裝入引導(dǎo)程序⑦裝入操作系統(tǒng)CMOS?從何處啟動③⑧運(yùn)行操作系統(tǒng)顯示初始界面1.3微型計(jì)算機(jī)的運(yùn)算基礎(chǔ)1.3.1無符號數(shù)的表示方法1.3.2數(shù)制的轉(zhuǎn)換與運(yùn)算1.3.3符號數(shù)的表示及運(yùn)算1.3.4計(jì)算機(jī)中的定點(diǎn)數(shù)和浮點(diǎn)數(shù)二進(jìn)制與八卦圖返回1.3.1無符號數(shù)的表示方法
用一組符號表示數(shù)據(jù)時(shí),其代表的數(shù)值大小與符號所在的位置有關(guān),這種表示數(shù)的方法稱為位置計(jì)數(shù)表示法。按進(jìn)位的原則進(jìn)行計(jì)數(shù),稱為進(jìn)位計(jì)數(shù)制。每一種進(jìn)位計(jì)數(shù)制都有自身的數(shù)碼個(gè)數(shù),如十進(jìn)制有10個(gè)數(shù)碼,二進(jìn)制有2個(gè)數(shù)碼,而十六進(jìn)制就有16個(gè)數(shù)碼。
1.3.1無符號數(shù)的表示方法1.十進(jìn)制數(shù)的表示法十進(jìn)制數(shù)有0,1,2,…,9共10個(gè)數(shù)碼。后綴為D或不加后綴。計(jì)數(shù)時(shí),數(shù)碼在不同的位置,代表不同的數(shù)值大小。低位對高位的進(jìn)位是“逢十進(jìn)一”。
2.二進(jìn)制數(shù)的表示法二進(jìn)制數(shù)只有2個(gè)數(shù)碼0和1。后綴為B。計(jì)數(shù)時(shí),是按“逢二進(jìn)一”的原則計(jì)算的。
3.十六進(jìn)制數(shù)的表示法十六進(jìn)制數(shù)需要用16個(gè)數(shù)碼符號表示,采用0~9和A~F。后綴為H。計(jì)數(shù)時(shí),是按“逢十六進(jìn)一”的原則計(jì)算的。1.3.2數(shù)制的轉(zhuǎn)換與運(yùn)算【例1.1】十進(jìn)制數(shù)3890.568可以表示為
【例1.2】二進(jìn)制數(shù)1101.101B可以表示為:【例1.3】十六進(jìn)制數(shù)12AB.2C5H可以表示為:【例1.4】13D=1101B1.3.2數(shù)制的轉(zhuǎn)換與運(yùn)算【例1.5】0.6875D=0.1011B0.6875D×2=1.375 …… B-1=10.375D×2=0.75 …… B-2=00.75D×2=1.5 ……B-3=10.5D×2=1.0 …… B-4=11.3.3符號數(shù)的表示及運(yùn)算
機(jī)器數(shù)可以用不同的碼制來表示,常用的有原碼、反碼、補(bǔ)碼表示法。
1)原碼在用二進(jìn)制原碼表示的數(shù)中,符號位為“0”表示正數(shù),符號位為“1”表示負(fù)數(shù),其他各數(shù)值取原值不變。2)反碼對于正數(shù),反碼的表示與原碼相同,即[X]原=[X]反。對于負(fù)數(shù),負(fù)數(shù)的反碼表示,除符號位仍為“1”外,其余各位數(shù)值位按位取反。3)補(bǔ)碼正數(shù)的補(bǔ)碼與它的原碼和反碼均相同。
負(fù)數(shù)的補(bǔ)碼:[X]補(bǔ)=[X]反+1。1.3.3符號數(shù)的表示及運(yùn)算
表1-5原碼、反碼、補(bǔ)碼表
二進(jìn)制數(shù)無符號數(shù)有符號數(shù)原碼補(bǔ)碼反碼000000000+00+0000000011+1+1+1000000102+2+2+2……………01111110126+126+126+12601111111127+127+127+12710000000128-0-128-12710000001129-1-127-126……………11111101253-125-3-211111110254-126-2-111111111255-127-1-01.3.4計(jì)算機(jī)中的定點(diǎn)數(shù)和浮點(diǎn)數(shù)
對于任意一個(gè)二進(jìn)制數(shù),都可以表示為式中,J稱為數(shù)N的階;S稱為數(shù)N的尾數(shù)。尾數(shù)S表示數(shù)N的全部有效數(shù)字,階J表示出小數(shù)點(diǎn)的位置。
1.?dāng)?shù)的定點(diǎn)表示法常用的定點(diǎn)數(shù)有兩種:定點(diǎn)純整數(shù)和定點(diǎn)純小數(shù)。
1)定點(diǎn)純整數(shù)
J=0,且小數(shù)點(diǎn)固定在尾數(shù)之后,表示定點(diǎn)純整數(shù)。
2)定點(diǎn)純小數(shù)
J=0,且小數(shù)點(diǎn)固定在尾數(shù)之前,表示定點(diǎn)純小數(shù)。1.3.4計(jì)算機(jī)中的定點(diǎn)數(shù)和浮點(diǎn)數(shù)2.?dāng)?shù)的浮點(diǎn)表示法浮點(diǎn)數(shù)在計(jì)算機(jī)中表示為:【例1.6】將N=5.5表示成字長為8的浮點(diǎn)數(shù),要求階碼為2位,尾數(shù)為4位,階符及數(shù)符各為一位,階碼與尾數(shù)均用原碼表示。二進(jìn)制浮點(diǎn)數(shù)表示形式為:它在計(jì)算機(jī)中的表示形式為:1.3.5計(jì)算機(jī)中的編碼1.BCD碼一個(gè)十進(jìn)制數(shù)用4位二進(jìn)制編碼表示,這種二進(jìn)制編碼的十進(jìn)制數(shù)稱為BCD(Binary–codedDecimal)碼。4位二進(jìn)制編碼有16種組合,舍去6種組合,保留10種組合作為代碼,分別表示十進(jìn)制數(shù)中的0~9這10個(gè)數(shù)字。2.ASCII碼在計(jì)算機(jī)中,除了數(shù)字外,還需要處理各種字符,如字母、運(yùn)算符號、標(biāo)點(diǎn)符號等,這些字符在計(jì)算機(jī)中也采用二進(jìn)制數(shù)來編碼,最常用的編碼是ASCII(AmericanStandardCodeforInformationInterchange)碼,即美國標(biāo)準(zhǔn)信息交換代碼。思考與練習(xí)1-1馮·諾依曼計(jì)算機(jī)的結(jié)構(gòu)特點(diǎn)是什么?1-2典型微機(jī)有哪三大總線?它們傳送的是什么信息?1-3什么叫微處理器?什么叫微型計(jì)算機(jī)?什么叫微型計(jì)算機(jī)系統(tǒng)?三種有什么區(qū)別和聯(lián)系?1-4評價(jià)微型計(jì)算機(jī)性能的主要指標(biāo)有哪些?試舉例說明目前主流微型計(jì)算機(jī)機(jī)型的性能參數(shù)。1-6已知[X]補(bǔ)=01010101B,求X的真值。1-7已知[X]補(bǔ)=11010101B,求X的真值。微機(jī)原理及應(yīng)用第2章80x86微處理器及其系統(tǒng)
掌握8086微處理器的編程結(jié)構(gòu)
了解高性能微處理器80386工作原理理解8086微處理器存儲器分段技術(shù)學(xué)習(xí)目標(biāo):2.18086微處理器返回2.1.18086微處理器的邏輯結(jié)構(gòu)2.1.28086/8088的內(nèi)部寄存器2.1.38086/8088的引腳信號2.1.48086/8088的工作方式2.1.18086微處理器的邏輯結(jié)構(gòu)返回8086/8088CPU屬于高性能16位微處理器,它們是Intel公司繼8080之后于1978年推出的一款CPU,其采用了HMOS工藝制造,芯片上集成了2.9萬只晶體管,該處理器地址引腳為20位,尋址空間為1MB。8086數(shù)據(jù)線引腳為16位,而8088為8位。
要掌握一個(gè)CPU的工作性能和使用方法,首先應(yīng)該了解它的邏輯結(jié)構(gòu)。所謂邏輯結(jié)構(gòu)就是指從程序員和使用者的角度看到的內(nèi)部結(jié)構(gòu),這種結(jié)構(gòu)與CPU內(nèi)部的物理結(jié)構(gòu)和實(shí)際布局是有區(qū)別的。按功能劃分,8086CPU由總線接口部件(BIU,BusInterfaceUnit)和執(zhí)行部件(EU,ExecutionUnit)兩部分組成。2.1.18086微處理器的邏輯結(jié)構(gòu)返回圖2-18086的邏輯結(jié)構(gòu)80386的內(nèi)部結(jié)構(gòu)圖2-880386的邏輯結(jié)構(gòu)2.1.18086微處理器的邏輯結(jié)構(gòu)返回1.總線接口部件
總線接口部件的功能是根據(jù)執(zhí)行部件的請求,負(fù)責(zé)完成CPU與存儲器、I/O設(shè)備之間的數(shù)據(jù)傳送。具體任務(wù)如下。①BIU負(fù)責(zé)從存儲器的指定單元取出指令送至指令隊(duì)列中排隊(duì),或直接送至EU執(zhí)行。②負(fù)責(zé)從存儲器指定單元或外設(shè)端口中取出指令規(guī)定的操作數(shù)傳送給執(zhí)行單元或者將執(zhí)行單元的操作結(jié)果傳送到指定的存儲單元或外設(shè)端口中。③計(jì)算并形成訪問存儲器的20位物理地址。2.1.18086微處理器的邏輯結(jié)構(gòu)返回
總線接口部件(BIU)內(nèi)部設(shè)有四個(gè)段寄存器(代碼段寄存器CS、數(shù)據(jù)段寄存器DS、堆棧段寄存器SS和附加段寄存器ES)、20位地址加法器、一個(gè)指令隊(duì)列緩沖器、一個(gè)16位的指令指針寄存器IP和總線控制電路。
(1)段寄存器和地址加法器。
地址加法器和段寄存器實(shí)現(xiàn)存儲器邏輯地址到20位物理地址的轉(zhuǎn)換。邏輯地址由16位段基址(段寄存器給出)與16位段內(nèi)偏移地址(指令給出)兩部分組成。轉(zhuǎn)換方法為段基址左移4位加上偏移地址,形成20位物理地址。2.1.18086微處理器的邏輯結(jié)構(gòu)返回
(2)指令隊(duì)列緩沖器。8086的指令隊(duì)列為6字節(jié)(8088為4字節(jié)),當(dāng)執(zhí)行部件(EU)正在執(zhí)行指令且不需要占用總線時(shí),總線接口部件(BIU)會自動預(yù)取下一條或幾條指令操作,將所取得的指令按先后順序存入指令隊(duì)列緩沖器中排隊(duì),然后再由執(zhí)行部件(EU)按順序執(zhí)行。
(3)指令指針寄存器IP。
指令指針寄存器IP(InstructionPoint)總是存放EU要執(zhí)行的下一條指令的偏移地址。該寄存器不提供給用戶使用。
(4)總線控制電路與內(nèi)部暫存寄存器。返回圖2-18086的邏輯結(jié)構(gòu)2.1.18086微處理器的邏輯結(jié)構(gòu)返回2.執(zhí)行部件
執(zhí)行部件的功能是從總線接口單元的指令隊(duì)列中取出指令代碼并執(zhí)行。具體過程如下:
(1)從BIU的指令隊(duì)列中取出指令,由控制器單元內(nèi)部的指令譯碼器進(jìn)行譯碼,同時(shí)將譯碼信息發(fā)給各部件并發(fā)出相應(yīng)的控制信號。
(2)對操作數(shù)進(jìn)行算術(shù)或邏輯運(yùn)算,并將運(yùn)算結(jié)果的特征狀態(tài)保存到標(biāo)志寄存器中。
(3)控制BIU與存儲器或I/O端口進(jìn)行數(shù)據(jù)變換,并提供訪問存儲器和I/O端口的有效地址。2.1.18086微處理器的邏輯結(jié)構(gòu)返回EU各組成部分的功能如下:
(1)算術(shù)邏輯單元ALU。ALU可用于進(jìn)行算術(shù)邏輯運(yùn)算,也可按照指令的尋址方式算出尋址單元16位偏移量。
(2)標(biāo)志寄存器FLAGS。它用來反映CPU最后一次運(yùn)算結(jié)果的狀態(tài)特征或存放控制標(biāo)志。
(3)數(shù)據(jù)暫存寄存器。它協(xié)助ALU完成運(yùn)算,暫時(shí)存放參加運(yùn)算的數(shù)據(jù)。
(4)通用寄存器組。它包括4個(gè)16位寄存器(AX、BX、CX、DX)、兩個(gè)16位地址指針(SP、BP)、兩個(gè)變址寄存器(SI、DI)。
(5)EU控制電路。它是控制定時(shí)與狀態(tài)的邏輯電路,接收從BIU中的指令隊(duì)列取來的指令,經(jīng)過指令譯碼形成各種定時(shí)控制信號,對EU各部件實(shí)現(xiàn)特定的定時(shí)操作。2.1.18086微處理器的邏輯結(jié)構(gòu)返回CPU(BIU與EU)的工作過程如下:
首先,EU向BIU提出總線申請,BIU響應(yīng)請求,將第一條指令經(jīng)指令隊(duì)列緩沖器后直接送至EU執(zhí)行,EU將該指令譯碼,發(fā)出相應(yīng)的控制信息。數(shù)據(jù)在ALU中進(jìn)行運(yùn)算,運(yùn)算結(jié)果保留在標(biāo)志寄存器FLAGS中,當(dāng)EU從指令隊(duì)列中取走指令,指令隊(duì)列中出現(xiàn)空字節(jié)時(shí),BIU即從內(nèi)存中取出后續(xù)的指令代碼放入隊(duì)列中;當(dāng)EU需要數(shù)據(jù)時(shí),BIU根據(jù)EU給出的地址,從指定的內(nèi)存單元或外設(shè)中取數(shù)據(jù)供EU使用;當(dāng)運(yùn)算結(jié)束時(shí),BIU將運(yùn)算結(jié)果送入指定的內(nèi)存單元或外設(shè)。當(dāng)隊(duì)列空時(shí),EU就等待,直到有指令為止。若BIU正在取指令,EU發(fā)出訪問總線請求時(shí),則必須等BIU取指令完畢后請求才能得到響應(yīng),一般情況下,程序順序進(jìn)行,當(dāng)遇到跳轉(zhuǎn)指令時(shí),BIU使指令隊(duì)列復(fù)位,從新地址取出指令,并立即傳給EU去執(zhí)行。2.1.28086/8088的內(nèi)部寄存器返回8086/8088內(nèi)部有14個(gè)16位寄存器。按功能可分為三類:第一類是通用寄存器(8個(gè)),第二類是段寄存器(4個(gè)),第三類是控制寄存器(2個(gè))。
1.通用寄存器
1)數(shù)據(jù)寄存器
數(shù)據(jù)寄存器包括AX、BX、CX和DX4個(gè)16位的寄存器,它們中的每一個(gè)又可根據(jù)需要將高8位和低8位當(dāng)作兩個(gè)獨(dú)立的8位寄存器使用。16位寄存器主要用于存放CPU的常用數(shù)據(jù),也可用來存放地址。2)地址指針和變址寄存器
地址指針和變址寄存器包括SP、BP、SI和DI。設(shè)置地址指針和變址寄存器的目的。地址指針和變址寄存器功能。2.1.28086/8088的內(nèi)部寄存器返回2.段寄存器CS(CodeSegment)稱為代碼段寄存器,SS(StackSegment)稱為堆棧段寄存器,DS(DataSegment)稱為數(shù)據(jù)段寄存器,ES(ExtraSegment)稱為附加段寄存器,段寄存器用于存放段基值。
存儲器分段就是將1MB存儲空間劃分成若干獨(dú)立的邏輯段,每個(gè)邏輯段最多由64KB連續(xù)單元組成。這里要求每個(gè)邏輯段的起始地址必須是被16整除的地址,即20位段起始地址的低4位二進(jìn)制代碼必須是0,而把一個(gè)段起始地址剩下的高16位稱為該段的段基值,并存放在段寄存器中。存儲器地址空間被劃分成若干個(gè)邏輯段后,每個(gè)存儲單元的邏輯地址由兩部分組成:段基值和偏移量(偏移地址或有效地址)。返回段寄存器CSSSDSES基址及指針寄存器IPBPSPSIBXDI段寄存器與其它寄存器的組合CSSSDSES受PUSH,POP指令影響不受PUSH,POP指令影響受跳轉(zhuǎn)、調(diào)用、返回指令影響2.1.28086/8088的內(nèi)部寄存器返回
在8086/8088系列微機(jī)中,每個(gè)存儲單元都有兩種地址,物理地址(PhysicalAddress)和邏輯地址(LogicalAddress),在1MB存儲空間中,每個(gè)存儲單元都有唯一的20位物理地址,把程序設(shè)計(jì)中使用的地址稱為邏輯地址。
在程序設(shè)計(jì)中,使用邏輯地址不是物理地址,這樣做不僅有利于程序的開始,而且對存儲器的動態(tài)管理非常有利。由邏輯地址計(jì)算物理地址的方法為:把段基值乘以16(左移4位,低位補(bǔ)0),再加上偏移地址,就形成了物理地址。公式如下:
物理地址=段基值×10H+偏移量
8086/8088CPU訪問存儲器時(shí)對物理地址的計(jì)算是在總線接口單元(BIU)中由地址加法器來完成的。返回CS左移4位20位+地址加法器CS16位物理地址20位IP指令物理地址=CS×10H+IP2.1.28086/8088的內(nèi)部寄存器返回3.控制寄存器1)指令指針I(yè)PIP用于控制程序中指令的執(zhí)行順序,正常運(yùn)行時(shí),IP中含有BIU要取的下一條指令的偏移地址。一般情況下,每取一次指令代碼,IP就會自動加1,從而保證指令的順序執(zhí)行。IP實(shí)際上是指令機(jī)器碼存放單元的地址指針,IP的內(nèi)容可以被轉(zhuǎn)移類指令強(qiáng)迫改寫。當(dāng)需要改變程序的執(zhí)行順序時(shí),只要改寫IP的內(nèi)容就可以了。應(yīng)當(dāng)注意,編制的程序不能直接訪問IP,不能取IP的值或給IP設(shè)定值。2)標(biāo)志寄存器FLAGSFLAGS是一個(gè)16位寄存器,8086/8088CPU只用了其中的9位,這9位包括6個(gè)狀態(tài)標(biāo)志和3個(gè)控制標(biāo)志。2.1.28086/8088的內(nèi)部寄存器返回
狀態(tài)標(biāo)志中用6位來反映EU執(zhí)行算術(shù)或邏輯運(yùn)算以后的結(jié)果特征。這6位都是邏輯值,判斷結(jié)果為邏輯真時(shí),其值為1;判斷結(jié)果為邏輯假時(shí),其值為0。
(1)進(jìn)位標(biāo)志CF(CarryFlag)。
(2)奇偶標(biāo)志PF(ParityFlag)。
(3)輔助進(jìn)位標(biāo)志AF(AuxiliaryFlag)。
(4)零標(biāo)志ZF(ZeroFlag)。
(5)符號標(biāo)志SF(SignFlag)。
(6)溢出標(biāo)志OF(OverFlowFlag)。2.1.28086/8088的內(nèi)部寄存器返回
控制標(biāo)志是一種用于控制CPU工作方式或工作狀態(tài)的標(biāo)志,控制標(biāo)志設(shè)置后便對其后面的操作產(chǎn)生控制作用??刂茦?biāo)志具有3個(gè),分別是跟蹤標(biāo)志TF、中斷允許標(biāo)志IF、方向標(biāo)志DF。
(1)跟蹤標(biāo)志TF(TrapFlag)。TF=1表示CPU按跟蹤方式執(zhí)行指令。
(2)中斷允許標(biāo)志IF(InterruptFlag)。IF=1表示打開可屏蔽中斷,此時(shí)CPU可以響應(yīng)可屏蔽中斷請求;IF=0表示關(guān)閉可屏蔽中斷,此時(shí)CPU不響應(yīng)可屏蔽中斷請求。
(3)方向標(biāo)志DF(DirectionFlag)。DF=1表示串操作過程中地址會遞減;DF=0表示串操作過程中地址會遞增。10001101001101100011001000011001+0110011010101001運(yùn)算結(jié)果最高位為1 ∴SF=1;例:2個(gè)數(shù)相加后,分析各標(biāo)志位的值低四位向高四位有進(jìn)位 ∴AF=1;次高位向最高位有進(jìn)位,最高位向前沒有進(jìn)位,∴OF=1
0=1最高位沒有進(jìn)位 ∴CF=0;低8位中1的個(gè)數(shù)為偶數(shù)個(gè) ∴PF=1;運(yùn)算結(jié)果本身≠0 ∴ZF=0;10001101001101100011001000011001-0010110010001100運(yùn)算結(jié)果最高位為0 ∴SF=0;例:2個(gè)數(shù)相減后,分析各標(biāo)志位的值低四位向高四位沒有借位 ∴AF=0;次高位向最高位沒有借位,最高位向前沒有借位,∴OF=0
0=0最高位沒有借位 ∴CF=0;低8位中1的個(gè)數(shù)為奇數(shù)個(gè) ∴PF=0;運(yùn)算結(jié)果本身≠0 ∴ZF=0;控制標(biāo)志與狀態(tài)標(biāo)志的區(qū)別控制標(biāo)志的值:由系統(tǒng)程序或用戶程序根據(jù)需要用指令設(shè)置。狀態(tài)信息:由中央處理器執(zhí)行運(yùn)算指令,并根據(jù)運(yùn)算結(jié)果而自動設(shè)置。X86CPU也提供了直接設(shè)置狀態(tài)標(biāo)志之值的指令標(biāo)志名標(biāo)志為1標(biāo)志為0OF溢出(是/否)OVNVDF方向(減量/加量)DNUPIF中斷(允許/關(guān)閉)EIDISF符號(負(fù)/正)NGPLZF零(是/否)ZRNZAF輔助進(jìn)位(是/否)ACNAPF奇偶標(biāo)志(偶/奇)PEPOCF進(jìn)位標(biāo)志(是/否)CYNC調(diào)試狀態(tài)時(shí),標(biāo)志位值的符號表示2.1.38086/8088的引腳信號返回8086/8088CPU具有40個(gè)引腳,采用雙列直插式封裝形式。為了減少芯片引腳的數(shù)目,8086/8088CPU采用了分時(shí)復(fù)用的地址/數(shù)據(jù)總線。正是由于使用這種分時(shí)復(fù)用的方法才使得8086/8088CPU可用40個(gè)引腳實(shí)現(xiàn)20位地址、16位數(shù)據(jù)及許多控制信號和狀態(tài)信號的傳輸。2.1.48086/8088的工作方式返回8086/8088CPU有兩種工作方式:
最小方式指系統(tǒng)中只有8086/8088一個(gè)微處理器。在這種系統(tǒng)中,8086/8088CPU直接產(chǎn)生所有的總線控制信號,系統(tǒng)所需的外加總線控制邏輯部件最少。
最大方式指系統(tǒng)中含有兩個(gè)或多個(gè)微處理器,其中一個(gè)為主處理器8086/8088CPU,其他的稱為協(xié)處理器,它們是協(xié)同主處理器來工作的。和8086/8088相配的協(xié)處理器有兩個(gè):一個(gè)是專用數(shù)值運(yùn)算的協(xié)處理器8087,系統(tǒng)中有了此協(xié)處理器后會大幅度提高系統(tǒng)數(shù)值的運(yùn)算速度。另一個(gè)是專用于輸入/輸出操作的協(xié)處理器8089,系統(tǒng)中加入8089后會提高主處理器的效率,大大減少輸入/輸出操作占用主處理器的時(shí)間。在最大模式下工作時(shí),控制信號是通過8288總線控制器提供的。1.最小模式系統(tǒng)組成返回2.最大模式系統(tǒng)組成BHECLKREADYRESET等待狀態(tài)發(fā)生A19~A16AD15~AD0地址/數(shù)據(jù)8286收發(fā)器TOE8282鎖存器STBD15~D08284ARES8288總線控制器CLKMN/MX80861S0S1S2S0S1S2RDYOEDENDT/RALET1T2T3TwT4M/IOREADYCLK地址狀態(tài)輸出地址數(shù)據(jù)輸入A19/S6-A16/S3BHE/S7AD15-AD0ALERDDT/RDEN最小模式下8086讀總線操作時(shí)序圖3.最小模式下的8086時(shí)序分析2.280386微處理器返回2.2.1
80386的內(nèi)部結(jié)構(gòu)2.2.280386的寄存器2.2.380386的工作方式2.2.480386的存儲器管理2.2.180386的內(nèi)部結(jié)構(gòu)返回圖2-880386的邏輯結(jié)構(gòu)2.2.280386的寄存器返回80386共有34個(gè)寄存器,按功能可分為7類:通用寄存器、段寄存器、指令指針和標(biāo)志寄存器、控制寄存器、系統(tǒng)地址寄存器、調(diào)試寄存器和測試寄存器。1.通用寄存器2.段寄存器3.系統(tǒng)地址寄存器4.指令指針和標(biāo)志寄存器5.控制寄存器6.調(diào)試寄存器7.測試寄存器2.2.380386的工作方式返回1.實(shí)地址方式80386在加電或復(fù)位初始化時(shí)進(jìn)入實(shí)地址方式,這是一種為建立保護(hù)方式做準(zhǔn)備的方式。它與8086相同,由16位段選擇子左移4位與16位偏移地址相加得到20位物理地址,可尋址1MB的存儲空間。這時(shí)段的基地址在4GB物理存儲空間的第一個(gè)1MB內(nèi)。2.保護(hù)虛擬地址方式80386的保護(hù)虛擬地址方式是其最常用的方式,一般開機(jī)或復(fù)位后,先進(jìn)入實(shí)地址方式完成初始化,然后立即轉(zhuǎn)入保護(hù)虛擬地址方式,也只有在保護(hù)虛擬地址方式下,80386才能充分發(fā)揮其強(qiáng)大的功能。2.2.380386的工作方式返回80386在保護(hù)虛擬地址方式下,存儲器用虛擬地址空間、線性地址空間和物理地址空間三種方式來描述,可提供4GB實(shí)地址空間,而虛擬地址空間可以高達(dá)64TB。在保護(hù)虛擬地址方式下,80386支持存儲器的段頁式結(jié)構(gòu),提供兩級存儲管理。3.虛擬8086方式
虛擬8086方式又稱為V86方式。80386把標(biāo)志寄存器中的VM標(biāo)志位置1,即進(jìn)入V86方式,執(zhí)行一個(gè)8086程序把VM復(fù)位,即退出V86方式而進(jìn)入保護(hù)方式,執(zhí)行保護(hù)方式的80386程序。2.2.480386的存儲器管理返回80386在保護(hù)虛擬地址方式下,采用分段、分頁兩級綜合的存儲管理,用分段管理組織其邏輯地址空間的結(jié)構(gòu),用分頁管理來管理其物理存儲。80386的分段部件把程序的邏輯地址變換為線性地址,進(jìn)而由分頁部件變換為物理地址。這種段管理基礎(chǔ)上的分頁管理是80386所支持的最全面、功能最強(qiáng)的一種存儲管理方式。由于微處理器內(nèi)還設(shè)置高速緩沖存儲器(Cache)和其他功能部件,使得這種兩級地址轉(zhuǎn)換的速度很快。1.分段管理80386的段描述符為8字節(jié),段基地址擴(kuò)大到32位,段限值擴(kuò)大到1MB,增添了4位語義控制字段。80386的段描述符格式如圖2-9所示。2.2.480386的存儲器管理返回
分段存儲管理就是要根據(jù)邏輯地址提供的段選擇符和偏移量,通過段選擇符從描述符表中找到相應(yīng)的描述符,從描述符中取
得段的32位基地址,加上邏輯地址提供的32位偏移量,形成32位線性地址。分段存儲管理的地址轉(zhuǎn)換過程如圖2-10所示。2.2.480386的存儲器管理返回2.分頁管理80386的物理存儲器組織成若干個(gè)頁面,一般每個(gè)頁面為4KB。80386分頁采用了頁目錄表、頁表兩級頁變換機(jī)制,低一級的頁表是頁的映像,由若干頁描述符組成,每一個(gè)頁描述符指示一個(gè)物理頁面;高一級的頁目錄表是頁表的映像,由若干頁目錄描述符組成,每一個(gè)頁目錄描述符指示著不同的頁表,由80386的頁目錄基地址寄存器CR3指示頁目錄表在存儲器中的位置。80386的頁表和頁目錄表中最多可分別包含210個(gè)頁描述符和頁目錄描述符,每個(gè)描述符均由4字節(jié)(32位)組成,其格式也基本相同。2.2.480386的存儲器管理返回80386的頁面和頁表均起始于存儲空間的4KB界上,因此頁面地址和頁表地址的低12位全為0。在80386分頁系統(tǒng)中,由CR3給出頁目標(biāo)表的基地址,利用32位線性地址的高10位在頁目錄表的1024個(gè)頁目錄描述符中選定1個(gè),從而獲得對應(yīng)頁表的基地址;利用線性地址的中間10位,在對應(yīng)頁表的1024個(gè)頁描述符中選定1個(gè),得到頁面地址;利用線性地址的低12位可在指定頁面的4KB中選中一個(gè)物理存儲單元,實(shí)現(xiàn)從線性地址到物理地址的轉(zhuǎn)換。這種地址轉(zhuǎn)換是標(biāo)準(zhǔn)的二級查表機(jī)制。
在這個(gè)分頁系統(tǒng)中,通過頁目錄表可尋址多達(dá)1K個(gè)頁表,每個(gè)頁表可尋址多達(dá)1K個(gè)頁面,因此可尋址1M個(gè)頁面,而一個(gè)頁面有4KB,即可尋址80386的整個(gè)物理空間4GB。2.2.480386的存儲器管理返回圖2-1180386的分頁機(jī)制2.2.480386的存儲器管理返回3.高速緩沖存儲管理
為了加快段內(nèi)地址的轉(zhuǎn)換速度,在80386芯片上有高速緩沖存儲器(Cache),可把當(dāng)前段描述符存入Cache中,在以后進(jìn)行的地址轉(zhuǎn)換中就不用再訪問描述符表,而只與Cache打交道,這樣就大大提高了地址轉(zhuǎn)換的速度。
分頁系統(tǒng)也支持Cache,把最新、最常用的頁表項(xiàng)目自動保存在稱為轉(zhuǎn)換后備高速緩存(TLB)中。TLB共可保存32個(gè)頁表信息,32個(gè)頁與對應(yīng)頁的4KB相聯(lián)系,從而覆蓋了128KB的存儲器空間。對一般的多任務(wù)系統(tǒng)來說,TLB具有大約98%的命中率,也就是說在處理器訪問存儲器過程中,只有2%必須訪問兩級分頁機(jī)構(gòu),所以加快了地址轉(zhuǎn)換的速度。2.3高性能微處理器返回2.3.1Pentium微處理器2.3.2Pentium微處理器的技術(shù)特點(diǎn)2.3.3Pentium微處理器的發(fā)展2.3.4多核微處理器2.3.1Pentium微處理器返回1993年3月,Intel公司推出了新一代名為Pentium(奔騰,即P5)的微處理器。它擁有32位寄存器、64位數(shù)據(jù)總線和32位地址總線、高性能浮點(diǎn)處理部件和多媒體處理MMX部件。采用0.80制造工藝,支持60和66MHz前端總線速度(FSB),安全工作電壓為5V。Pentium處理器采用全新的設(shè)計(jì),與80486相比內(nèi)部結(jié)構(gòu)也作了很大改進(jìn),但是依然保持了和80x86系列的二進(jìn)制兼容性,在相同的工作模式上可以執(zhí)行所有的80x86程序。片內(nèi)存儲管理單元(MMU)也與80386和80486兼容,可以在實(shí)地址模式引導(dǎo)下轉(zhuǎn)入保護(hù)模式和虛擬86模式,其指令集包括了80486的所有指令,并增加了新的指令。2.3.1Pentium微處理器返回圖2-12Pentium處理器的邏輯結(jié)構(gòu)2.3.2Pentium微處理器的技術(shù)特點(diǎn)返回
除了具有與80x86系列微處理器完全兼容的特點(diǎn)以外,在CPU的結(jié)構(gòu)體系上,還有如下一些新的特點(diǎn):
(1)Pentium的片內(nèi)高速緩存采用了分離式結(jié)構(gòu)。
(2)Pentium采用RISC技術(shù)。
(3)Pentium具有高性能的浮點(diǎn)運(yùn)算部件。
(4)具有分支指令預(yù)測功能。
(5)數(shù)據(jù)總線位寬增加。
(6)常用指令固化。
(7)系統(tǒng)管理模式(SMM,SystemManagementMode)。2.3.3Pentium微處理器的發(fā)展返回1.PentiumProPentiumPro(高能奔騰,686級的CPU)是第一個(gè)屬于第六代CPU的產(chǎn)品。2.PentiumⅡPentiumⅡ(奔騰Ⅱ)為Intel于1997年5月7日推出的微處理器。它基于PentiumPro使用的P6微處理架構(gòu),但另一方面它的16位元處理能力獲得優(yōu)化,并加入MMX指令集。3.PentiumⅢPentiumⅢ仍是32位Intel結(jié)構(gòu)(IA-32)CPU,于1999年2月26日推出。4.Pentium4Pentium4(奔騰4)是Intel生產(chǎn)的第7代x86微處理器。2.3.4多核微處理器返回1.多核微處理器簡介
多核微處理器就是基板上集成有多個(gè)單核CPU,早期PD雙核需要北橋來控制分配任務(wù),核心之間存在搶二級緩存的情況,后期酷睿自己集成了任務(wù)分配系統(tǒng),再搭配操作系統(tǒng)就能真正同時(shí)處理兩份任務(wù),速度太快時(shí),如果其中一個(gè)核心死機(jī),另一個(gè)CPU還可以繼續(xù)處理關(guān)機(jī)、關(guān)閉軟件等任務(wù)。2.IA-32與IA-64架構(gòu)IA-32架構(gòu)(IntelArchitecture,32位)常被稱為i386、x86-32或是x86,是由Intel公司推出的指令集架構(gòu),至今英特爾最受歡迎的處理器仍然采用此架構(gòu)。IA-64架構(gòu)是Intel公司推出的64位指令集架構(gòu)。2.480x86微型計(jì)算機(jī)系統(tǒng)返回2.4.1微型計(jì)算機(jī)系統(tǒng)主板2.4.280x86典型芯片組440BX2.4.3BIOS功能與設(shè)置2.4.1微型計(jì)算機(jī)系統(tǒng)主板返回系統(tǒng)主板(SystemBoard,也叫MainBoard或MotherBoard)是PC的重要組成部分。主板完成計(jì)算機(jī)系統(tǒng)的管理和協(xié)調(diào),支持CPU、內(nèi)存、總線及接口卡的正常運(yùn)行。主板上所用的芯片組、BIOS、電源器件和布線水平?jīng)Q定了它的級別。主板的外形多為矩形印制電路板(PCB——PrintedCircuitBoard),集成有芯片組、各種I/O控制芯片、鍵盤和面板控制開關(guān)接口、指示燈接插件、擴(kuò)展槽、主板和電源接口等元器件。2.4.280x86典型芯片組440BX返回芯片組不僅對CPU、主板起著極其重要的協(xié)調(diào)、支持和控制作用,而且在很大程度上也決定了PC的結(jié)構(gòu)和性能,不同Pentium處理器必須有相應(yīng)的芯片組配合才能正常工作,因此芯片組的發(fā)展也是十分迅速的。Intel440BX作為一代經(jīng)典芯片組曾經(jīng)暢銷28個(gè)月之久。440BX芯片組由兩片芯片組成,一片是492引腳的北橋芯片82443BX,另一片是324引腳的南橋芯片82731EB(PIIXE),而PentiumIII使用南橋芯片82731AB。采用440BX芯片組的典型主板結(jié)構(gòu)框圖如圖2-13所示。南橋芯片(SouthBridge)是主板芯片組的重要組成部分,一般位于主板上離CPU插槽較遠(yuǎn)的下方,PCI插槽的附近,這種布局是考慮到它所連接的I/O總線較多,離處理器遠(yuǎn)一點(diǎn)有利于布線。相對于北橋芯片來說,其數(shù)據(jù)處理量并不算大,所以南橋芯片一般都沒有覆蓋散熱片。南橋芯片不與處理器直接相連,而是通過一定的方式與北橋芯片相連。
北橋芯片就是主板上離CPU最近的芯片,這主要是考慮到北橋芯片與處理器之間的通信最密切,為了提高通信性能而縮短傳輸距離。北橋在電腦里起到的作用非常明顯,在電腦中起著主導(dǎo)的作用,所以人們又稱為主橋(HostBridge)。北橋是個(gè)人電腦主板芯片組兩枚大規(guī)模芯片中的一枚。北橋被用來處理高速信號,通常處理CPU(處理器),RAM(內(nèi)存),AGP端口或PCIExpress,和南橋芯片之間的通信。2.4.280x86典型芯片組440BX返回圖2-13
440BXPentiumPC主板結(jié)構(gòu)2.4.3BIOS功能與設(shè)置返回1.BIOS功能系統(tǒng)主板上有一個(gè)BIOS(BasicInput/OutputSystem,基本輸入/輸出系統(tǒng))芯片。該芯片內(nèi)部存儲了一組管理程序,包括上電自檢程序、DOS引導(dǎo)程序、日時(shí)鐘管理程序、基本I/O驅(qū)動程序等,這些程序固化在ROM芯片中,計(jì)算機(jī)上電后先執(zhí)行其中的程序。BIOS是微型計(jì)算機(jī)系統(tǒng)的一個(gè)底層的管理程序,包括4個(gè)功能模塊。(1)POST上電自檢。(2)系統(tǒng)啟動自檢程序。(3)BIOS功能調(diào)用程序。(4)BIOS系統(tǒng)參數(shù)設(shè)置程序。2.4.3BIOS功能與設(shè)置返回2.BIOS設(shè)置在BIOSROM芯片中有一個(gè)“BIOSSETUP”人機(jī)交互界面程序,專門用來設(shè)置CMOSRAM中的上述參數(shù)。例如,有些PC在開機(jī)時(shí)根據(jù)提示按下“DEL”鍵即可進(jìn)入。機(jī)器裝配成功后都要首先完成BIOS設(shè)置,以后根據(jù)需要可重新設(shè)置。Pentium系統(tǒng)主板的BIOSROM多采用Flash型EEPROM芯片,可以對其進(jìn)行主板改寫,方便用戶對BIOS進(jìn)行版本升級。順便指出,在許多其他設(shè)備中也可以見到BIOS芯片,只是功能不同且有局限性而已。例如,顯示卡上有視頻管理BIOS,硬盤控制器中也有自身的BIOS,有些網(wǎng)卡上的啟動ROM也可稱為BIOS。2.4.3BIOS功能與設(shè)置返回3.CMOSRAMCMOSRAM本身沒有存放程序,而對CMOS中各項(xiàng)參數(shù)的設(shè)定要通過執(zhí)行固化在BIOSROM中的“BIOSSETUP”程序。這就說明了ROM型BIOS與RAM型CMOS參數(shù)之間的主從關(guān)系。換言之,CMOS中的數(shù)據(jù)是通過BIOS中的設(shè)置程序存放的,而BIOSROM中的自檢等程序又必須調(diào)用CMOSRAM中存放的參數(shù)才能有效地識別、診斷各類部件及基本I/O設(shè)備。思考與練習(xí)返回2-1簡述8086CPU中EU和BIU的功能。2-2簡述地址加法器的工作原理。2-3簡述8086存儲器的組織結(jié)構(gòu)特點(diǎn)。2-4為什么8086CPU存儲器組織采用分段結(jié)構(gòu)?2-5簡述80386微處理器的技術(shù)特點(diǎn)。2-6什么是實(shí)地址管理方式?2-7簡述80386分頁管理的工作原理。2-8簡述Pentium微處理器的技術(shù)特點(diǎn)。2-9簡述系統(tǒng)主板的功能和組成。2-10BIOS設(shè)置和平常所說的CMOS設(shè)置有什么異同。微機(jī)原理及應(yīng)用第3章8086/8088指令系統(tǒng)
理解指令系統(tǒng)基本概念掌握指令系統(tǒng)涉及到的各種尋址方式
掌握六大類指令的功能和使用方法學(xué)習(xí)目標(biāo):3.1概述返回3.1.1指令的基本構(gòu)成3.1.2指令的執(zhí)行時(shí)間3.1概述指令是控制計(jì)算機(jī)完成指定操作,并且能夠被計(jì)算機(jī)所識別的命令。計(jì)算機(jī)所能識別的所有指令的集合稱作指令系統(tǒng),不同系列計(jì)算機(jī)(或者說不同的微處理器)有著不同的指令系統(tǒng)。指令系統(tǒng)定義了計(jì)算機(jī)硬件所能完成的基本操作,其功能的強(qiáng)弱在一定程度上決定了硬件系統(tǒng)性能的高低。與上一代微處理器的指令系統(tǒng)相比,8086/8088指令系統(tǒng)的功能有了很大擴(kuò)充,主要表現(xiàn)在:1)有8個(gè)通用寄存器均可作累加器使用。2)可進(jìn)行字節(jié)或字的處理。3)有重復(fù)指令和乘除運(yùn)算指令。4)擴(kuò)充了條件轉(zhuǎn)移,移位/循環(huán)指令。5)可進(jìn)行有符號數(shù)的運(yùn)算。6)有軟中斷和協(xié)調(diào)多處理器工作的指令。3.1概述按照功能可將8086/8088CPU的指令系統(tǒng)劃分為六大類,見表3-1。
3.1概述3.1.1指令的基本構(gòu)成
一條指令通常由兩部分組成,如圖3-1所示。第一部分為操作碼(也稱指令碼,指令助記符),這一部分是指令中必須存在的部分。必要時(shí),可在操作碼的前面加上前綴。第二部分是操作數(shù),即指令操作的對象。有些指令不需要操作數(shù),此時(shí)指令只由操作碼組成;有些指令只需要一個(gè)操作數(shù);有些指令則需要兩個(gè)操作數(shù),這時(shí)必須用逗號將兩個(gè)操作數(shù)分開。
1.指令的一般格式
3.1.1指令的基本構(gòu)成
根據(jù)操作數(shù)的個(gè)數(shù),指令在格式上具有以下3種形式。(1)零操作數(shù)指令。指令在形式上只有一個(gè)操作碼。這類指令操作的對象通常是處理器本身,如指令“HLT”。(2)單操作數(shù)指令。指令在形式上只有一個(gè)操作數(shù),如指令“INCCX”。(3)雙操作數(shù)指令。指令在形式上有兩個(gè)操作數(shù),這兩個(gè)操作數(shù)必須用逗號分開,分別表示目標(biāo)操作數(shù)(也稱目的操作數(shù))和源操作數(shù),格式如圖3-1所示。如指令“MOVAX,2000H”,其中AX表示目標(biāo)操作數(shù),2000H表示源操作數(shù)。3.1.1指令的基本構(gòu)成
2.指令中的操作數(shù)類型
(1)立即數(shù)操作數(shù)
立即數(shù)是指具有固定數(shù)值的操作數(shù),即常數(shù),在程序執(zhí)行過程中不會發(fā)生變化。
需要注意的是立即數(shù)操作數(shù)在指令中只能用作源操作數(shù)。(2)寄存器操作數(shù)8086/8088CPU的8個(gè)通用寄存器和4個(gè)段寄存器可以作為指令中的寄存器操作數(shù),它們都可以作為源操作數(shù)。除了代碼段寄存器CS,其他的寄存器也可以作為目標(biāo)操作數(shù)。
通用寄存器通常用來存放參加運(yùn)算的數(shù)據(jù)或者數(shù)據(jù)所在存儲器單元的偏移地址。段寄存器用來存放當(dāng)前操作數(shù)的段地址。
(3)存儲器操作數(shù)存儲器操作數(shù)是指參加運(yùn)算的操作數(shù)存放在存儲單元當(dāng)中。3.1.1指令的基本構(gòu)成
3.段重設(shè)
8086/8088對段寄存器使用的約定和允許段重設(shè)的情況見表3-2。
3.1.2指令執(zhí)行時(shí)間
一條指令的執(zhí)行時(shí)間包括:取指令、取操作數(shù)、執(zhí)行指令及傳送結(jié)果等幾個(gè)部分,單位用時(shí)鐘周期數(shù)表示。不同指令的執(zhí)行時(shí)間有較大的差別。
寄存器操作數(shù)的指令執(zhí)行速度最快,其次是立即數(shù)操作數(shù)指令,存儲器操作數(shù)指令的執(zhí)行速度最慢。這是由于寄存器在CPU內(nèi)部,執(zhí)行指令時(shí),CPU的執(zhí)行單元可以直接從CPU內(nèi)部的寄存器中獲取操作數(shù),不需訪問內(nèi)存,因此執(zhí)行速度很快;對于立即數(shù)操作數(shù),由于立即數(shù)操作數(shù)是指令的一部分,因此它位于總線接口單元的指令隊(duì)列中,執(zhí)行指令時(shí)也不需要訪問內(nèi)存,因此執(zhí)行速度也比較快;而存儲器操作數(shù)位于內(nèi)存單元中,為了獲取操作數(shù),首先要由總線接口單元計(jì)算出該操作數(shù)所在的20位物理地址,由于對內(nèi)存進(jìn)行了訪問,因此相對前兩類操作數(shù)指令而言,存儲器操作數(shù)指令的執(zhí)行速度最慢。3.2尋址方式返回3.2.1立即尋址3.2.2寄存器尋址3.2.3直接尋址3.2.4寄存器間接尋址3.2.5寄存器相對尋址3.2.6基址—變址尋址3.2.7基址—變址相對尋址3.2.8隱含尋址3.2.1立即尋址立即尋址
方式只針對源操作數(shù)。立即尋址的作用是對寄存器或內(nèi)存單元賦初值。立即尋址需要注意的幾點(diǎn):1)立即尋址只針對源操作數(shù),目標(biāo)操作數(shù)不能是立即數(shù)。例如指令“MOV1234H,AX”是一條錯(cuò)誤的指令。2)8086/8088系統(tǒng)中,立即數(shù)可以是8位的或16位的整數(shù)。對于16位的立即數(shù),它嚴(yán)格按照“高高低低”的原則進(jìn)行存儲,即低8位在低地址單元中存放,高8位在高地址單元中存放。3.2.1立即尋址【例3.1】指令“MOVAX,1234H”表示將16位立即數(shù)1234H送入累加寄AX中,指令執(zhí)行后,AH=12H,AL=34H。指令執(zhí)行過程如圖3-2所示。3.2.2
寄存器尋址在寄存器尋址方式下,指令的操作數(shù)位于CPU的內(nèi)部寄存器中。這些寄存器可以是8位的通用寄存器,也可以是16位的通用寄存器,還可以是地址指針、變址寄存器以及段寄存器。寄存器尋址指令的操作數(shù)既可以是源操作數(shù),也可以是目標(biāo)操作數(shù),指令中直接給出寄存器名稱?!纠?.2】指令“MOVAX,BX”表示將BX中的內(nèi)容放入AX中。指令執(zhí)行前AX=1122H,BX=3344H,則指令執(zhí)行后,BX的內(nèi)容保持不變,AX=3344H,指令的執(zhí)行過程如圖3-3所示。3.2.3
直接尋址直接尋址方式表示操作數(shù)存放在內(nèi)存單元中,存放的地址由指令直接給出,即指令中的操作數(shù)是存儲器操作數(shù)。由于操作數(shù)的地址直接給出而不需要經(jīng)過某種變換,所以稱這種尋址方式稱為直接尋址方式。直接尋址需要注意的幾點(diǎn):1)在程序中,直接尋址的地址要寫在方括號“[]”內(nèi)。2)在直接尋址中,指令操作數(shù)字段中存放的是操作數(shù)的16位偏移地址EA,操作數(shù)的物理地址由其所在段的寄存器內(nèi)容左移4位與指令中給出的偏移地址EA相加形成。3)如果沒有特殊說明,直接尋址的操作數(shù)一般在內(nèi)存的數(shù)據(jù)段中,即隱含的段寄存器是DS。但是8086/8088也允許段重設(shè)此時(shí)需要在指令中要用段重設(shè)符號加以聲明。方法是在有關(guān)操作數(shù)的前面寫上段寄存器的名字,再加上冒號。3.2.3
直接尋址【例3.4】指令“MOVAX,[1234H]”表示將數(shù)據(jù)段中的偏移地址為1234H、1235H兩個(gè)單元中的內(nèi)容送到累加器AX中。該指令是字操作,高地址單元的內(nèi)容送到累加器的高8位AH,低地址單元的內(nèi)容送到累加器的低8位AL。假設(shè)DS=3000H,則所尋找的操作數(shù)的物理地址為DS×10H+1234H=31234H指令的執(zhí)行情況如圖3-4所示。3.2.4寄存器間接尋址寄存器間接尋址與寄存器尋址的根本不同在于寄存器所表達(dá)的內(nèi)容不同。寄存器間接尋址是用寄存器的內(nèi)容表示操作數(shù)的偏移地址,而寄存器尋址是用寄存器的內(nèi)容表示操作數(shù)本身。寄存器間接尋址指令中的操作數(shù)在存儲單元中,用于存放操作數(shù)偏移地址的寄存器只能是BX、BP、SI或者DI四個(gè)寄存器之一,因此它們也簡稱為間址寄存器或地址寄存器。默認(rèn)情況下,選擇SI、DI、BX作為間址寄存器時(shí),操作數(shù)在數(shù)據(jù)段,段地址由DS決定;選擇BP作為間址寄存器時(shí),則操作數(shù)在堆棧段,段地址由SS決定。可以段重設(shè)。3.2.4寄存器間接尋址【例3.5】選擇SI、DI、BX作間址寄存器,則操作數(shù)的物理地址為DS×10H+EA=DS×10H+(BX、SI、DI之一)如果DS=1000H,SI=2000H,則執(zhí)行指令“MOVAX,[SI]”,計(jì)算得存儲單元物理地址:DS×10H+SI=12000H。具體執(zhí)行過程如圖3-5所示。執(zhí)行結(jié)果:AX=2211H。3.2.4寄存器間接尋址【例3.6】選擇BP作間址寄存器,則操作數(shù)的物理地址為
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國采礦采石設(shè)備制造行業(yè)市場需求預(yù)測與投資戰(zhàn)略規(guī)劃分析報(bào)告
- 廣西河池市羅城縣2021-2022學(xué)年五年級上學(xué)期英語期末試卷
- 春節(jié)新媒營銷之道
- 春節(jié)購房共筑新希望
- 二零二五年度KTV會員積分兌換與禮品采購合同3篇
- 2024煤礦安全生產(chǎn)條例、兩辦意見、硬措施試卷
- 中國電信個(gè)人工作總結(jié)
- 液壓壓力機(jī)知識培訓(xùn)課件
- 二零二五年度家庭養(yǎng)老護(hù)理員護(hù)理培訓(xùn)與就業(yè)合同3篇
- 2025年度企業(yè)專用車輛購置與銷售合同3篇
- 醫(yī)療團(tuán)隊(duì)管理技巧與策略
- 《功能點(diǎn)計(jì)算方法》課件
- GB/T 451.2-2023紙和紙板第2部分:定量的測定
- 工會提案培訓(xùn)課件
- 高空拋物法律知識講座
- 射頻工程師年終總結(jié)
- 2019統(tǒng)編版高中數(shù)學(xué)A版必修第二冊教學(xué)計(jì)劃含教學(xué)進(jìn)度表(高一下學(xué)期數(shù)學(xué)教學(xué)計(jì)劃)
- 抖音短視頻運(yùn)營部門薪酬績效方案(短視頻運(yùn)營薪酬績效考核方案)
- 增值稅發(fā)票銷貨清單
- 貴州高等學(xué)校體育工作評價(jià)指標(biāo)體系試行
- 基于實(shí)驗(yàn)教學(xué)培養(yǎng)學(xué)生物理核心素養(yǎng)的研究
評論
0/150
提交評論