圖靈機的理解


在很多地方都看到說現在的計算機都是在圖靈機的基礎上發展來的,圖靈機定義了現代計算機的核心部分,即輸入輸出設備,cpu,內部存儲器。也看多幾次關於的圖靈機的解釋,但是一直理解的不深刻,導致看的時候好像明白了點,但是再遇到時又支隊名字有印象,而記不起的圖靈機的本質,它究竟是什么。現在寫下自己對它的理解,還有百科上對它的解釋很詳細,也一並記一下。圖靈機是為了用機器模擬人的運算過程而實現的,當圖靈機從紙帶(tape)上讀取一個空格的信息,它就會根據控制器當前的狀態和控制規則(控制規則由控制器中的program提供),改變控制器的當前狀態,應該也可以改變紙帶當前空格上的值,然后紙帶移動一格。簡單看好像以前在離散數學課上學習的狀態機,用一個圓圈加數字表示當前狀態,根據輸入和當前狀態轉變為下一狀態。

圖靈機

    所謂的圖靈機就是指一個抽象的機器,它有一條無限長的紙帶,紙帶分成了一個一個的小方格,每個方格有不同的顏色。有一個機器頭在紙帶上移來移去。機器頭有一組內部狀態,還有一些固定的程序。在每個時刻,機器頭都要從當前紙帶上讀入一個方格信息,然后結合自己的內部狀態查找程序表,根據程序輸出信息到紙帶方格上,並轉換自己的內部狀態,然后進行移動。

圖靈的基本思想是用機器來模擬人們用紙筆進行數學運算的過程,他把這樣的過程看作下列兩種簡單的動作:
在紙上寫上或擦除某個符號;
把注意力從紙的一個位置移動到另一個位置;
而在每個階段,人要決定下一步的動作,依賴於 (a) 此人當前所關注的紙上某個位置的符號和(b) 此人當前思維的狀態。
為了模擬人的這種運算過程,圖靈構造出一台假想的機器,該機器由以下幾個部分組成:
1.一條無限長的紙帶  TAPE。紙帶被划分為一個接一個的小格子,每個格子上包含一個來自有限字母表的符號,字母表中有一個特殊的符號 表示空白。紙帶上的格子從左到右依此被編號為 0,1,2,... ,紙帶的右端可以無限伸展。
2.一個讀寫頭  HEAD。該讀寫頭可以在紙帶上左右移動,它能讀出當前所指的格子上的符號,並能改變當前格子上的符號。
3.一套控制規則  TABLE。它根據當前機器所處的狀態以及當前讀寫頭所指的格子上的符號來確定讀寫頭下一步的動作,並改變狀態寄存器的值,令機器進入一個新的狀態。
4.一個 狀態寄存器。它用來保存圖靈機當前所處的狀態。圖靈機的所有可能狀態的數目是有限的,並且有一個特殊的狀態,稱為停機狀態。參見 停機問題
注意這個機器的每一部分都是有限的,但它有一個潛在的無限長的紙帶,因此這種機器只是一個理想的設備。圖靈認為這樣的一台機器就能模擬人類所能進行的任何計算過程。
在某些模型中,紙帶移動,而未用到的紙帶真正是“空白”的。要進行的指令(q4)展示在掃描到方格之上(由 Kleene (1952) p.375 繪制)。
在某些模型中,讀寫頭沿着固定的紙帶移動。要進行的指令(q1)展示在讀寫頭內。在這種模型中“空白”的紙帶是全部為 0 的。有陰影的方格,包括讀寫頭掃描到的空白,標記了 1,1,B 的那些方格,和讀寫頭符號,構成了系統狀態。(由 Minsky (1967) p.121 繪制)。

 

存儲控制程序 

    雖然計算機技術發展很快,但存儲程序原理至今仍然是計算機內在的基本工作原理。自計算機誕生的那一天起,這一原理就決定了人們使用計算機的主要方式——編寫程序和運行程序。科學家們一直致力於提高程序設計的自動化水平,改進用戶的操作界面,提供各種開發工具、環境與平台,其目的都是為了讓人們更加方便地使用計算機,可以少編程甚至不編程來使用計算機,因為計算機編程畢竟是一項復雜的腦力勞動。但不管用戶的開發與使用界面如何演變,存儲程序控制原理沒有變,它仍然是我們理解計算機系統功能與特征的基礎。
    說到計算機的發展,就不能不提到美籍匈牙利科學家馮·諾依曼。從20世紀初,物理學和電子學科學家們就在爭論制造可以進行數值計算的機器應該采用什么樣的結構。人們被十進制這個人類習慣的計數方法所困擾。所以,那時以研制模擬計算機的呼聲更為響亮和有力。
    20世紀30年代中期,馮·諾依曼大膽的提出,拋棄十進制,采用二進制作為數字計算機的數制基礎。同時,他還說預先編制計算程序,然后由計算機來按照人們事前制定的計算順序來執行數值計算工作。馮·諾依曼和同事們設計出了一個完整的現代計算機雛形,並確定了存儲程序計算機的五大組成部分和基本工作方法。馮·諾依曼的這一設計思想被譽為計算機發展史上的里程碑,標志着計算機時代的真正開始。馮·諾依曼成功將其理論運用在計算機的設計之中,根據這一原理制造的計算機被稱為馮·諾依曼結構計算機,世界上第一台馮·諾依曼式計算機是1949年研制的EDVAC,由於他對現代計算機技術的突出貢獻,因此馮·諾依曼又被稱為“計算機之父”,存儲程序控制原理又稱馮·諾依曼原理。
CUI:馮·諾依曼體系機構
其理論要點如下:
1、計算機硬件設備由存儲器、運算器、控制器、輸入設備和輸出設備5部分組成。
2、存儲程序思想——把計算過程描述為由許多命令按一定順序組成的程序,然后把程序和數據一起輸入計算機,計算機對已存入的程序和數據處理后,輸出結果。
馮·諾依曼理論的要點是:數字計算機的數制采用二進制;計算機應該按照程序順序執行。
根據馮·諾依曼體系結構構成的計算機,必須具有如下功能:
把需要的程序和數據送至計算機中。
必須具有長期記憶程序、數據、中間結果及最終運算結果的能力。
能夠完成各種算術、邏輯運算和數據傳送等數據加工處理的能力。
能夠根據需要控制程序走向,並能根據指令控制機器的各部件協調操作。
能夠按照要求將處理結果輸出給用戶。
為了完成上述的功能,計算機必須具備五大基本組成部件,包括:
一 輸入數據和程序的輸入設備
二  記憶程序和數據的存儲器
三 完成數據加工處理的運算器
四 控制程序執行的控制器
五 輸出處理結果的輸出設備。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM