第六百八十章 組合語言之母Kathleen Booth(第1/4頁)
章節報錯
Kathleen hylda Valerie booth教授是英國早期的計算機先驅之一。
想象一下,必須透過重新佈線來對計算機進行程式設計。是不是很不可思議?
在1940年代中期,第一臺通用電子計算機就是以這種方式工作的。
像ENIAc這樣的計算機,最初並沒有用於程式碼的內部儲存。如果我們想要用它程式設計,就要操縱數千個開關和電纜,而這些開關和電纜所在的位置,就是程式。
所有帶旋轉開關的單元都是需要大量程式設計的地方。
此時的程式設計,必須手動更改數千根電纜和開關,或者在卡片上打孔,然後將卡片送入計算機,這可能需要數天時間,而且極易出錯。
在Kathleen booth開始研究計算機的那個年代,有那麼一小群人,開始產生了將程式儲存在計算機內部的想法。而她也是最早研究「軟體」這一新概念的人之一,她從中看到了需求,發明了組合語言,使計算機程式設計更加人性化。
Andrew booth在與x射線晶體學家Jd bernal教授(伯納爾球的發明者)合作期間,使用x射線衍射資料來研究晶體結構。他發現手動計算非常繁瑣,於是造了一臺模擬計算機,來自動化部分步驟。
1946年,他在伯貝克擔任納菲爾德研究員。但由於學院沒有空間,而且由於bRpRA為其提供資金,所以他的工作是在bRpRA的設施上完成的。
就在那時,他遇到了Kathleen。同年,Kathleen和Andrew在伯貝克學院合作發明了一臺早期的數字計算機——自動中繼計算機(ARc)。ARc使用紙帶進行輸入,實際上是一臺用作傅立葉合成器的專用計算機。
在此期間,他們一同建立瞭如今的伯貝克電腦科學與資訊系統系。
1945年,約翰·馮·諾依曼(John von Neumann)撰寫了一份名為「EdVAc報告初稿」的檔案,在這份檔案中,他描述了後來被稱為計算機的馮·諾依曼架構。
在這個架構中,他定義了計算機的各個部分,特別是儲存在計算機記憶體中的程式。出於這個原因,它也被稱為儲存程式計算機。
在經典的馮·諾依曼計算機架構中,地址空間大部分用於指向記憶體,其餘部分用於指向外部裝置:記憶體並不關心裡面儲存的是什麼。
1947年,Andrew和Kathleen在普林斯頓大學與馮諾依曼和IAS機器合作時,編寫了一個程式,用於在電子計算機上實現翻譯詞典,前提是提供必要的儲存容量。這是史上最早的機器翻譯奠基工作。
在這一年,bernal幫助Kathleen和Andrew從洛克菲勒基金會申請到了訪問普林斯頓高等研究院的資金。在此期間,Andrew和Kathleen與馮諾依曼一起共事了6個月。
根據Andrew的說法,在訪問期間,只有bernal的朋友約翰·馮·諾伊曼在任何時間都會接待他們。
一個簡化的記憶體管理系統——cpU中的程式計數器不再直接指向記憶體,而是產生一個進入mmU的虛擬地址,重定位常量新增到虛擬地址,以在記憶體中建立實體地址。
就是這次訪問,讓他們第一次聽說了馮諾依曼架構。受到啟發,他們重新設計了ARc,僅用了2個月就設計了機器的繼電器部分,並且提出了關於ARc2的構想。
還是在1947年,Kathleen和他還寫了兩份關於它的報告《通用電子數字計算機設計中的一般考慮因素》和《ARc編碼》。其中第一份報告廣為流傳。在其中,他們詳細介紹了馮諾依曼架構機器,並介紹了記憶體的不同選