大學計算機基礎ch_第1頁
大學計算機基礎ch_第2頁
大學計算機基礎ch_第3頁
大學計算機基礎ch_第4頁
大學計算機基礎ch_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

大學計算機基礎計算機教學實驗中心2011.91培養(yǎng)計算思維系列課程之一第3章微型計算機原理圖靈機模型程序和指令馮·諾依曼結構計算機計算機的工作過程非馮·諾依曼結構計算機圖靈與圖靈機3圖靈機Turingmachine(TM)圖靈機是一種理論上的模型機器。提出圖靈機的目的是為了解釋如何用機器來模擬人類用紙筆進行運算的過程。它能根據一個規(guī)則表來處理一條紙帶上的符號;盡管它極其簡單,但可以用于描述任何計算機算法。特別是對于描述計算機中CPU的功能,特別有用。4一種思維實驗圖靈機是由英國數學家阿蘭.圖靈在1936年提出的,并稱其為“a-機器”(automatic),即自動機器。圖靈機并不是一種實用的計算技術,它僅是一種關于計算的“思維實驗”(或思想實驗,用時髦的話就是“頭腦風暴”)。圖靈機可以幫助計算機科學家了解機器計算的局限性。5圖靈機模型圖靈機的組成:有一條無限長的紙帶(Tape)用于記錄符號——存儲器意味著圖靈機具有無限量的存儲空間;紙帶劃分成一個個連續(xù)的方格,每個格子中都有一個符號。一個讀寫頭(Head)讀寫頭中有一個狀態(tài)寄存器(StateRegister)——記錄機器當前狀態(tài)一套控制規(guī)則(RuleTable)——程序6圖靈機模型圖靈機可以讀入紙帶上位于讀寫頭下方的一個符號。圖靈機可以改變讀入的符號,而且圖靈機行為會受到該符號的影響。但紙帶其他位置上的符號,不影響圖靈機的當前行為讀寫頭可以相對紙帶左右移動。因此,紙帶上的任何符號最終都將會對圖靈機的操作產生影響。7圖靈機的原子操作圖靈機每動作一步,就要執(zhí)行以下5項原子操作:讀入讀寫頭下方紙帶上的符號Si;依據當前狀態(tài)和Si在規(guī)則表中找到合適的“指令序列”執(zhí)行;在格子上打印某個符號Sj,或擦除符號,或不進行任何操作;使讀寫頭相對紙帶向左或向右移動,或者靜止不動;機器狀態(tài)變?yōu)橛蒘i所確定的新狀態(tài)。圖靈機的工作過程就是不斷地循環(huán)執(zhí)行這5項原子操作。注:圖靈機的操作也可以用有限自動機(FSM)理論來描述。通常用狀態(tài)遷移圖來描述FSM:當前狀態(tài)、輸入、輸出、下一狀態(tài)實際上,現實世界的許多事物的狀態(tài)變化都可以用FSM來描述,例如:燈的亮和滅,電梯的停止、上行和下行,...,等等8狀態(tài)1輸入輸出狀態(tài)2輸入輸出FSM圖靈機工作過程的簡單描述初始狀態(tài)下,讀寫頭位于紙帶最左邊的格子上。1)讀寫頭從紙帶上讀出位于其下面格子中的信息;2)根據讀出的信息和機器當前狀態(tài)查規(guī)則表,得到如何動作的指令序列:向紙帶上寫信息、或擦除紙帶上的信息、或移動讀寫頭。3)機器內部狀態(tài)轉移到新的狀態(tài);4)如果指令不是停機,則轉1),否則停機。9圖靈機與計算機可以看出,機器的下一步動作與當前狀態(tài)、讀入的信息和規(guī)則表中的規(guī)則有關。規(guī)則不同,即使讀入的信息相同,機器的動作也會不同。只要根據每一時刻讀寫頭讀到的信息和當前的內部狀態(tài),查規(guī)則表就可確定它下一時刻的內部狀態(tài)和輸出動作。只要改變規(guī)則,圖靈機就可以做不同的工作。就象編寫不同的程序就會使計算機做不同的運算一樣。10因此,圖靈機就是一個最簡單的計算機模型。為什么要研究圖靈機?計算機能夠完成的計算,圖靈機也可以;圖靈機的局限性在計算機中同樣存在;圖靈機與計算機不同之處在于,圖靈機可以操作無限量的數據。但是在有限的時間內,圖靈機如同計算機一樣,只能操作有限的數據。如果時間和存儲容量不能滿足,作為理論模型的圖靈機就沒有什么價值了。與圖靈機一樣,計算機可以在需要時通過物理手段擴大存儲容量。相對于存儲容量,圖靈機和計算機的計算過程所需要的時間更為重要。用圖靈機描述算法不會受到存儲容量的限制。無論計算機結構如何改進,圖靈機理論總能使算法的表述在任何時候都能夠“Hold”住?!惴ú浑S計算機硬件和軟件的變化而有質的改變。運行在圖靈機上的算法通常比運行在實際計算機上的算法更具有一般性,這是由于圖靈機具有任意精度的數據類型,而且沒有存儲容量的限制。即使用簡單的抽象模型描述計算機程序,通常也比使用圖靈機復雜。例如,使用圖靈機描述某個算法也許只需幾百行語句,但在計算機上,用與之等價的有限自動機,需要的語句可能要達到千億行數量級。11圖靈機的工作過程-例1僅有輸入和輸出的“小蟲”模型:輸入={黑色,白色}輸出={向前,向后}規(guī)則={讀入黑前移一格,讀入白后移一格}12結果:在第2和第3格間無限循環(huán)下去圖靈機的工作過程-例2改進(增加了內部狀態(tài))的“小蟲”模型:輸入={黑色(食物),白色}輸出={向前,向后,涂白,涂黑}內部狀態(tài)={吃飽,饑餓},初值={饑餓}規(guī)則(參考右圖——FSM狀態(tài)遷移圖)讀入黑且為饑餓,涂白變吃飽;讀入黑且為吃飽,后移變饑餓;讀入白且為饑餓。涂黑仍饑餓;讀入白且為吃飽,前移仍吃飽。13對于下面的輸入,“小蟲”是如何動作的?饑餓吃飽讀入黑涂白讀入黑向后讀入白涂黑讀入白向前…圖靈機模型的四大要素小蟲模型說明了圖靈機模型中的主要四大要素:輸入信息——如黑、白;輸出信息——如向前、向后、涂黑、涂白;程序——狀態(tài)轉移規(guī)則;內部狀態(tài)——如吃飽、饑餓。14*圖靈機的形式化描述更完整的圖靈機可以用以下七元組來描述:M=(Q,Σ,Γ,δ,q0,B,F)其中:Q:圖靈機狀態(tài)的有窮集合Γ:紙帶符號的集合Σ∈Γ:輸入符號的集合(不包含空格符號)B∈Γ:空格符號q0∈Q:初始狀態(tài)F∈Q:終止狀態(tài)或接受狀態(tài)的集合δ:轉移函數。定義了機器狀態(tài)如何變化和下一步如何操作。任何滿足以上規(guī)范的機器都可以稱為“圖靈機”。15圖靈知停機祝問題塞與可魄計算辦性停機顏問題是否長存在援一個情程序P,能梅夠判示斷任炕意一腥個程途序Q,當陵輸入X時就界陷入暴死循何環(huán)?結論灣:使用禁圖靈恭機理路論,姜可以建證明逝不存拖在這零樣的續(xù)程序P!16即:柴存在南一些適人類未能構口造出都但圖老靈機汽不能替解的垂問題彩!由于變圖靈止機與至計算鋒機的疑等價榴性,蔽因此免也存在丙一些滑計算賠機不詳可解擺的問長題。XQ存在炊死循懇環(huán)不存葡在死芬循環(huán)微型秀計算倒機基贏本工沙作原頁理17指令并和程菌序指令——控制扛計算曬機完次成某骨項操趁作的“命令”計算陽機硬貌件能城夠直吹接識鄉(xiāng)豐別的兵指令——機器羅指令二進飄制形蓄式指令扔系統——計算喬機能健夠識這別的圾所有嗓指令挺的集防合。一臺閱計算扔機的頸指令制系統演其實功就是CP糕U的指非令系即統不同占類型何的CP壁U程序——按一頃定順奸序組林織在而一起堵的指銜令序遺列。18指令呈格式19操作碼目標操作數,源操作數說明治指令革的功虧能(執(zhí)行我什么虛操作)說明圈操作旋的對碑象(操灘作數近從哪唱來,東到哪賭去)操作碼操作數指令瓶的執(zhí)貿行過建程計算唯機的粘工作嘗過程符就是棵執(zhí)行告指令拘的過與程。指令沾的執(zhí)刻行主剖要包拋括5個步撫驟:20取指令分析指令取操作數執(zhí)行指令存儲結果指令迅的順毯序執(zhí)念行和喜并行指執(zhí)行順序妙執(zhí)行御:一條競指令售執(zhí)行嚷完了育再執(zhí)脅行下少一條艱指令猛。并行遭執(zhí)行糕:多條坑指令沸同時寧執(zhí)行閣。必要坐條件謎:指令芝的執(zhí)變行可唐以被于分為低多個秘連續(xù)粗的操舊作步葛驟每個您步驟陷都有評獨立拘的硬在件電評路來遣完成黃其操其作21兩種峽執(zhí)行準方式佳的比班較順序摩執(zhí)行臨方式宴(假奴定指令異執(zhí)行寺分為拘三個養(yǎng)步驟)執(zhí)行逼時間忠=宋取盜指令童時間育+竿分怖析指茂令時測間池+禿執(zhí)行妥指令呆時間如果妥每個英步驟諷的執(zhí)繭行時素間均嘆為Δt姻,則執(zhí)畫行n條指叫令的層時間T串行為:T串行=(赴3Δt)×默n22取指令執(zhí)行指令分析指令取指令執(zhí)行指令分析指令指令1指令2...兩種涉執(zhí)行取方式嘆的比埋較并行柔執(zhí)行下方式取指河令、搬分析件指令塌和執(zhí)因行指料令三辰個操劫作同那時進令行N條指游令的匆執(zhí)行高時間鐮:T并行=要3Δt慚+磚(舒n-距1)著Δt23取指令1執(zhí)行指令1分析指令1取指令2執(zhí)行指令2分析指令2取指令3執(zhí)行指令3分析指令3兩種父執(zhí)行表方式苗時間諷的比注較兩種摸執(zhí)行貫方式撤的時腦間之乏比(場并行場執(zhí)行享的加速喝比)為S匠=肥T串行/鳳T并行=3nΔ流t/皺(3Δt突+購(n慰-1領)Δ朽t)=棄3n失/(記2+錢n)當n>件>2時,S≈異3顯然階,一臘條指地令的咳執(zhí)行鋪劃分業(yè)的步尋驟越粥多,叔加速紛比就惜越大管。想一煤想,輛加速齊比與翁步驟免數二秒者之題間的挪關系紀是什字么?許多公微處冠理器歲將一使條指紛令的視執(zhí)行小分為容十幾叼個甚讀至更散多步摸驟。24馮?諾依蠢曼計蘭算機使圖過靈機稼從理啟論變測成了萍現實核心糠思想德:指令載和數閑據都追以二剃進制可編碼揉表示癥;把計雖算任旨務分捕解為朵若干溝個步創(chuàng)驟,艱每個熔步驟僻用一強條或粉多條孝指令江實現倒。所有罷指令齒按計劃算步圓驟的尋邏輯催關系構順序紫排列——程序每條鏟指令線的長肯度不離等(嫌一般鄰為1~4字節(jié)復)將指拜令序棗列保炮存到繪存儲棟器中獎,指渡令按勇其在私存儲想器中杏存放孤的順子序執(zhí)災行;“控倡制器港”控泄制程單序的洋執(zhí)行黑以及肚數據位的存盼取。以“例運算喘器”腹為核蜻心完畜成計砌算過妙程。25存儲程序原理馮?諾依各曼計烏算機千結構運算快器26運算器存儲器控制器輸入設備輸出設備CP價U,中央副處理碗器(微盒處理忌器)馮?諾依璃曼計螺算機的工鉆作過易程27內存鄰中的捉程序指令1指令2指令n┇分析讀取宣操作嘗數執(zhí)行保存養(yǎng)結果┇程序講計數豎器PC地址CP孟U取出操作渾數x計算環(huán)機如穴何執(zhí)腿行程另序計算擺機執(zhí)貪行程衫序的公過程盜為:從內口存中禾取出握一條濫指令平;指令恐傳送佩到指訪令譯透碼器犧進行扮譯碼趴,確疏定要閣進行征的操甲作;若是驗停機優(yōu)指令灰,則曬程序尺停止等;讀取間指令敞的操慘作數黨;執(zhí)行摧指令瞇;保存炕執(zhí)行針結果隨;轉向①。2810壩00掉2H指令房誠的地窮址PC地址寄存竟器10魄00打2H+1存儲掌器“讀”命令指令上譯碼數據葉總線B1理H┇┇存儲器地址點總線B1臣H10捧00坊2H一條敏指令葡的工幕作過蘇程:一個巧計算砍程序勝的例兄子:5+易8計算書程序贊如下30符號形式的指令機器指令操作MOVA,510110000將立即數5傳送到寄存器A中00000101ADDA,800000100將A的內容與8相加,結果仍存入A00001000HALT11110100停機程序角在模綢型機在上的筍執(zhí)行宇過程31累加羊器A運算巷器數據窩寄存老器DR指令脅寄存徐器IR指令拌譯碼腔器ID時序趨邏輯譜電路控制體信號10津11胸0健00就000珠00乒0士10筐100角00槍0刊10稻000拉00仰1煩00怕011曠11施0遞10技0內部吐總線存儲蛾器01234程序掛計數企器PC地址MO撈V華A性,取5AD個D胖A淹,素8HA貿LT地址邀總線+1③地址譯碼器讀寫置控制書電路④輸出地址10當11星0秒00擁0⑦鎖存指令鎖存數據⑥置初值①②輸出指令地址鎖存地址②讀出⑤⑧指令譯碼鎖存輸出地址犬寄存遮器AR00噸00遠0挨10弱100獵00會0擠00雁000諷00氏0孫00味100淘00報0拒01障000陷00媽0喂10登000摟00漸0植01怪100優(yōu)00父1艘00朗0執(zhí)行00若00消0留10拴011甚11糟0阿10戴0數據鐘總線微處禽理器謝的基聲本結蛇構32程序丈計數螞器PC也稱營指令兔地址壺寄存紡器,航其內鋪容為要執(zhí)阿行的緊指令煉在存膊儲器篩中的咐存放企地址。在程堪序開潑始執(zhí)館行前倉,程競序中補第一夠條指稍令的修存儲斬地址蜂被送比入PC。PC每輸形出一引次地姓址,CP淺U就從撒存儲多器的宴該地帥址處振取出謝一條霸指令象執(zhí)行頂。之后僵,PC中的桂地址漢自動雨增量饒,指悶向存搶儲器虧中存濁放的糊下一倍條指燈令。所以桐,只邊要不名另外禾改變PC的內膊容,墊存儲米器中帝的指說令就啞會不饅斷地世按順達序取瓦出并投執(zhí)行研。33非馮·諾依錫曼計算昆機34馮?諾依墳曼計烘算機銹的局罵限性CP材U與存邁儲器絨之間潮大量逮的數莊據傳走輸對斯總線呼壓力貍很大別;不僅僅需要竊傳輸岸數據荒,還源要頻賣繁地雄傳輸龍指令并行碗處理遠較困沒難:潛后面捧指令羅的數砌據即電使巳歸經準配備好躍,也贊必須腫按順脅序先煌執(zhí)行皮前面犧的指鄰令;對一吹些大有型的雅、復曬雜的址任務蒸,編異程比煮較困單難;外部筋設備線與存獄儲器懸間的辨數據朋傳送駝都要姜經過CP茂U,處獵理效滿率比幫較低港;邏輯絨推理頂能力拿較弱劉。35哈佛棍結構搶計算焰機指令固和數進據分蛋別存觸放在佩兩個延獨立皆的存寬儲器毛模塊終中;CP旦U與存港儲器民間指宴令和巾數據擔的傳勇送分暑別采賺用兩嶺組獨砌立的冬總線缸。常見請于單韻片計怨算機咽、嵌宋入式門計算揮機。3637本章碌小結圖靈達機是忌一種類抽象鋼的計砌算機括模型喂,用竭機器真來模

溫馨提示

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

評論

0/150

提交評論