計算機(jī)是怎樣跑起來的矢澤久雄著_第1頁
計算機(jī)是怎樣跑起來的矢澤久雄著_第2頁
計算機(jī)是怎樣跑起來的矢澤久雄著_第3頁
計算機(jī)是怎樣跑起來的矢澤久雄著_第4頁
計算機(jī)是怎樣跑起來的矢澤久雄著_第5頁
已閱讀5頁,還剩269頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

譯(程序設(shè)計)Ⅰ...①①TP3計算機(jī)-CIP本書倡導(dǎo)在計算機(jī)迅速發(fā)展、技術(shù)不斷革新的 ,回歸到計算機(jī)的基礎(chǔ)知相繼開發(fā)以及SE的相關(guān)知識。閱讀。著譯人民郵電樂高馨市豐臺區(qū) 路11號譯(程序設(shè)計)Ⅰ...①①TP3計算機(jī)-CIP本書倡導(dǎo)在計算機(jī)迅速發(fā)展、技術(shù)不斷革新的 ,回歸到計算機(jī)的基礎(chǔ)知相繼開發(fā)以及SE的相關(guān)知識。閱讀。著譯人民郵電樂高馨市豐臺區(qū) 路11號315@郵件印刷1/3254-40冊12015年5月第1版2015年5月第1次印刷0元6轉(zhuǎn)0量版 6證工商廣前 言我從10年前開始擔(dān)任企業(yè)培訓(xùn)的講師。培訓(xùn)的對象有時是新入職的員工,有時是入職了多年的骨干員工。這期間通過與一些勉強(qiáng)算是計算機(jī)的年輕工程師接觸,我感到與過去的工程師(計算機(jī)發(fā)燒少得可憐。并不是說所有的培訓(xùn)對象此,但這樣的工程師確實(shí)占多數(shù)。這并不是大吼著命令他們繼續(xù)學(xué)習(xí)或用激將法嘲諷他們的專業(yè)性就能解決的問題。究其根源,是因?yàn)橛嬎銠C(jī)對他們來說,并沒有有意思到可以令他們廢寢忘食的地步。為什前 言我從10年前開始擔(dān)任企業(yè)培訓(xùn)的講師。培訓(xùn)的對象有時是新入職的員工,有時是入職了多年的骨干員工。這期間通過與一些勉強(qiáng)算是計算機(jī)的年輕工程師接觸,我感到與過去的工程師(計算機(jī)發(fā)燒少得可憐。并不是說所有的培訓(xùn)對象此,但這樣的工程師確實(shí)占多數(shù)。這并不是大吼著命令他們繼續(xù)學(xué)習(xí)或用激將法嘲諷他們的專業(yè)性就能解決的問題。究其根源,是因?yàn)橛嬎銠C(jī)對他們來說,并沒有有意思到可以令他們廢寢忘食的地步。為什么他們會覺得計算機(jī)沒意思呢?通過和多名培訓(xùn)對象的交流,我漸漸找到了。因?yàn)樗麄儾涣私庥嬎銠C(jī)。,又是什么造成了他們的,計算機(jī)正在以驚人的速度發(fā)展變化著,變得越來越復(fù)雜,而這期間產(chǎn)生了許多技術(shù),但是人們并沒有過多的時間去深入學(xué)習(xí)每一門技術(shù),這就是問題的根源。稍微看了看技術(shù)手冊,只學(xué)到了表層的使用,覺得“反正已經(jīng)達(dá)到目的了這就是現(xiàn)狀。如果僅僅把技術(shù)當(dāng)作一個黑盒,只把時間花在學(xué)習(xí)其表面上,而并沒有探索到其本質(zhì),就絕不應(yīng)該認(rèn)為感到?jīng)]意思,也就更產(chǎn)生想要深入學(xué)習(xí)的欲望了。若使用的都是些不知其所以然的技術(shù),就會漸漸不安起來。令人感到遺憾的是,還有一些人在計算機(jī)行業(yè)遇到挫折后,就選擇了離開這個行業(yè)。身為一名教授計算機(jī)技術(shù)的講師,我由衷地感到現(xiàn)狀。應(yīng)該想辦法改變這種對于筆者以及昔日的計算機(jī)發(fā)燒友而言,雖然大家現(xiàn)在都已經(jīng)40,但即使是面對復(fù)雜的最新技術(shù),似乎也還是可以輕松掌握歲的。其在于,從可以輕松買到最初的8比特微型計算機(jī)的那個時候開始,我們就幸運(yùn)地接觸到了計算機(jī)。面對為數(shù)不多的技術(shù),我們可以從容地把時間花在學(xué)習(xí)計算機(jī)的基礎(chǔ)知識上的。其在于,從可以輕松買到最初的8比特微型計算機(jī)的那個時候開始,我們就幸運(yùn)地接觸到了計算機(jī)。面對為數(shù)不多的技術(shù),我們可以從容地把時間花在學(xué)習(xí)計算機(jī)的基礎(chǔ)知識上。而這些基礎(chǔ)知識,即使到了也完全沒有變化。因此,即便面對的是復(fù)雜的最新技術(shù),一旦把它們回歸到計算機(jī)的基礎(chǔ)知識上,就變得可以輕松理解了。就算是和年輕的工程師們閱讀同樣的技術(shù)手冊,我們領(lǐng)會其中的要點(diǎn)、抓住其本質(zhì)的速度也要快得多。,其他學(xué)問亦是如此。首先要劃出一個“知識的范圍精通一門學(xué)問所必知必會的知識都在這個范圍內(nèi)。其次是掌握該范圍內(nèi)每個知識點(diǎn)中“基礎(chǔ)中的基礎(chǔ)知識最后是能獨(dú)當(dāng)一面的“目標(biāo)即掌握了這些以做什么。下面就以學(xué)習(xí)音樂為例說明這三點(diǎn)。首先,劃出的“知識范圍”是節(jié)奏、旋律、和弦這三個知識點(diǎn)。“基礎(chǔ)中的基礎(chǔ)知識對于節(jié)奏來說就是四拍子(大、大、大、大,對于旋律來說就是C(doremifaolaido,對于和弦(domi。以四拍子為基礎(chǔ)就能理解更加復(fù)雜的三拍子或五拍子;以C大調(diào)為基礎(chǔ)就能理解更加復(fù)雜的降B小調(diào);以大三和弦為基礎(chǔ)就能理解更加復(fù)雜的減三和弦。而最終的“目標(biāo)”就是能夠 作曲并演奏,盡管這時僅能完成很簡單的曲子。本書的目的是想讓諸位了解有關(guān)計算機(jī)技術(shù)的知識范圍,掌握其基礎(chǔ)中的基礎(chǔ)知識,設(shè)定目標(biāo);同時又想讓那些打算用計算機(jī)做點(diǎn)什么,卻又因難以下手而猶豫不決的人,以及雖然就職于計算機(jī)行業(yè),卻又因追趕不上最新技術(shù)而苦惱的人,能夠了解計算機(jī)的本質(zhì)。其實(shí)計算機(jī)非常簡單,誰都能掌握。只要掌握了,計算機(jī)就會越來越有趣。矢澤久雄目錄計算機(jī)的三大原則1.41.5計算機(jī)的三個根本性基礎(chǔ)是指令和數(shù)據(jù)的集合對計算機(jī)來說什么都是數(shù)字輕松應(yīng)對為了貼近人類,計算機(jī)在不斷地進(jìn)化稍微預(yù)習(xí)一下第246891.61.71013試著一臺計算機(jī)吧電路圖的讀法連接I/O連接時鐘信號連接用于區(qū)分讀寫對象是內(nèi)存還是目錄計算機(jī)的三大原則1.41.5計算機(jī)的三個根本性基礎(chǔ)是指令和數(shù)據(jù)的集合對計算機(jī)來說什么都是數(shù)字輕松應(yīng)對為了貼近人類,計算機(jī)在不斷地進(jìn)化稍微預(yù)習(xí)一下第246891.61.71013試著一臺計算機(jī)吧電路圖的讀法連接I/O連接時鐘信號連接用于區(qū)分讀寫對象是內(nèi)存還是I/O的引腳連接剩余的 引腳1517212326272829連接外部,通過DMA輸入程序34連接用于輸入輸出的外部352.10輸入測試程序并進(jìn)行調(diào)試36體驗(yàn)一次手工匯編3.1從程序員的角度看硬件3.2機(jī)器語言和匯編語言3941441第3章第2章第1章3.6Z80CPU的寄存器結(jié)構(gòu)追蹤程序的運(yùn)行過程嘗試手工匯編嘗試估算程序的執(zhí)行時間49525457程序像河水一樣著5964.7程序的流程分為三種用流表示程序的流程65結(jié)構(gòu)化程序設(shè)計6872畫流特殊的來思考算法程——中斷處理7577程——驅(qū)動78來自企業(yè)培訓(xùn)現(xiàn)場電阻顏色代碼的諧音助記口訣83.6Z80CPU的寄存器結(jié)構(gòu)追蹤程序的運(yùn)行過程嘗試手工匯編嘗試估算程序的執(zhí)行時間49525457程序像河水一樣著5964.7程序的流程分為三種用流表示程序的流程65結(jié)構(gòu)化程序設(shè)計6872畫流特殊的來思考算法程——中斷處理7577程——驅(qū)動78來自企業(yè)培訓(xùn)現(xiàn)場電阻顏色代碼的諧音助記口訣82與算法成為好朋友的七個要點(diǎn)8585.75.8要點(diǎn)18889919295991012第5章COLUMN第4章與數(shù)據(jù)結(jié)為好朋友的七個要點(diǎn)103106.7要點(diǎn)3要點(diǎn)4108109114118120成為會使用面向?qū)ο缶幊痰某绦騿T吧125122面向?qū)ο缶幊虒OP與數(shù)據(jù)結(jié)為好朋友的七個要點(diǎn)103106.7要點(diǎn)3要點(diǎn)4108109114118120成為會使用面向?qū)ο缶幊痰某绦騿T吧125122面向?qū)ο缶幊虒OP觀點(diǎn)1128130觀點(diǎn)2觀點(diǎn)5UML設(shè)計程序觀點(diǎn)6132134134135137類和對象的區(qū)別類有三種使用和多態(tài)140141143在Java和.NETOOP145一用就會的數(shù)據(jù)庫147148.4數(shù)據(jù)庫是數(shù)據(jù)的基地數(shù)據(jù)文件、DBMS和數(shù)據(jù)庫應(yīng)用程序設(shè)計數(shù)據(jù)庫通過拆表和整理數(shù)據(jù)實(shí)現(xiàn)規(guī)范化1511541573第8章第7章第6章8.88.9用主鍵和外鍵在表間建立設(shè)計用戶界面向DBMS發(fā)送CRUD操作的SQL使用數(shù)據(jù)對象向DBMS發(fā)送SQL語句1591621641651678.10事務(wù)也可以交給DBMS處理170來自企業(yè)培訓(xùn)現(xiàn)場培訓(xùn)新人編推薦使用什么編程語言?172通過七個簡單的實(shí)驗(yàn)理解TCP/IP網(wǎng)絡(luò)17517實(shí)驗(yàn)環(huán)境實(shí)驗(yàn)8.88.9用主鍵和外鍵在表間建立設(shè)計用戶界面向DBMS發(fā)送CRUD操作的SQL使用數(shù)據(jù)對象向DBMS發(fā)送SQL語句1591621641651678.10事務(wù)也可以交給DBMS處理170來自企業(yè)培訓(xùn)現(xiàn)場培訓(xùn)新人編推薦使用什么編程語言?172通過七個簡單的實(shí)驗(yàn)理解TCP/IP網(wǎng)絡(luò)17517實(shí)驗(yàn)環(huán)境實(shí)驗(yàn)1MAC地址實(shí)驗(yàn)2IP實(shí)驗(yàn)3DHCP服務(wù)器的作用179182184186188實(shí)驗(yàn)6DNS服務(wù)器可以把主機(jī)名成P190實(shí)驗(yàn)7:查看IPMACTCP的作用及TCP/IP網(wǎng)絡(luò)的層級模型192193試著加密數(shù)據(jù)吧19719910.410.5先來明確一下什么是加密錯開字符編碼的加密方式201密鑰越長,越205適用于互聯(lián)網(wǎng)的公開密鑰加密技術(shù)數(shù)字簽名可以證明數(shù)據(jù)的發(fā)送者是誰2082114第章第9章COLUMNXML究竟是什么21521711.411.511.611.711.811.9XMLXML219220XMLXML可以為XML賦予意義格式224227230可以嚴(yán)格地定義XML的文檔結(jié)構(gòu)232用于XML233XML235SE的構(gòu)建2392412.412.512.612.712.8XML究竟是什么21521711.411.511.611.711.811.9XMLXML219220XMLXML可以為XML賦予意義格式224227230可以嚴(yán)格地定義XML的文檔結(jié)構(gòu)232用于XML233XML235SE的構(gòu)建2392412.412.512.612.712.812.9SESE系統(tǒng)開發(fā)過程的規(guī)范所謂設(shè)計,就是拆解243243245247面向?qū)ο蠓ê喕斯ぷ?49技術(shù)能力和能力250IT252計算的與失敗利用率的多機(jī)備份25312.10大幅提升2555第第章計算機(jī)是怎樣跑起來的——要講解的主要知識的范圍目標(biāo)編程程序像河水一樣 著流程的種類、流 、結(jié)構(gòu)化編程、中斷、 驅(qū)動與算法成為好朋友的七個要點(diǎn)輾轉(zhuǎn)相除法、 篩法、雞兔同籠問題、線性搜索、哨兵與數(shù)據(jù)結(jié) 為好朋友的七個要點(diǎn)變量、數(shù)組、棧、隊列、結(jié)構(gòu)體、自我 的結(jié)構(gòu)體、列表、二叉樹成為會使用面向?qū)ο缶幊痰某绦騿T吧類、可維護(hù)性、建模、UML、消息傳遞、繼承、 、多態(tài)基礎(chǔ)中的基礎(chǔ)知識(開端)計算機(jī)的三大原則的SE負(fù)責(zé)監(jiān)管計算 的構(gòu)建瀑布模型、文檔、審核、設(shè)計 、 化、 利用率計算機(jī)是怎樣跑起來的——要講解的主要知識的范圍目標(biāo)編程程序像河水一樣 著流程的種類、流 、結(jié)構(gòu)化編程、中斷、 驅(qū)動與算法成為好朋友的七個要點(diǎn)輾轉(zhuǎn)相除法、 篩法、雞兔同籠問題、線性搜索、哨兵與數(shù)據(jù)結(jié) 為好朋友的七個要點(diǎn)變量、數(shù)組、棧、隊列、結(jié)構(gòu)體、自我 的結(jié)構(gòu)體、列表、二叉樹成為會使用面向?qū)ο缶幊痰某绦騿T吧類、可維護(hù)性、建模、UML、消息傳遞、繼承、 、多態(tài)基礎(chǔ)中的基礎(chǔ)知識(開端)計算機(jī)的三大原則的SE負(fù)責(zé)監(jiān)管計算 的構(gòu)建瀑布模型、文檔、審核、設(shè)計 、 化、 利用率型數(shù)據(jù)庫、DBMS、規(guī)范化、索引、SQL、事務(wù)網(wǎng)絡(luò)通過七個簡單的實(shí)驗(yàn)理解TCP/IP網(wǎng)絡(luò)NIC、MAC地址、以太網(wǎng)、IP地址、DHCP、路由器、DNS、TCP試著加密數(shù)據(jù)吧字符編碼、密鑰、XOR運(yùn)算、對稱密鑰加密技術(shù)、公開密鑰加密技術(shù)、數(shù)字簽名XML究竟是什么標(biāo)記語言、元語言、CSV、命名空間、DTD、XMLSchema、DOM、SOAP數(shù)據(jù)庫一用就會的數(shù)據(jù)庫硬件和試著 一臺計算機(jī)吧、 A體驗(yàn)一次手工匯編機(jī)器語言、匯編語言、操作碼、操作數(shù)、寄存器、內(nèi)存地址和I/O地址型數(shù)據(jù)庫、DBMS、規(guī)范化、索引、SQL、事務(wù)網(wǎng)絡(luò)通過七個簡單的實(shí)驗(yàn)理解TCP/IP網(wǎng)絡(luò)NIC、MAC地址、以太網(wǎng)、IP地址、DHCP、路由器、DNS、TCP試著加密數(shù)據(jù)吧字符編碼、密鑰、XOR運(yùn)算、對稱密鑰加密技術(shù)、公開密鑰加密技術(shù)、數(shù)字簽名XML究竟是什么標(biāo)記語言、元語言、CSV、命名空間、DTD、XMLSchema、DOM、SOAP數(shù)據(jù)庫一用就會的數(shù)據(jù)庫硬件和試著 一臺計算機(jī)吧、 A體驗(yàn)一次手工匯編機(jī)器語言、匯編語言、操作碼、操作數(shù)、寄存器、內(nèi)存地址和I/O地址本書的結(jié)構(gòu)本書共分為12章,每章由熱身問答、本章要點(diǎn)和正文三部分還穿插了2個專欄。。全書熱身問答在各章的開頭部分設(shè)有簡單的問題作為熱身活動,請諸位務(wù)必一下本書的結(jié)構(gòu)本書共分為12章,每章由熱身問答、本章要點(diǎn)和正文三部分還穿插了2個專欄。。全書熱身問答在各章的開頭部分設(shè)有簡單的問題作為熱身活動,請諸位務(wù)必一下。設(shè)置這一部分的目的,是諸位能帶著問題閱讀正文的內(nèi)容。本章重點(diǎn)各章的本章要點(diǎn)部分揭示了正文的中是否有想要了解的內(nèi)容。。諸位可以讀一讀,以確認(rèn)這一章正文正文部分會以講座的方式,從各章要點(diǎn)中提到的角度出發(fā),對計算機(jī)的運(yùn)行機(jī)制予以解釋說明。其中還會出現(xiàn)用VisualBasic或C語言等編程語言編寫的示例程序,編寫力求精簡,即便是沒有編程經(jīng)驗(yàn)的讀者也能看懂。專欄“來自企業(yè)培訓(xùn)現(xiàn)場”專欄部分將會與諸位筆者自擔(dān)任講師以來,從培訓(xùn)現(xiàn)場收集來的各種各樣的軼事。諸位可以時而站在講師的角度、時而站在聽眾的角度讀一讀這部分。專欄部分不僅有嚴(yán)肅認(rèn)真的話題,更有有趣逗樂的笑話,想必會對諸位有所幫助。第1章計算機(jī)的三大原則??初級問題硬件和 的區(qū)別是什么?中級問題字 “高級問題什么是編碼(Code)?????第1章計算機(jī)的三大原則??初級問題硬件和 的區(qū)別是什么?中級問題字 “高級問題什么是編碼(Code)?????第1章計算機(jī)的三大原則怎么樣?被這么一問,是不是發(fā)現(xiàn)有一些問題無法簡單地解釋清楚呢?下面,筆者就公布并解釋。??初級問題:硬件是看得見摸得著的,比如計算機(jī)主機(jī)、顯示器、鍵盤等。而是計算機(jī)所執(zhí)行的程序,即指令和數(shù)據(jù)。本身是看不見的。GBK“高級問題:通常將為了便于計算機(jī)處理而經(jīng)過數(shù)字化處理的信息稱作編碼。解釋初級問題:(硬的東西而(Software)代表“軟的東西第1章計算機(jī)的三大原則怎么樣?被這么一問,是不是發(fā)現(xiàn)有一些問題無法簡單地解釋清楚呢?下面,筆者就公布并解釋。??初級問題:硬件是看得見摸得著的,比如計算機(jī)主機(jī)、顯示器、鍵盤等。而是計算機(jī)所執(zhí)行的程序,即指令和數(shù)據(jù)。本身是看不見的。GBK“高級問題:通常將為了便于計算機(jī)處理而經(jīng)過數(shù)字化處理的信息稱作編碼。解釋初級問題:(硬的東西而(Software)代表“軟的東西是硬的還是軟的取決于眼睛能否看得到,或者實(shí)際上能否用手摸到。中級問題:漢字時,字符編碼不同,漢字所占用的字節(jié)數(shù)也就不同。在GBK字符編碼下,一個漢字占用2個字節(jié)。而在UTF-8字符編碼下,一個漢字占用3個字節(jié)。高級問題:計算機(jī)內(nèi)部會把所有的都當(dāng)成數(shù)字來處理,盡管有些編碼“顏色編碼21.1計算機(jī)的三個根本性基礎(chǔ)????現(xiàn)在的計算機(jī)看起來好像是種高度復(fù)雜的機(jī)器,50需要把握的最基礎(chǔ)的要點(diǎn)只有三個,我們就將這三個要點(diǎn)稱為“計算機(jī)的三大原則”吧。無論是多么高深、多么難懂的最新技術(shù),都可以對照著這三大原則來解釋說明。只要了解了計算機(jī)的三大原則,就會感到眼前豁然開朗了,計算機(jī)也比以往更加貼近了。本書以本章了,就連新技術(shù)接連不斷誕生的也明白的計算機(jī)的三大原則為基礎(chǔ),內(nèi)容延伸至硬件和、編程、數(shù)據(jù)庫、網(wǎng)絡(luò)以及計算。在閱讀之后的章節(jié)時,也請諸位時常將計算機(jī)的三大原則放在心上。1.1計算機(jī)的三個根本性基礎(chǔ)下面就趕緊開始計算機(jī)的三大原則吧。計算機(jī)是執(zhí)行輸入、運(yùn)算、輸出的機(jī)器程序是指令和數(shù)據(jù)的集合計算機(jī)的處理方式有時與人們的思維習(xí)慣不同計算機(jī)是由硬件和組成的。諸位可以把硬件和的區(qū)別理1.1計算機(jī)的三個根本性基礎(chǔ)????現(xiàn)在的計算機(jī)看起來好像是種高度復(fù)雜的機(jī)器,50需要把握的最基礎(chǔ)的要點(diǎn)只有三個,我們就將這三個要點(diǎn)稱為“計算機(jī)的三大原則”吧。無論是多么高深、多么難懂的最新技術(shù),都可以對照著這三大原則來解釋說明。只要了解了計算機(jī)的三大原則,就會感到眼前豁然開朗了,計算機(jī)也比以往更加貼近了。本書以本章了,就連新技術(shù)接連不斷誕生的也明白的計算機(jī)的三大原則為基礎(chǔ),內(nèi)容延伸至硬件和、編程、數(shù)據(jù)庫、網(wǎng)絡(luò)以及計算。在閱讀之后的章節(jié)時,也請諸位時常將計算機(jī)的三大原則放在心上。1.1計算機(jī)的三個根本性基礎(chǔ)下面就趕緊開始計算機(jī)的三大原則吧。計算機(jī)是執(zhí)行輸入、運(yùn)算、輸出的機(jī)器程序是指令和數(shù)據(jù)的集合計算機(jī)的處理方式有時與人們的思維習(xí)慣不同計算機(jī)是由硬件和組成的。諸位可以把硬件和的區(qū)別理就能理解硬件和。在此之上,計算機(jī)有計算機(jī)的處理方式也是一條重要的原則。而,計算機(jī)的處理方式往往不符合人們的思維習(xí)慣(三大原則中的第三點(diǎn)。3第1章計算機(jī)的三大原則計算機(jī)三大原則中的每一條,都是從事計算機(jī)行業(yè)20余年的筆者深切領(lǐng)悟出來的。諸位可以把這本書拿給你周圍了解計算機(jī)的朋友看,他們應(yīng)該會對你說“確實(shí)是這樣的啊當(dāng)然是這樣的了這類話。第1章計算機(jī)的三大原則計算機(jī)三大原則中的每一條,都是從事計算機(jī)行業(yè)20余年的筆者深切領(lǐng)悟出來的。諸位可以把這本書拿給你周圍了解計算機(jī)的朋友看,他們應(yīng)該會對你說“確實(shí)是這樣的啊當(dāng)然是這樣的了這類話。過去的計算機(jī)發(fā)燒友們在不知不覺中就能逐漸領(lǐng)悟出計算機(jī)的三大原則。而對于那些打算從今日開始深入接觸計算機(jī)的普通人來說,三大原則中的有些地方也許一時半會兒難以理解,但是不要擔(dān)心,因?yàn)橄旅娴慕忉寱η笞屩T位都能理解三大原則的具體含義。1.2輸入、運(yùn)算、輸出是硬件的基礎(chǔ)首先從硬件的基礎(chǔ)開始。從硬件上來看,可以說計算機(jī)是執(zhí)行輸入、運(yùn)算、輸出三種操作的機(jī)器。計算機(jī)的硬件由大量的IC(IntegratedCircuit,集成電路)組成(如圖1.1所示。每塊IC上有許多引腳。這些引腳有的用于輸入,有的用于輸出。IC會在其內(nèi)部對外部輸入的進(jìn)行運(yùn)算,并把運(yùn)算結(jié)果輸出到外部。運(yùn)算這個詞聽起來也許有些難以理解,但實(shí)際上就是計算的意思。計算機(jī)所做的“輸入數(shù)據(jù)1和2,然后對它們執(zhí)行加法“運(yùn)算“輸41.1IC1.2輸入、運(yùn)算、輸出是硬件的基礎(chǔ)小型的IC自不必說,就連在觀察銀行的在線系統(tǒng)這類巨型系統(tǒng)時,或是編寫復(fù)雜的,也要時常把輸入、運(yùn)算、輸出這三者想一套流程,這一點(diǎn)很重要。其實(shí)計算機(jī)就是臺簡單的機(jī)器,因?yàn)樗荒茏鲞@三件事?!澳阏f得不對,計算機(jī)能做的事遠(yuǎn)比這些多得多也許會有人這樣反駁筆者。的確,計算機(jī)可以做各種各樣的事,比如玩游戲、處理文字、核算報表、繪圖、收發(fā)郵件、瀏覽網(wǎng)頁,等等。1.2輸入、運(yùn)算、輸出是硬件的基礎(chǔ)小型的IC自不必說,就連在觀察銀行的在線系統(tǒng)這類巨型系統(tǒng)時,或是編寫復(fù)雜的,也要時常把輸入、運(yùn)算、輸出這三者想一套流程,這一點(diǎn)很重要。其實(shí)計算機(jī)就是臺簡單的機(jī)器,因?yàn)樗荒茏鲞@三件事?!澳阏f得不對,計算機(jī)能做的事遠(yuǎn)比這些多得多也許會有人這樣反駁筆者。的確,計算機(jī)可以做各種各樣的事,比如玩游戲、處理文字、核算報表、繪圖、收發(fā)郵件、瀏覽網(wǎng)頁,等等。但是無論是多么復(fù)雜的功能,都是通過組合一個又一個由輸入、運(yùn)算、輸出構(gòu)成的流程來實(shí)現(xiàn)的,這是毋庸置疑的事實(shí)。如果打算用計算機(jī)做點(diǎn)什么的話,就要考慮該如何進(jìn)行輸入、如何獲取輸出以及進(jìn)行怎樣的運(yùn)算才能從輸入得到輸出。輸入、運(yùn)算、輸出三者必須成套出現(xiàn),。這樣說的有幾點(diǎn)。首先,現(xiàn)在的計算機(jī)還沒有發(fā)展到能通過自發(fā)的思考創(chuàng)造出的地步。因此不輸入,計算機(jī)就不能工作。所以,輸入是必不可少的。其次,計算機(jī)不可能不執(zhí)行任何運(yùn)算。如果只是使輸入的??梢哉f如果,那么這也不是計算機(jī)而只是堆積的箱了。因此,輸出也必不可少。5輸入 輸出1.2計算機(jī)只會輸入、運(yùn)算、輸出運(yùn)算第1章計算機(jī)的三大原則1.3下面是指令和數(shù)據(jù)的集合,即程序的基礎(chǔ)。所謂實(shí)非常簡單,只不、多么復(fù)雜,其內(nèi)容也都是令。把。這里成套出現(xiàn)的輸入、運(yùn)算、輸出,就是之前在硬件的基礎(chǔ)一節(jié)中說明過的流程。算機(jī)發(fā)出的指令與計算機(jī)硬件上的行為一一對應(yīng)是理所當(dāng)然的。在程序設(shè)計中會為一組指令賦予一個名字可以稱之為第1章計算機(jī)的三大原則1.3下面是指令和數(shù)據(jù)的集合,即程序的基礎(chǔ)。所謂實(shí)非常簡單,只不、多么復(fù)雜,其內(nèi)容也都是令。把。這里成套出現(xiàn)的輸入、運(yùn)算、輸出,就是之前在硬件的基礎(chǔ)一節(jié)中說明過的流程。算機(jī)發(fā)出的指令與計算機(jī)硬件上的行為一一對應(yīng)是理所當(dāng)然的。在程序設(shè)計中會為一組指令賦予一個名字可以稱之為“函數(shù)語句子例程子程序等。這里稍微說些題外話,在計算機(jī)行業(yè),明明是同一個東西,卻可以用各種各樣的術(shù)語來指代它,這種現(xiàn)象請諸位注意。如果只想用一個名字的話,薦稱之為函數(shù),因?yàn)檫@個名字通俗易懂。情況下筆者推的數(shù)據(jù)分為兩類,一類是作為指令執(zhí)行對象的輸入數(shù)據(jù),一類是從指令的執(zhí)行結(jié)果得到的輸出數(shù)據(jù)。在編程序員會為數(shù)據(jù)賦予名字,稱其為“變量看到變量和函數(shù),諸位也許會聯(lián)想到數(shù)學(xué)吧。正如數(shù)學(xué)中函數(shù)的表記似于下面的這種語法。那樣,在很多編程語言中都使用著類y=f(x)這句話表示若把變量x輸入到函數(shù)f中,經(jīng)過函數(shù)內(nèi)部的某種運(yùn)算后,其結(jié)果就會輸出到變量y中。因?yàn)橛嬎銠C(jī)是先把所有的示成數(shù)字后進(jìn)行運(yùn)算的,所以編程語言的語法類似數(shù)學(xué)算式也就不足為奇了。但是在名字都可以由一個以上的字符有一點(diǎn)與數(shù)學(xué)不同的是,變量和函數(shù)的,比如下面這種情況。outputoperate(input)=61.3是指令和數(shù)據(jù)的集合也就是說,使用由多個字符說,寫成這樣的情況更加普遍。的長名字也是可以的。甚至可以下面我們就舉一個例子作為證據(jù)來證明程序是指令和數(shù)據(jù)的集合。請諸位看代碼 1.1。這里列出了一段用名為C語言的編程語言編寫的程序。C1.3是指令和數(shù)據(jù)的集合也就是說,使用由多個字符說,寫成這樣的情況更加普遍。的長名字也是可以的。甚至可以下面我們就舉一個例子作為證據(jù)來證明程序是指令和數(shù)據(jù)的集合。請諸位看代碼 1.1。這里列出了一段用名為C語言的編程語言編寫的程序。C語言中要在每條指令的末尾寫一個分“;。第一行“inta,b,c;”表示接下來要使用名為a、b、c的整數(shù)變量,其中int是integer(整數(shù))的縮寫,用于告訴計算機(jī)“要用的是整數(shù)。下一行的“a=10表示把整數(shù)10賦值給變量a。同樣地b=20;表示把整數(shù)20賦值給變量b。等號“=”是賦值給變量的指令。再來看最后一行的“c=verage(a,b);這一行表示把變量a和b傳給函數(shù)的參數(shù),運(yùn)算結(jié)果賦值給變量c。其中使用了一個名為Average的神秘函數(shù),它的作用是返回兩個參數(shù)的平均值。通過上面這個例子,諸位就應(yīng)該能明白程序確實(shí)只是由指令和數(shù)據(jù)的了吧。代碼1.1C但是那些稍微有些編程經(jīng)驗(yàn)的人也許會說:代碼1.1所示的程序邏輯簡單,而真正的程序是使用了各種各樣的語法、比這復(fù)雜得多得多的東西,絕不是用指令和數(shù)據(jù)的集合就能解釋清楚的。其實(shí)并不是像他們想的那樣,無論是多么復(fù)雜的程序,不過是指令和數(shù)據(jù)的集合。下面我們再拿出一個證據(jù)。在的編程過程中,都要先編譯再執(zhí)行。所謂編譯就是把用C語的文件。假設(shè)我們先把代碼 1.1中的代碼保存到文件MyProg.c中,7inta,b,c;a=10;b=20;c=Average(a,b);第1章計算機(jī)的三大原則能查看文件內(nèi)容的工具查看MyProg.exe,其內(nèi)容應(yīng)該與代碼1.2代碼1.2機(jī)器語言的程序示例請選擇一個代碼1.2中的數(shù)值,隨便哪個都可以。這個數(shù)值代,還是表示將成為指令執(zhí)行對象的數(shù)據(jù)呢?不過這終歸是想象第1章計算機(jī)的三大原則能查看文件內(nèi)容的工具查看MyProg.exe,其內(nèi)容應(yīng)該與代碼1.2代碼1.2機(jī)器語言的程序示例請選擇一個代碼1.2中的數(shù)值,隨便哪個都可以。這個數(shù)值代,還是表示將成為指令執(zhí)行對象的數(shù)據(jù)呢?不過這終歸是想象,第一個數(shù)值C7表示指令,45表示數(shù)據(jù)。在諸位所使用的Windows個人計算機(jī)中,應(yīng)該會有若干個以.exe為擴(kuò)展名的可執(zhí)行程序文件。無論是哪個1.4對計算機(jī)來說什么都是數(shù)字計算機(jī)有計算機(jī)的處理,這是三大原則中的最后一點(diǎn)。計算機(jī)本身只不過是為我們處理特定工作的機(jī)器。如果計算機(jī)能干活的話,那么筆者一定會買幾百臺,讓它們先替完成一整年的工作。但是,并沒有這種會掙錢的計算機(jī),計算機(jī)終究只是受人支配的工具。迄今為止,使用計算機(jī)的目的就是為了提高手工作業(yè)的效率。例如,文字處理可以提高編寫文檔的效率;郵件可以提高傳統(tǒng)郵件寄送的效率??傊?,作為可以提高工作效率的工具,有些靠手工作業(yè)完成的業(yè)務(wù)可以直接交給計算機(jī)處理。但是也有很多手工作業(yè)無法直接由計算機(jī)處理。也就是說,在用計算機(jī)替代手工作業(yè)的過程中,要想順應(yīng)計算機(jī)的處理特別留心這一點(diǎn)。,有時就要違背人們的思維習(xí)慣。請諸位8C745FC01000000C745F8020000008B45F8508B4DFC51E882FFFFFF83C4088945F48B55F452681C304200E8B9030000831.5只要理解了三大原則,即使遇到難懂的最新技術(shù),也能輕松應(yīng)對用數(shù)字表示所有,這就是一個很具有代表性的計算機(jī)式的處理,這一點(diǎn)也正是和人類的思維習(xí)慣最不一樣的地方。例如,人“藍(lán)色紅色之類的詞語描述有關(guān)顏色的。換作計算機(jī)的話,就不得不用數(shù)字表示顏色。例如,用“0,0,255”表示藍(lán)色,用“255,0,0”表示紅色,用“255,0,255”表示由藍(lán)色和紅色混合而成的紫色。不光是顏色1.5只要理解了三大原則,即使遇到難懂的最新技術(shù),也能輕松應(yīng)對用數(shù)字表示所有,這就是一個很具有代表性的計算機(jī)式的處理,這一點(diǎn)也正是和人類的思維習(xí)慣最不一樣的地方。例如,人“藍(lán)色紅色之類的詞語描述有關(guān)顏色的。換作計算機(jī)的話,就不得不用數(shù)字表示顏色。例如,用“0,0,255”表示藍(lán)色,用“255,0,0”表示紅色,用“255,0,255”表示由藍(lán)色和紅色混合而成的紫色。不光是顏色,計算機(jī)對文字的處理也是如此。計算機(jī)內(nèi)部,這樣的數(shù)字叫作“字符編碼總之計算機(jī)會把什么都用數(shù)字來表示。,例如“在這里打開文件,獲得文件句柄把用公鑰加密后的文件用私鑰那么,他們所說的“文件句柄”是什么呢是數(shù)字公鑰”是什么呢?——是數(shù)字私鑰”呢?——當(dāng)然還是數(shù)字。無論計算機(jī)所處理的是什么形式,只要把它們都當(dāng)數(shù)字就可以了。雖然這有些違背人們的思維習(xí)慣,但是處理數(shù)字對計算機(jī)來說卻是非常簡單的。下面筆者就講一件年輕時的糗事吧。事情發(fā)生在一次與老程序員探討問題時,我問他用某某程序處理的某某數(shù)據(jù),在計算機(jī)內(nèi)部也是用數(shù)字表示的吧“這不是明擺著嗎!”聽后,吃驚得張開了嘴,回了一句:1.5只要理解了三大原則,即使遇到難懂的最新技術(shù),也能輕松應(yīng)對,即子。這里摘錄了一段有關(guān).NET技術(shù)的是微軟公司率先提出。9第1章計算機(jī)的三大原則.NET微軟公司率先提出了作為新一代互聯(lián)網(wǎng)平臺的.NET技術(shù)。作為.NET的XMLWeb服務(wù)使用通用技術(shù)SOAP、XML,促使企業(yè)間的計算機(jī)協(xié)同工作。真是不好理解的一段話啊。如果把第1章計算機(jī)的三大原則.NET微軟公司率先提出了作為新一代互聯(lián)網(wǎng)平臺的.NET技術(shù)。作為.NET的XMLWeb服務(wù)使用通用技術(shù)SOAP、XML,促使企業(yè)間的計算機(jī)協(xié)同工作。真是不好理解的一段話啊。如果把.NET的技術(shù)對照著計算機(jī)三大原則再一遍的話,就會像下面這樣進(jìn)行說明。.NET計算機(jī)是執(zhí)行程序的機(jī)器。程序是指令和數(shù)據(jù)的集合。為了使互聯(lián)網(wǎng)上相互連接的計算機(jī)能通過程序協(xié)同工作,微軟公司采用了SOAP以及XML規(guī)范。SOAP是關(guān)于調(diào)用指令的規(guī)范,XML則是定義數(shù)據(jù)格式的規(guī)范。只要定義出了指令和數(shù)據(jù)的規(guī)范,裝有符合規(guī)范的程序的計算機(jī)自然就可以相互協(xié)作了。所謂計算機(jī)的協(xié)同工作指的是,輸入到一臺計算機(jī)中的數(shù)據(jù),可以通過互聯(lián)網(wǎng)傳送到與這臺計算機(jī)相連的其他計算機(jī)上執(zhí)行運(yùn)算,運(yùn)算所輸出的結(jié)果再返回給這臺計算機(jī)。像這樣部署在其他計算機(jī)上能執(zhí)行某種運(yùn)算的程序就叫作XMLWeb服務(wù)。這回怎么樣?應(yīng)該變得容易理解了吧?如果又想到了其他的問題,SOAPXML的規(guī)范呢或者“實(shí)際看了看SOAP和XML的規(guī)范,才發(fā)現(xiàn)也很復(fù)雜那么就可以把“因?yàn)槟切┒际沁m合計算機(jī)的處理方式歸結(jié)為1.6為了貼近人類,計算機(jī)在不斷地進(jìn)化著計算機(jī)的技術(shù)正在以狂奔般的速度不斷進(jìn)化,與其說是日新月異,倒不如說是“秒新分異雖然也許有人會覺得眼前的已經(jīng)夠101.6為了貼近人類,計算機(jī)在不斷地進(jìn)化用了,希望能停留在現(xiàn)有的技術(shù)水平上。但是計算機(jī)的進(jìn)化是止的,因?yàn)橛嬎銠C(jī)還遠(yuǎn)遠(yuǎn)沒有到達(dá)完善的地步。停就“計算機(jī)有的處理方式”來記憶這個結(jié)論。舉例來說,鍵盤這種不好用的輸入進(jìn)化成了好用的鼠標(biāo)。平2D(二維)游戲進(jìn)化成了3D(三維)游戲。無論是哪一種進(jìn)化,都是為了使計算機(jī)的處理方式更加貼近人類1.6為了貼近人類,計算機(jī)在不斷地進(jìn)化用了,希望能停留在現(xiàn)有的技術(shù)水平上。但是計算機(jī)的進(jìn)化是止的,因?yàn)橛嬎銠C(jī)還遠(yuǎn)遠(yuǎn)沒有到達(dá)完善的地步。停就“計算機(jī)有的處理方式”來記憶這個結(jié)論。舉例來說,鍵盤這種不好用的輸入進(jìn)化成了好用的鼠標(biāo)。平2D(二維)游戲進(jìn)化成了3D(三維)游戲。無論是哪一種進(jìn)化,都是為了使計算機(jī)的處理方式更加貼近人類。這樣發(fā)展下去的話,也許計算機(jī)進(jìn)化的最終形態(tài)就是了,有著與人類一樣的外表,可以使用人類的語言。例如在1985年茨城縣筑波市舉辦的筑波世博會上,就展示出了一臺用CCD照相機(jī)識別樂譜,彈奏鋼琴的。也許有人會覺得數(shù)碼音樂什么的用個人計算機(jī)不是也能完成嗎但是這個發(fā)明的意義在于能和人類做相也成為了同的事了。就在前,本田公司開發(fā)出的兩足步行熱議的話題。也許又有人會覺得為什么非要特地用兩只腳行走呢,裝上能動起來不也一樣嗎但是這個發(fā)明的意義還是在于能和人類做相同的事了。有樂譜和鋼琴就能演奏,人能走的道路或臺階它也能走,這樣的無疑才能更加方便地應(yīng)用于人類。若與十幾年前相比,諸位身邊的個人計算機(jī)也在逐漸貼近人類。20世紀(jì)80年代中期盛行的個人計算機(jī)操作系統(tǒng)是MS-DOS,其操作方法是靠在全黑的畫面上敲入字符,把命令傳給計算機(jī)。進(jìn)入90年代后,MS-DOS進(jìn)化成了Windows,用戶可以在圖形界面上通過鼠標(biāo)的操作直觀地下達(dá)命令(如圖1.3所示。開發(fā)出Windows的微軟公司,正將目標(biāo)鎖定在用戶體驗(yàn)(UserExperience)上,旨在開發(fā)出超過現(xiàn)有Windows、更加貼近人類的用戶界面(計算機(jī)的操作。第1章計算機(jī)的三大原則WindowsXP和OfficeXP末尾的XP,代表的就是Experience(體驗(yàn)。Windows若能這樣不斷進(jìn)化下去,早晚會有一天,面向個人計算機(jī)的語音輸入和手寫輸入等技術(shù)將變得極為普及。諸位讀者當(dāng)中應(yīng)該也有對編程感的人吧。編程第1章計算機(jī)的三大原則WindowsXP和OfficeXP末尾的XP,代表的就是Experience(體驗(yàn)。Windows若能這樣不斷進(jìn)化下去,早晚會有一天,面向個人計算機(jī)的語音輸入和手寫輸入等技術(shù)將變得極為普及。諸位讀者當(dāng)中應(yīng)該也有對編程感的人吧。編程也在進(jìn)化,進(jìn)化的成果是誕生了兩種編程 ,面向組件編程(ComponentBasedProgram。這兩者的進(jìn)化目標(biāo)一致,都是使程序員可以在編程中繼續(xù)沿用人類創(chuàng)造事物時的。面向組件編程的 起完成程序;面向?qū)ο缶幊痰氖窍热鐚?shí)地對現(xiàn)實(shí)世界的業(yè)務(wù)建模,之后再把模型搬到實(shí)現(xiàn)高效率的開發(fā)。。使用符合人類思維習(xí)慣的編程,可以12S進(jìn)化成s的用戶界面1.3為了貼近人類,個人計算機(jī)操作系統(tǒng)也在進(jìn)化1.7稍微預(yù)習(xí)一下第2章但是,偏偏有這類程序員,他們對面向組件編程敬而遠(yuǎn)之,明明有各種各樣現(xiàn)成的組件可供使用,卻什么功能都要親手做,仿佛不這樣編程就不舒心。還有的程序員誤認(rèn)為面向?qū)ο缶幊屉y以理解。像這樣的程序員人數(shù)還不少,特別是在昔日的計算機(jī)發(fā)燒友當(dāng)中??傊褪且?yàn)樗麄兲?xí)慣于配合計算機(jī)的處理方式了,反倒認(rèn)為計算機(jī)貼近人類這一發(fā)展趨勢是在添亂。筆者則認(rèn)為,無論是剛?cè)胄械募夹g(shù),還是有資歷的老工程師,都應(yīng)該由衷地歡迎技術(shù)的進(jìn)化,坦率地接受新技術(shù)。如果是用技藝制作出來的傳統(tǒng)手工藝品的話,也許還有價值,但是沒有人會稀罕靠一成不變的編寫出的程序。1.71.7稍微預(yù)習(xí)一下第2章但是,偏偏有這類程序員,他們對面向組件編程敬而遠(yuǎn)之,明明有各種各樣現(xiàn)成的組件可供使用,卻什么功能都要親手做,仿佛不這樣編程就不舒心。還有的程序員誤認(rèn)為面向?qū)ο缶幊屉y以理解。像這樣的程序員人數(shù)還不少,特別是在昔日的計算機(jī)發(fā)燒友當(dāng)中??傊褪且?yàn)樗麄兲?xí)慣于配合計算機(jī)的處理方式了,反倒認(rèn)為計算機(jī)貼近人類這一發(fā)展趨勢是在添亂。筆者則認(rèn)為,無論是剛?cè)胄械募夹g(shù),還是有資歷的老工程師,都應(yīng)該由衷地歡迎技術(shù)的進(jìn)化,坦率地接受新技術(shù)。如果是用技藝制作出來的傳統(tǒng)手工藝品的話,也許還有價值,但是沒有人會稀罕靠一成不變的編寫出的程序。1.72作為第2章的預(yù)習(xí),在本章的最后先來簡單地很難,請先看一下圖1.4,體會一下圖中的要點(diǎn)。,計算機(jī)內(nèi)部主要由被稱作IC的組成。雖然在IC當(dāng)中有功能各異的各種IC,但是在這里希望CPU是計算機(jī)的大腦,在其對數(shù)據(jù)執(zhí)行運(yùn)算并內(nèi)存和I/O。內(nèi)存用于指令和數(shù)據(jù)。I/O負(fù)責(zé)把鍵盤、鼠標(biāo)、顯示器等周邊和主機(jī)連接在一起,實(shí)現(xiàn)數(shù)據(jù)的輸入與輸出。在諸位所使用的Windows個人計算機(jī)中,多數(shù)Pentium(奔騰)的CPU吧。內(nèi)存的數(shù)量則會根據(jù)所需則32MB,多則256MB)裝有多條。I/O也會根據(jù)周邊裝有一枚名為的多少裝配有多個??梢哉J(rèn)為個人計算機(jī)背板上有多少個插孔就有多少個I/O。13第1章計算機(jī)的三大原則只要用電路把CPU、內(nèi)存以及I/O上的引腳相互連接起來,為每塊IC提供電源,再為CPU提供時鐘信號,硬件上的計算機(jī)就組裝起A來了,還是非常簡單的吧。所謂時鐘信號,就是由內(nèi)含晶振的、被稱作時鐘發(fā)生器的發(fā)出的滴答滴答的電信號。如果是PentiumCPU的話,所使用的時鐘信號會從幾百M(fèi)Hz到2GHz不等?!畹?章計算機(jī)的三大原則只要用電路把CPU、內(nèi)存以及I/O上的引腳相互連接起來,為每塊IC提供電源,再為CPU提供時鐘信號,硬件上的計算機(jī)就組裝起A來了,還是非常簡單的吧。所謂時鐘信號,就是由內(nèi)含晶振的、被稱作時鐘發(fā)生器的發(fā)出的滴答滴答的電信號。如果是PentiumCPU的話,所使用的時鐘信號會從幾百M(fèi)Hz到2GHz不等?!钪T位辛苦了,至此第1☆☆結(jié)束了。想必諸位都已經(jīng)理解了計算機(jī)的三大原則以及計算機(jī)為什么要進(jìn)化了吧。因?yàn)檫@些知識真的非常重要,所以如果第一遍沒有讀懂,就請再反復(fù)多讀幾遍。也可以叫上公司的同事、學(xué)校的同學(xué)一起討論本章的內(nèi)容。如果能讓有資歷的老工程師也加入討論,那么效果會更加顯著。在接下來的第2,。說是,也只不過是在紙上進(jìn)行的“模擬體驗(yàn)而且筆者會帶著諸位做,所以請不要擔(dān)心。敬請期待!A一種利用石英晶體(又稱水晶)的壓電效應(yīng)產(chǎn)生高精度振蕩頻率的元141.4計算機(jī)硬件的組成要素周邊D-顯示器鍵盤個人計算機(jī)主機(jī)I/OI/O內(nèi)存I/O)第2章試著一臺計算機(jī)吧??初級問題CPU中級問題Hz?高級問題Z80CPUCPU?15第2章試著一臺計算機(jī)吧??初級問題CPU中級問題Hz?高級問題Z80CPUCPU?15????第2章試著一臺計算機(jī)吧怎么樣?被這么一問,是不是發(fā)現(xiàn)有一些問題無法簡單地解釋清楚呢?下面,筆者就公布并解釋。??縮寫。處理器)的。高級問題:Z80CPU第2章試著一臺計算機(jī)吧怎么樣?被這么一問,是不是發(fā)現(xiàn)有一些問題無法簡單地解釋清楚呢?下面,筆者就公布并解釋。??縮寫。處理器)的。高級問題:Z80CPU8CPU。解釋初級問題:CPU是計算機(jī)的大腦,負(fù)責(zé)解釋、執(zhí)行程序的內(nèi)容。有時也將CPU稱作“處理器中級問題:通常用Hz來表示驅(qū)動CPU運(yùn)轉(zhuǎn)的時鐘信號的頻率。1秒發(fā)出1次時鐘信號就是1Hz所以100MHz(兆赫兆)代表100萬。高級問題:CPU上數(shù)據(jù)總線的條數(shù),或者CPU內(nèi)部參與運(yùn)算的寄存器的容量,都可以作為衡量CPU性能的比特數(shù)。在Z80CPU中,無論是數(shù)據(jù)總線的條數(shù)還是寄存器的容量都是8比特,所以Z80CPU是一款8比特的CPU。而在Windows個人計算機(jī)中廣泛使用的Pentium(奔騰)CPU32比特的CPU。162.1制作微型計算機(jī)所必需的????要想徹底掌握計算機(jī)的工作原理,最就是搜集零件,試著組裝一臺微型計算機(jī)。微型計算機(jī)(MicroCom)MicroComputer機(jī),但也可用于指代IC外露的、用于的計算機(jī)。因?yàn)橐谱饕慌_真正的微型計算機(jī)既花時間又花金錢,所以本在紙上體驗(yàn)一下微型計算機(jī)的制作過程吧。需要讓諸位準(zhǔn)備的只有如圖2.1所示的電路圖和一根紅鉛筆。將電路圖復(fù)印下來后,請諸位一邊想象著元件之間傳輸?shù)男盘柕淖饔?,一邊用紅鉛筆描畫出筆者所的電路,以此來代替實(shí)際的布線環(huán)節(jié)。當(dāng)所有的電路都描紅了,微型計算機(jī)也就完成了。別看只是描了描線,卻一樣能學(xué)到很多知識,甚至可以說不費(fèi)吹灰之力就能了解計算機(jī)的工作原理。從此之后不但消除了對硬件的恐懼感,而且還會感到和計算機(jī)更加親近了。請諸位一定要借此機(jī)會體驗(yàn)微型計算機(jī)的制作過程。2.1制作微型計算機(jī)所必需的首先讓我們來收集吧。制作微型計算機(jī)所需的基礎(chǔ)3個,CPU、內(nèi)存和I/O,每種都是作為一塊的IC在市場上出售的。CPU是計算機(jī)的大腦,2.1制作微型計算機(jī)所必需的????要想徹底掌握計算機(jī)的工作原理,最就是搜集零件,試著組裝一臺微型計算機(jī)。微型計算機(jī)(MicroCom)MicroComputer機(jī),但也可用于指代IC外露的、用于的計算機(jī)。因?yàn)橐谱饕慌_真正的微型計算機(jī)既花時間又花金錢,所以本在紙上體驗(yàn)一下微型計算機(jī)的制作過程吧。需要讓諸位準(zhǔn)備的只有如圖2.1所示的電路圖和一根紅鉛筆。將電路圖復(fù)印下來后,請諸位一邊想象著元件之間傳輸?shù)男盘柕淖饔?,一邊用紅鉛筆描畫出筆者所的電路,以此來代替實(shí)際的布線環(huán)節(jié)。當(dāng)所有的電路都描紅了,微型計算機(jī)也就完成了。別看只是描了描線,卻一樣能學(xué)到很多知識,甚至可以說不費(fèi)吹灰之力就能了解計算機(jī)的工作原理。從此之后不但消除了對硬件的恐懼感,而且還會感到和計算機(jī)更加親近了。請諸位一定要借此機(jī)會體驗(yàn)微型計算機(jī)的制作過程。2.1制作微型計算機(jī)所必需的首先讓我們來收集吧。制作微型計算機(jī)所需的基礎(chǔ)3個,CPU、內(nèi)存和I/O,每種都是作為一塊的IC在市場上出售的。CPU是計算機(jī)的大腦,負(fù)責(zé)解釋、執(zhí)行程序。內(nèi)存負(fù)責(zé)程序和數(shù)據(jù)。I/OInput/Output(輸入/輸出)的縮寫,負(fù)責(zé)將計算機(jī)和外部(周邊這里我們使用Z80CPU作為微型計算機(jī)的CPU、TC5517作為內(nèi)17第2章試著一臺計算機(jī)吧(本書末尾附有更大的電路圖)182.1制作微型計算機(jī)所必需的存、Z80PIO作為I/O。Z80CPU是一款古老的CPU在NEC的PC-, 2.1制作微型計算機(jī)所必需的存、Z80PIO作為I/O。Z80CPU是一款古老的CPU在NEC的PC-, 1028,但是對于學(xué)習(xí)的微型計算機(jī)來說是綽綽有余了。Z80PIO作為I/O,經(jīng)常與Z80CPU一起使用。正如其名,PIO(ParallelI/O,并行輸入/輸出)可以在微型計算機(jī)和外部出8比特的數(shù)據(jù)。在計算機(jī)者們沉浸在制作微型計算機(jī)的那個年代,這些都是常見的IC。這里要先跟諸位事打聲招呼,這里制作的微型計算機(jī)終歸只是用于學(xué)習(xí)的模型,并沒有什么實(shí)用的價值。為了制作微型計算機(jī),除了CPU、內(nèi)存和I/O,還需要若干輔助。為了驅(qū)動CPU運(yùn)轉(zhuǎn),稱為“時鐘信號”的電信號必不可少。這種電信號就好像帶有一個時鐘,滴答滴答地每隔一定時間就變換一次電壓的高低(如圖2.2所示。輸出時鐘信號的叫作“時鐘發(fā)生器,根據(jù)其自身的頻率(振動的次數(shù))產(chǎn)生時鐘信號。時鐘信號的頻率可以衡量CPU的運(yùn)轉(zhuǎn)速度。這里使用的是兆赫茲)的時鐘發(fā)生器。19電壓滴答! 滴答! 滴答!+5V0V時間2.2時鐘信號的波形圖第2章試著一臺計算機(jī)吧用于輸入程序的裝置也是必不可少的。在這里我們通過撥動指撥開關(guān)來輸入程序,指撥開關(guān)是一種由8個開關(guān)并排連在一起的元2.1(a)所示。輸出程序執(zhí)行結(jié)果的裝置是8個LED(發(fā)光二極管。到此為止,主要的就都備齊了。剩下的就都是些細(xì)碎的了。表2.1是所需的一覽表,里面也包含了之前過的。請諸位粗略地瀏覽一遍。所需 表中的74367和7404也是IC,用于提高連接外部 時的性。電阻是用于阻礙電流、降低電壓值的。為了省去布線的麻煩,8個電阻集成到1個2.1(b)所示)電荷能力的阻的單位是Ω(。電容是第2章試著一臺計算機(jī)吧用于輸入程序的裝置也是必不可少的。在這里我們通過撥動指撥開關(guān)來輸入程序,指撥開關(guān)是一種由8個開關(guān)并排連在一起的元2.1(a)所示。輸出程序執(zhí)行結(jié)果的裝置是8個LED(發(fā)光二極管。到此為止,主要的就都備齊了。剩下的就都是些細(xì)碎的了。表2.1是所需的一覽表,里面也包含了之前過的。請諸位粗略地瀏覽一遍。所需 表中的74367和7404也是IC,用于提高連接外部 時的性。電阻是用于阻礙電流、降低電壓值的。為了省去布線的麻煩,8個電阻集成到1個2.1(b)所示)電荷能力的阻的單位是Ω(。電容是電荷的,衡量是F(法拉。要讓微型計算機(jī)運(yùn)轉(zhuǎn)起來,5V(伏特)的直流電源是必不可少的。于是還需要使用一個叫作“開關(guān)式穩(wěn)壓電源”的裝置,220V5V的直流電。2.1本次用到的制作微型計算機(jī)的20名稱數(shù)量電路圖符號說明Z80CPU1CPU(8CPU)TC55171內(nèi)存(8×2K)Z80PIO1I/O(8×2I/O)743674三態(tài)總線緩沖器74042六反相器時鐘發(fā)生器12.5MHz指撥開關(guān)(DIPswitch)3(8)2.2電路圖的讀法(續(xù))2.2電路圖的讀法在開始布線之前,先來一下電路圖的讀法。在電路圖中,用連接著各種符號的直線表示如何布線。電路中有些地方有交叉,21(a)指撥開關(guān) (b)集成電阻2.1指撥開關(guān)和集成電阻名稱數(shù)量電路圖符號說明2處于關(guān)的狀態(tài),按下后電路連通,手指離開后由內(nèi)部的彈簧彈回關(guān)的狀態(tài)快動開關(guān)(Snapswitch)2關(guān)狀態(tài)集成電阻34.7kΩ×8(1/4W)集成電阻1電阻64.7kΩ(1/4W)電阻1330Ω(1/4W)電容110μF(25V)LED8顏色任意開關(guān)式穩(wěn)壓電源1在電路圖中省略了該2.2電路圖的讀法(續(xù))2.2電路圖的讀法在開始布線之前,先來一下電路圖的讀法。在電路圖中,用連接著各種符號的直線表示如何布線。電路中有些地方有交叉,21(a)指撥開關(guān) (b)集成電阻2.1指撥開關(guān)和集成電阻名稱數(shù)量電路圖符號說明2處于關(guān)的狀態(tài),按下后電路連通,手指離開后由內(nèi)部的彈簧彈回關(guān)的狀態(tài)快動開關(guān)(Snapswitch)2關(guān)狀態(tài)集成電阻34.7kΩ×8(1/4W)集成電阻1電阻64.7kΩ(1/4W)電阻1330Ω(1/4W)電容110μF(25V)LED8顏色任意開關(guān)式穩(wěn)壓電源1在電路圖中省略了該220V5V用于連接各 的導(dǎo)線適量用直線表示AWG30第2章試著一臺計算機(jī)吧但若只是交叉在一起的話,并不表示電路在交叉處通路。只有在交叉處再畫上一個小黑點(diǎn)才表示通路。本次制作的微型計算機(jī)工作在+5V的直流電下。雖然在實(shí)際的電路中要把+5V和0V連接到各個的各個引腳上,但是如果在電路圖中也把這些地方的布線而顯得標(biāo)示出來的話,就會因?yàn)榈教幎际?5V和0V了。所以要使用如圖第2章試著一臺計算機(jī)吧但若只是交叉在一起的話,并不表示電路在交叉處通路。只有在交叉處再畫上一個小黑點(diǎn)才表示通路。本次制作的微型計算機(jī)工作在+5V的直流電下。雖然在實(shí)際的電路中要把+5V和0V連接到各個的各個引腳上,但是如果在電路圖中也把這些地方的布線而顯得標(biāo)示出來的話,就會因?yàn)榈教幎际?5V和0V了。所以要使用如圖2.4所示的兩種電路圖符號來分別表示電路連接到+5V和連接到0V的情況。IC的引腳(所謂引腳就是IC邊緣露出的像蜈蚣腿一樣的部分)按照逆時針方向依次帶有一個從1開始遞增的序號。數(shù)引腳序號時,要先把表示正方向的標(biāo)志,比如半圓形的缺口,朝向左側(cè)。舉例來說,14個引腳的7404,其引腳序號就如圖2.5所示。22表示把這條線連接到0V上+5V 0V表示把這條線連接到+5V上2.4電源的表示電路未 通路 電路已 通路圖2.3 電路交叉時是否 通路2.3連接電源、數(shù)據(jù)和地址總線如果按照引腳序號的排列順序來畫IC的電路圖符號,那么標(biāo)示如何布線時就會很不方便。所以通常所繪制的電路圖都不受引腳實(shí)際排A,在引腳的旁邊寫上引腳的序號,IC的矩形符號中寫上表明該引腳作用的代號。代號就是像RD(操作,WR(Write)表示執(zhí)行寫入操作這樣的代表了某種操作的符B號。各個代號的含義等到為引腳布線時再一一說明。2.3連接電源、數(shù)據(jù)和地址總線下面就開始布線吧。請假想正在制作微型計算機(jī),并按照如下的說明用紅鉛筆在電路圖中描畫相應(yīng)的電路2.3連接電源、數(shù)據(jù)和地址總線如果按照引腳序號的排列順序來畫IC的電路圖符號,那么標(biāo)示如何布線時就會很不方便。所以通常所繪制的電路圖都不受引腳實(shí)際排A,在引腳的旁邊寫上引腳的序號,IC的矩形符號中寫上表明該引腳作用的代號。代號就是像RD(操作,WR(Write)表示執(zhí)行寫入操作這樣的代表了某種操作的符B號。各個代號的含義等到為引腳布線時再一一說明。2.3連接電源、數(shù)據(jù)和地址總線下面就開始布線吧。請假想正在制作微型計算機(jī),并按照如下的說明用紅鉛筆在電路圖中描畫相應(yīng)的電路。首先連接電源。IC與普通的電器一樣,只有接通了電源才能工作。Z80CPU、TC5517和Z80PIO上都分別帶有Vcc引腳和GND引腳。Vcc和GND這一對兒引腳用于為IC供電。下面請先將+5V電源連接ABIC生產(chǎn)廠商發(fā)布的資料中,但在這里為了保持文章的通俗易懂,改變了一部分代號的寫法,這一點(diǎn)還望諸位諒解。例如,在廠商的資料中TC5517的第20個引腳的代號是OE(OutputEnable,輸出使能R(,。238標(biāo)志1 2 3 4 5 6 72.5IC沿逆時針方向數(shù)引腳序號第2章試著一臺計算機(jī)吧到各個IC的Vcc引腳上,然后將0V電源連接到各個IC的GND引腳上。接下來還需要將+5V和0V連接到時鐘發(fā)生器上。接通電源后這些IC和時鐘發(fā)生器就可以工作了。微型計算機(jī)所使用的IC第2章試著一臺計算機(jī)吧到各個IC的Vcc引腳上,然后將0V電源連接到各個IC的GND引腳上。接下來還需要將+5V和0V連接到時鐘發(fā)生器上。接通電源后這些IC和時鐘發(fā)生器就可以工作了。微型計算機(jī)所使用的IC屬于數(shù)字IC。在數(shù)字IC中,每個引腳上的電壓要么是0V、要么是+5V,通過這兩個電壓與其他的IC進(jìn)行電信號的收發(fā)。用于給IC供電的Vcc引腳和GND引腳上的電壓是恒定不變的+5V和0V,但是其他引腳上的電壓,會隨著計算機(jī)的操作在+5V和0V之間不斷地變化。稍微說一點(diǎn)題外話,只要想成0V表示數(shù)字0、+5V表示數(shù)字1,那么數(shù)字IC就是在用二進(jìn)制數(shù)的形式收發(fā)。也正因?yàn)槿绱?,二進(jìn)制數(shù)在計算機(jī)當(dāng)中才如此重要。有關(guān)二進(jìn)制的內(nèi)容,本書并詳細(xì),但是請先記住以下知識點(diǎn):通常將1個二進(jìn)制數(shù)(也就是數(shù)字IC101)所表示的“1比特將8個二進(jìn)制數(shù)(8比特)稱作“1字節(jié)比特是的最小,字節(jié)是的基本。這里制作的微型計算機(jī)是一臺8比特微型計算機(jī),因此是以8比特為一個收發(fā)的。下面回到正題。計算機(jī)以CPU為中心運(yùn)轉(zhuǎn)。CPU可以與內(nèi)存或I/O進(jìn)行數(shù)據(jù)的輸入輸出。為了指定輸入輸出數(shù)據(jù)時的源頭或目的地,CPU上備有“地址總線引腳Z80CPU16個,用代號A0~A15表示,其中的A表示Address(地址。后面的數(shù)字0~15表示一個16位的二進(jìn)制數(shù)中各個數(shù)字的位置,0對應(yīng)最后一位、15對應(yīng)第一位。16個地址總線引腳所能指定的地址共有65536個,用二進(jìn)制。Z80CPU可以指定65536個數(shù)據(jù)存取單元(內(nèi)存息的輸入輸出。單元或I/O地址,進(jìn)行信242.3連接電源、數(shù)據(jù)和地址總線一旦指定了存取數(shù)據(jù)的地址,就可以使用數(shù)據(jù)總線引腳進(jìn)行數(shù)據(jù)的輸入輸出了。Z80CPU的數(shù)據(jù)總線引腳共有8個,用代號D0~D7表示。其中的D表示Data(數(shù)據(jù),后面的數(shù)字0~7與地址總線引腳代號的規(guī)則相同,2.3連接電源、數(shù)據(jù)和地址總線一旦指定了存取數(shù)據(jù)的地址,就可以使用數(shù)據(jù)總線引腳進(jìn)行數(shù)據(jù)的輸入輸出了。Z80CPU的數(shù)據(jù)總線引腳共有8個,用代號D0~D7表示。其中的D表示Data(數(shù)據(jù),后面的數(shù)字0~7與地址總線引腳代號的規(guī)則相同,也表示二進(jìn)制數(shù)中各個數(shù)字的位置。Z80CPU可以地輸入輸出8比特的數(shù)據(jù),這就意味著如果想要輸入輸出位數(shù)(比特數(shù))大于8比特的數(shù)據(jù),就要以8比特為數(shù)據(jù)。切分這個作為內(nèi)存的TC5517上也有地址總線引腳(A0~A10)和數(shù)據(jù)總線(0~。這些引腳需要同Z80CPU上帶有相同代號的引腳相連。一塊TC5517上可以20488比特的數(shù)據(jù)(如圖2.6所示。由于輸入程序的指撥開關(guān)是以8比特為一個指定內(nèi)存地址的,所以我們只使用TC5517上的A0~A7這8個引腳,并把剩余的~0引腳連接到0V(這些引腳上的值永遠(yuǎn)是0。雖然總共有2048個單元,最終卻只能使用其中的256個,稍微有些浪費(fèi)。下面就請諸位用紅鉛筆把Z80CPU和TC5517的D0~D7以及A0~A7引腳分別連接起來。25用地址總線引腳 TC5517選擇 單元0000000000000000000001 總共有2048個存儲單元,可以通00000000010 過數(shù)據(jù)總線引腳輸入數(shù)據(jù)2.6TC55178比特的數(shù)據(jù)8比特的數(shù)據(jù)8比特的數(shù)據(jù)8比特的數(shù)據(jù)第2章試著 一臺計算機(jī)吧2.4I/O下面開始連接I/O。只有了解了作為I/O的Z80PIO的結(jié)構(gòu),才能”這個詞嗎?寄存器是位于CPUI/O中的數(shù)據(jù)器。Z80PIO4個寄存器。2個用于設(shè)定PIO本身的功能,2個用于 與外部進(jìn)行輸入輸出的數(shù)據(jù)。這4第2章試著 一臺計算機(jī)吧2.4I/O下面開始連接I/O。只有了解了作為I/O的Z80PIO的結(jié)構(gòu),才能”這個詞嗎?寄存器是位于CPUI/O中的數(shù)據(jù)器。Z80PIO4個寄存器。2個用于設(shè)定PIO本身的功能,2個用于 與外部進(jìn)行輸入輸出的數(shù)據(jù)。這4個寄存器分別叫作端口A端口B數(shù)據(jù)。所謂端口就是I/O與外部、端口A數(shù)據(jù)、端口B和之間輸入輸出數(shù)據(jù)的場所,(Port)想象輪船裝卸貨物的港口。Z80PIO有2個端口,端口A和端口B,最多可以連接2個用于輸入輸出8比特數(shù)據(jù)的外部(2.7所示。既然已經(jīng)大體上了解了Z80PIO的結(jié)構(gòu),下面就開始布線吧。因?yàn)閆80PIO上也有D0~D7的數(shù)據(jù)總線引腳所以先把它們和Z80CPU中帶有同樣代號的引腳連接起來。這樣CPU和PIO就能使用這8個引換數(shù)據(jù)了。26Z80PIOB/A引腳為0、C/D引腳為1時該端口被選中B/A引腳為0、C/D引腳為0時該端口被選中4個寄存器B/A引腳為1、C/D引腳為1時該端口被選中B/A引腳為1、C/D引腳為0時該端口被選中2.7Z80PIO端口B數(shù)據(jù)端口B端口A數(shù)據(jù)端口A2.5連接時鐘信號接下來要把Z80PIO的B/A和C/D引腳分別連接到Z80CPU的地址總線引腳A0和A1上。若表示IC引腳作用的代號上劃有橫線,則0(0V)可使之有效2.5連接時鐘信號接下來要把Z80PIO的B/A和C/D引腳分別連接到Z80CPU的地址總線引腳A0和A1上。若表示IC引腳作用的代號上劃有橫線,則0(0V)可使之有效,反之若沒有橫線,則表示通過賦予該引腳1(+5V)可使之有效。因此若賦予B/A引腳1則表示選中B,反之賦予0則表示選中A。同樣地,若賦予C/D引腳1則表示選中的是C(C即Control,表示模式);0則表示選中的D(D即Data,表示數(shù)據(jù)模式。通過Z80CPUA0~A7(00000000~11111111256個地址)地單元。同樣地,使用Z80CPU的A0~A1(00~11共4個地址)地址總線引腳也可以選擇I/O(Z80PIO)中的寄存器。Z80CPU的A8~A15地址總線引腳尚未使用,所以什么都不連接。在電路圖中可以用代號是這不需則是把這個引腳上的電壓固定 +5V或0V。要使用時的處理2.5連接時鐘信號正如前文所述,Z80CPU和Z80PIO的運(yùn)轉(zhuǎn)離不開時鐘信號。為了傳輸時鐘信號,就需要把時鐘發(fā)生器的8號引腳和Z80CPU的CLK(CLK即Clock,時鐘)引腳、Z80PIO的CLK引腳分別連接起來。時鐘發(fā)生器的8號引腳與+5V之間的電阻用于時鐘信號。再一段題外話。諸位可以把Z80CPU和Z80PIO在時鐘信號27第2章試著一臺計算機(jī)吧下運(yùn)轉(zhuǎn)的情景,想象據(jù)說19世紀(jì)英國的它們在跟隨著滴答滴答響的時鐘同步做動作。(CharlesBabbage)曾向計算機(jī)的原型——分析機(jī)發(fā)起過。分析機(jī)由齒輪組成,因當(dāng)時科技水平的限制并未完成。如果把分析機(jī)改用出來的話,就是的計算機(jī)。2.6I/O至此,我們已經(jīng)先后把Z80CPU連接到了TC5517和Z80PIO上,這兩次連接都使用了地址總線引腳A0和A1。如果僅僅這樣連接,就會第2章試著一臺計算機(jī)吧下運(yùn)轉(zhuǎn)的情景,想象據(jù)說19世紀(jì)英國的它們在跟隨著滴答滴答響的時鐘同步做動作。(CharlesBabbage)曾向計算機(jī)的原型——分析機(jī)發(fā)起過。分析機(jī)由齒輪組成,因當(dāng)時科技水平的限制并未完成。如果把分析機(jī)改用出來的話,就是的計算機(jī)。2.6I/O至此,我們已經(jīng)先后把Z80CPU連接到了TC5517和Z80PIO上,這兩次連接都使用了地址總線引腳A0和A1。如果僅僅這樣連接,就會11時,CPU就無法區(qū)分的是TC5517中的單元,還是Z80PIO中的寄存器了。Z80上的即即當(dāng)I/O之間有數(shù)據(jù)輸入輸出時,IORQ引腳上的值是0,反之則是1。若把TC5517的CE(即ChipEnable,選通TC5517在電路中被激活若設(shè)成1則從電路中)引腳設(shè)成0,則因?yàn)榇藭rTC5517進(jìn)入了高阻抗?fàn)顟B(tài),所以即便它上面的引腳已經(jīng)接入了電路也接收任何電信號。在Z80PIO中,則是通過將CE引腳和IORQ引腳同時設(shè)為0或1,來達(dá)到與TC5517的CE引腳相同的效果。若同時設(shè)為0,則Z80PIO在電路中被激活,若同時設(shè)為1則從電路中(之所以使用兩個引腳是因?yàn)檫@樣更適合使用了多個I/O的情況。下面需要把的引腳連接到的CE引腳上。然后把Z80CPU的IORQ引腳連接到Z80PIO的CE引腳IORQ引腳上。請諸位先用紅鉛筆把這些引腳分別連接起來吧。282.7連接剩余的引腳對內(nèi)存和I/O而言,還必須要分清CPU是要輸入數(shù)據(jù)還是輸出數(shù)據(jù)。為此就要用到Z80CPU的RD引腳(即,表示輸入,為0時執(zhí)行輸入操作)和WR引腳(即Write,表示輸出,為0時執(zhí)行輸出操作)了。請把這兩個引腳與TC5517上同名的引腳連接起來。Z80PIO雖然只有RD引腳,但由于數(shù)字IC引腳上的值要么是0要么是1,所以只用1個2.7連接剩余的引腳對內(nèi)存和I/O而言,還必須要分清CPU是要輸入數(shù)據(jù)還是輸出數(shù)據(jù)。為此就要用到Z80CPU的RD引腳(即,表示輸入,為0時執(zhí)行輸入操作)和WR引腳(即Write,表示輸出,為0時執(zhí)行輸出操作)了。請把這兩個引腳與TC5517上同名的引腳連接起來。Z80PIO雖然只有RD引腳,但由于數(shù)字IC引腳上的值要么是0要么是1,所以只用1個RD引腳也能區(qū)分是輸入還是輸出,0的話是輸入,1的話所示。2.2與讀寫內(nèi)存、I/O2.7連接剩余的引腳CPU、內(nèi)存、I/O中不但有地址總線引腳、數(shù)據(jù)總線引腳,還有其他引腳,通常把這些引腳統(tǒng)稱為“這些引腳上輸入輸出的電信號具有引腳之所以這樣命名是因?yàn)镮C的功能?,F(xiàn)在Z80CPU上只剩下9個引腳沒有連接了,那么就再加把勁,繼續(xù)用紅鉛筆把它們也連接到電路中吧。首先把Z80CPUM1引腳(MachineCycle1,1)和INT引腳(即Interrupt,中斷)與Z80PIO上標(biāo)有相同代號的引腳連接起來。M1是用于同步的引腳,INT引腳是用于從Z80PIO向Z80CPU發(fā)出中斷請求的引腳。所謂中斷就是讓CPU根據(jù)外部輸入的數(shù)據(jù)執(zhí)行特定的程序。有關(guān)中斷的詳在第4章,這里只需要先記住I/O可以中斷CPU對程序的處理流程就可以了。29Z80CPU的操作MREQ引腳IORQRD從內(nèi)存輸入0101向內(nèi)存輸出0110I/O1001I/O1010第2章試著一臺計算機(jī)吧一旦把Z80CPU的RESET引腳(Reset,重置)0再還原成1,CPU就會被重置,重新從內(nèi)存0號地址上的指令開始順序往下執(zhí)行。重置CPU可以通過按鍵開關(guān)完成。按鍵開關(guān)需要經(jīng)過電阻接在+5V和0V之間。請仔細(xì)地觀察這一部分的電路圖,可以看出RESET引腳上是+5(即1第2章試著一臺計算機(jī)吧一旦把Z80CPU的RESET引腳(Reset,重置)0再還原成1,CPU就會被重置,重新從內(nèi)存0號地址上的指令開始順序往下執(zhí)行。重置CPU可以通過按鍵開關(guān)完成。按鍵開關(guān)需要經(jīng)過電阻接在+5V和0V之間。請仔細(xì)地觀察這一部分的電路圖,可以看出RESET引腳上是+5(即1。當(dāng)按下按鍵開關(guān)時,RESET引腳就變成了0(即0,而放開按鍵開關(guān)后又會回到+5(即1。了防止短路而加入的,否則一旦按下了按鍵開關(guān),+5V和0V就會直接接到一起發(fā)生短路。像這樣通過加入電阻把+5V和0V連接起來的方(2.8所示。連接在RESET引腳上的電容,用于在電路接通電源時自動重置CPU。電容就好像一個充電電池,具有儲存電荷的功能。在通電后的一剎那,由于電容正在充電,所以RESET引腳上的電壓并立刻上升到+5V。而完成充電后,RESET引腳的電壓會變?yōu)?5V,這樣就相當(dāng)于RESET引腳上的值從0變成了1,重置了一次CPU??偩€是連接到CPU中數(shù)據(jù)引腳、地址引腳、引腳上的電路的30要輸入0時 要輸入1時+5V +5V0被輸入 IC 1被輸入 IC0V +5V 0V 0V2.8012.7連接剩余的引腳統(tǒng)稱。使用快動開關(guān)可以使Z80CPU的BUSRQ引腳(BusRequest,總線請求)上的值在0和1之間切換。若將BUSRQ引腳的值設(shè)為0,則Z80CPU從電路中。當(dāng)處于這種狀態(tài)時,就可以不通過CPU,手動地向內(nèi)存寫入程序了。像這樣不經(jīng)過CPU而直接從外部設(shè)備讀寫內(nèi)存的行為叫作DMA(DirectMemoryAccess,直接器訪問。在諸位所使用的個人計算機(jī)里2.7連接剩余的引腳統(tǒng)稱。使用快動開關(guān)可以使Z80CPU的BUSRQ引腳(BusRequest,總線請求)上的值在0和1之間切換。若將BUSRQ引腳的值設(shè)為0,則Z80CPU從電路中。當(dāng)處于這種狀態(tài)時,就可以不通過CPU,手動地向內(nèi)存寫入程序了。像這樣不經(jīng)過CPU而直接從外部設(shè)備讀寫內(nèi)存的行為叫作DMA(DirectMemoryAccess,直接器訪問。在諸位所使用的個人計算機(jī)里,硬盤等就是DMA。要讀寫內(nèi)存時使用的當(dāng)Z80CPU從電路中響應(yīng)總線請求)上的值就會變成0。也就是說,把BUSRQ引腳上的值設(shè)成0以后,還要確認(rèn)BUSAK引腳上的值已經(jīng)變成了0,然后才能進(jìn)行DMA。請把BUSAK引腳分別連接到4個74367的G1和G2引腳上。有關(guān)74367的作用將在后面說明。Z80CPU的其他引腳并未使用。所以要把WAIT引腳和NMI引腳上的值設(shè)為1,即連接到+5V上。之所以在連接時加入電阻,是為了便于今后加入開關(guān)等。請諸位先記住一個詞——上拉(Pull-up,指的就是像這樣通過加入電阻把的引腳和+5V連接起來。剩HALTASTB引腳什么都不連接。Z80PIO的PA0~PA7(PAPortA)PB0~PB7(PB表示PortB)用于與外部進(jìn)行輸入輸出,所以稍后要把它們分別連接到指撥開關(guān)和LED上。對于剩下的幾個引腳可以這樣處理:將IEI引腳上拉,IEO引腳、ASTB引腳、ARDY引腳、BSTB引腳和BRDY引腳則什么都不連接。到此為止,Z80CPU、TC5517、Z80PIO以及時鐘發(fā)生器上要用到的引腳就都接入電路了。這意味著計算機(jī)主的功能完成了。作31第2章試著一臺計算機(jī)吧為總結(jié),表2.3匯總了這幾塊IC上引腳的作用以及電信號的輸入輸出方向(IC的角度看。用紅鉛筆嘗試布線的諸位覺得怎么樣呢?雖然需要連接的電路有點(diǎn)多,但也并不是太復(fù)雜吧?其實(shí)計算機(jī)的工作原理非常簡單。CPU在時鐘信號的下解釋、執(zhí)行內(nèi)存中的程序,按照的指令從內(nèi)存或I/O中把數(shù)據(jù)輸入到CPU中,在CPU內(nèi)部進(jìn)行運(yùn)算,再把運(yùn)算結(jié)果輸出到內(nèi)存或I/O中。無論是小型的微型計算機(jī),還是高性能的個人計算機(jī),其工作原理都是相同的。2.3Z80CPU、TC5517、Z80PIO32Z80CPU引腳的代號方向作用A0~A15輸出指定地址D0~D7輸入輸出第2章試著一臺計算機(jī)吧為總結(jié),表2.3匯總了這幾塊IC上引腳的作用以及電信號的輸入輸出方向(IC的角度看。用紅鉛筆嘗試布線的諸位覺得怎么樣呢?雖然需要連接的電路有點(diǎn)多,但也并不是太復(fù)雜吧?其實(shí)計算機(jī)的工作原理非常簡單。CPU在時鐘信號的下解釋、執(zhí)行內(nèi)存中的程序,按照的指令從內(nèi)存或I/O中把數(shù)據(jù)輸入到CPU中,在CPU內(nèi)部進(jìn)行運(yùn)算,再把運(yùn)算結(jié)果輸出到內(nèi)存或I/O中。無論是小型的微型計算機(jī),還是高性能的個人計算機(jī),其工作原理都是相同的。2.3Z80CPU、TC5517、Z80PIO32Z80CPU引腳的代號方向作用A0~A15輸出指定地址D0~D7輸入輸出輸入輸出數(shù)據(jù)MREQ輸出把輸入輸出對象設(shè)定為內(nèi)存IORQ輸出把輸入輸出對象設(shè)定為I/ORD輸出輸出數(shù)據(jù)WR輸出輸入數(shù)據(jù)BUSRQ輸入DMABUSAK輸出DMAM1輸出用于同步INT輸入接收中斷請求CLK輸入接收時鐘信號RESET輸入重置WAIT輸入(這里未使用)NMI輸入(這里未使用)HALT輸出(這里未使用)RFSH輸出(這里未使用)2.7連接剩余的引腳(續(xù))33Z80PIO引腳的代號方向作用B/A輸入BAC/D輸入選擇 模式或數(shù)據(jù)模式D0~D7輸入輸出從CPU 數(shù)據(jù)或向CPU寫入數(shù)據(jù)CE輸入在電路中激活I(lǐng)CIORQ輸入在電路中激活I(lǐng)CM1輸入用于同步INT輸出發(fā)出中斷請求RD輸入選擇是 數(shù)據(jù)還是寫入數(shù)據(jù)CLK輸入接收時鐘信號PA0~PA7輸入輸出從外部 數(shù)據(jù)或向外部 寫入數(shù)據(jù)PB0~PB7輸入輸出從外部 數(shù)據(jù)或向外部 寫入數(shù)據(jù)ASTB輸入(這里未使用)ARDY輸出(這里未使用)BSTB輸入(這里未使用)BRDY輸出(這里未使用)IEI輸入(這里未使用)IEO輸出(這里未使用)TC5517引腳的代號方向作用A0~A10輸入指定地址D0~D7輸入輸出輸入輸出數(shù)據(jù)CE輸入在電路中激活I(lǐng)CRD輸入讀出數(shù)據(jù)WE輸入寫入數(shù)據(jù)2.7連接剩余的引腳(續(xù))33Z80PIO引腳的代號方向作用B/A輸入BAC/D輸入選擇 模式或數(shù)據(jù)模式D0~D7輸入輸出從CPU 數(shù)據(jù)或向CPU寫入數(shù)據(jù)CE輸入在電路中激活I(lǐng)CIORQ輸入在電路中激活I(lǐng)CM1輸入用于同步INT輸出發(fā)出中斷請求RD輸入選擇是 數(shù)據(jù)還是寫入數(shù)據(jù)CLK輸入接收時鐘信號PA0~PA7輸入輸出從外部 數(shù)據(jù)或向外部 寫入數(shù)據(jù)PB0~PB7輸入輸出從外部 數(shù)據(jù)或向外部 寫入數(shù)據(jù)ASTB輸入(這里未使用)ARDY輸出(這里未使用)BSTB輸入(這里未使用)BRDY輸出(這里未使用)IEI輸入(這里未使用)IEO輸出(這里未使用)TC5517引腳的代號方向作用A0~A10輸入指定地址D0~D7輸入輸出輸入輸出數(shù)據(jù)CE輸入在電路中激活I(lǐng)CRD輸入讀出數(shù)據(jù)WE輸入寫入數(shù)據(jù)第2章試著 一臺計算機(jī)吧2.8連接外部DMA下面我們繼續(xù)布線,這次將計算機(jī)主和外部連接起來。我們要使用2個指撥開關(guān)和1個按鍵開關(guān),向地址總線引腳和數(shù)據(jù)總線引腳發(fā)送電信號,然后通過DMA將數(shù)據(jù)總線上的數(shù)據(jù)到內(nèi)存。下面我們就先將這些連接到電路中。首先將圖2.1中右側(cè)最上方的一個指撥開關(guān)連接到作為內(nèi)存的TC5517的數(shù)據(jù)總線引腳D0~D7上。再將它下面緊挨著它的指撥開關(guān)連接到TC5517的地址總線引腳A0~A7上。第3個指撥開關(guān)則通過電阻接到+5V第2章試著 一臺計算機(jī)吧2.8連接外部DMA下面我們繼續(xù)布線,這次將計算機(jī)主和外部連接起來。我們要使用2個指撥開關(guān)和1個按鍵開關(guān),向地址總線引腳和數(shù)據(jù)總線引腳發(fā)送電信號,然后通過DMA將數(shù)據(jù)總線上的數(shù)據(jù)到內(nèi)存。下面我們就先將這些連接到電路中。首先將圖2.1中右側(cè)最上方的一個指撥開關(guān)連接到作為內(nèi)存的TC5517的數(shù)據(jù)總線引腳D0~D7上。再將它下面緊挨著它的指撥開關(guān)連接到TC5517的地址總線引腳A0~A7上。第3個指撥開關(guān)則通過電阻接到+5V上,這樣撥動這個指撥開關(guān)就可以輸入+5V或0V的信號了。接下來將用于內(nèi)存寫入的按鍵開關(guān)連接到TC5517的WE引腳上。

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論