匯編語(yǔ)言與計(jì)算機(jī)體系結(jié)構(gòu)

出版時(shí)間:2006-1  出版社:清華大學(xué)出版社  作者:賴(lài)斯  頁(yè)數(shù):633  
Tag標(biāo)簽:無(wú)  

前言

  本書(shū)特點(diǎn)  匯編語(yǔ)言和計(jì)算機(jī)體系結(jié)構(gòu)都是難學(xué)的課程。傳統(tǒng)的匯編語(yǔ)言是如此復(fù)雜和特別,以至于即使學(xué)習(xí)基本概念都可能是一項(xiàng)困難任務(wù)。計(jì)算機(jī)體系結(jié)構(gòu)也有同樣的問(wèn)題,而且更嚴(yán)重。學(xué)習(xí)匯編語(yǔ)言,我們要研究一個(gè)復(fù)雜系統(tǒng);而學(xué)習(xí)計(jì)算機(jī)體系結(jié)構(gòu),則要研究許多復(fù)雜系統(tǒng)?! ∧敲丛鯓硬拍茏钣行У貙W(xué)習(xí)匯編語(yǔ)言和計(jì)算機(jī)體系結(jié)構(gòu)呢?本書(shū)采用的方法是使用一個(gè)簡(jiǎn)單的計(jì)算機(jī)模型HIHI非常容易學(xué)習(xí),學(xué)生可以迅速用HI完成大量任務(wù)。另外,學(xué)生可以著重學(xué)習(xí)重要的系統(tǒng)概念,而不是無(wú)關(guān)緊要的細(xì)節(jié)?! ∈褂煤?jiǎn)單的計(jì)算機(jī)模型介紹基本概念很難說(shuō)是一項(xiàng)創(chuàng)新技術(shù)。但是,本書(shū)以?xún)煞N創(chuàng)新的方式使用Hl模型。第一,HI幾乎出現(xiàn)在每一章。結(jié)果是連貫的計(jì)算機(jī)系統(tǒng)的開(kāi)發(fā),而不是不相關(guān)主題的集合。第二,HI不是靜態(tài)模型,而是有一些學(xué)生可以修復(fù)的缺陷(事實(shí)上是重大缺陷)。HI的缺陷不是本書(shū)的缺陷,相反,它們是本書(shū)用來(lái)使學(xué)生參與設(shè)計(jì)和實(shí)現(xiàn)過(guò)程的資源?! ”緯?shū)的最重要特點(diǎn)之一是提供大量幫助更好理解的練習(xí)。例如,學(xué)生可以用c++或Ja-va編寫(xiě)連接器,或者為HI實(shí)現(xiàn)一種面向堆棧的體系結(jié)構(gòu)并評(píng)估其性能?! ∫?yàn)楸緯?shū)重點(diǎn)在重要的系統(tǒng)概念上面,所以本書(shū)為計(jì)算機(jī)科學(xué)和工程領(lǐng)域的高級(jí)課程提供了極好的準(zhǔn)備。使用本書(shū)的學(xué)生將具備在高級(jí)編程、編譯器設(shè)計(jì)、編程語(yǔ)言設(shè)計(jì)、操作系統(tǒng)、高級(jí)體系結(jié)構(gòu)和計(jì)算機(jī)工程方面從事重要工作的知識(shí)。  HI完美地示范了計(jì)算機(jī)體系結(jié)構(gòu)和組織的基本方面。但是,它不能示范現(xiàn)代計(jì)算機(jī)中存在的某些高級(jí)功能。因此,筆者在第I4-I6章增加了關(guān)于現(xiàn)代系統(tǒng)的材料。這幾章涉及存儲(chǔ)系統(tǒng)、RISC、CISC、流水線(xiàn)技術(shù)、SPARC、Pentium和JVM(Java虛擬機(jī),Java Virtual Machine)?! ?shū)中各章可以以不同順序講述,某些章節(jié)可以跳過(guò)(參見(jiàn)后面的每章前提)。例如,第5章(數(shù)字邏輯電路)可以在第l章之后的任何時(shí)間講述,或者跳過(guò);第I6章(Java虛擬機(jī))可以在第7章之后的任何時(shí)間講述,或者跳過(guò)。

內(nèi)容概要

  《匯編語(yǔ)言與計(jì)算機(jī)體系結(jié)構(gòu)》是一本優(yōu)秀的匯編語(yǔ)言和計(jì)算機(jī)體系結(jié)構(gòu)教材?書(shū)中通過(guò)設(shè)計(jì)并且逐步完善一個(gè)簡(jiǎn)單計(jì)算機(jī)模型HI,系統(tǒng)全面地介紹了計(jì)算機(jī)體系結(jié)構(gòu)和組織,匯編語(yǔ)言、匯編器和匯編過(guò)程,C++和Java實(shí)現(xiàn),標(biāo)準(zhǔn)指令集和最優(yōu)指令集,現(xiàn)代存儲(chǔ)系統(tǒng)、SPARC、Pentium和JVM等。《匯編語(yǔ)言與計(jì)算機(jī)體系結(jié)構(gòu)》對(duì)硬件和軟件均衡對(duì)待,適合作為計(jì)算機(jī)科學(xué)、軟件工程及相關(guān)專(zhuān)業(yè)的大學(xué)教材?

書(shū)籍目錄

第1章數(shù)制1.1簡(jiǎn)介1.2按位記數(shù)制1.3各數(shù)制的算術(shù)規(guī)則1.4數(shù)制轉(zhuǎn)換1.5Horner法1.6有符號(hào)二進(jìn)制數(shù)1.6.1符號(hào)-絕對(duì)值表示法1.6.22的補(bǔ)碼表示法1.6.31的補(bǔ)碼表示法1.6.4加n表示法1.7用2的補(bǔ)碼加法計(jì)算減法1.82的補(bǔ)碼和無(wú)符號(hào)數(shù)的范圍1.9擴(kuò)展2的補(bǔ)碼和無(wú)符號(hào)數(shù)1.10溢出1.10.1有符號(hào)數(shù)溢出1.10.2無(wú)符號(hào)數(shù)溢出1.11分析2的補(bǔ)碼數(shù)1.12加法器電路1.13門(mén)1.14用加法器執(zhí)行減法1.15比較有符號(hào)數(shù)1.16比較無(wú)符號(hào)數(shù)1.17正數(shù)、負(fù)數(shù)和無(wú)符號(hào)數(shù)的一致對(duì)待1.18浮點(diǎn)數(shù)表示法1.18.1科學(xué)記數(shù)法1.18.232位IEEE754浮點(diǎn)數(shù)格式1.18.3下溢、溢出和特殊值1.18.4某些Java程序中的計(jì)算誤差1.18.5長(zhǎng)格式1.19小結(jié)1.20問(wèn)題第2章機(jī)器語(yǔ)言2.1簡(jiǎn)介2.2計(jì)算機(jī)的組件2.3機(jī)器語(yǔ)言編程2.4在sim上運(yùn)行機(jī)器語(yǔ)言程序2.5問(wèn)題第3章H1匯編語(yǔ)言:第1部分3.1簡(jiǎn)介3.2匯編語(yǔ)言基礎(chǔ)3.3注釋匯編語(yǔ)言程序3.4使用標(biāo)號(hào)3.5使用匯編器3.6低級(jí)語(yǔ)言與高級(jí)語(yǔ)言3.7匯編器工作原理3.8使用dup修飾符3.9操作數(shù)字段中的算術(shù)表達(dá)式3.10指定當(dāng)前位置3.11字符串3.12org偽指令3.13end偽指令3.14指令的順序執(zhí)行3.15問(wèn)題第4章H1匯編語(yǔ)言:第2部分4.1簡(jiǎn)介4.2描述指令的簡(jiǎn)寫(xiě)形式4.3直接指令4.4堆棧指令4.5立即指令4.6I/O指令4.7轉(zhuǎn)移指令4.8間接指令4.9相對(duì)指令4.10變址4.11連接指令4.12終止指令4.13高級(jí)語(yǔ)言中指令的自動(dòng)生成4.14調(diào)試4.15使用存儲(chǔ)映像式I/O4.16equ偽指令4.17Java程序的潛在問(wèn)題:大小端4.18問(wèn)題第5章電子學(xué)和數(shù)字邏輯電路基礎(chǔ)5.1簡(jiǎn)介5.2電子學(xué)基礎(chǔ)5.2.1導(dǎo)體和絕緣體5.2.2一個(gè)簡(jiǎn)單電路5.2.3有效電壓5.2.4電源5.2.5如何避免觸電5.2.6晶體管5.2.7電容、電感和阻抗5.3組合邏輯電路5.3.1門(mén)5.3.2布爾函數(shù)5.3.3最小電路5.3.4使用布爾代數(shù)使電路最小化5.3.5摩根定律的圖示法5.3.6使用卡諾圖使電路最小化5.3.7多路復(fù)用器5.3.8解碼器和編碼器5.3.9半加器和全加器5.3.10一位移位器5.3.11乘法器陣列5.3.12算術(shù)邏輯單元5.3.13三態(tài)緩沖器5.3.14ROM5.4時(shí)序邏輯電路5.4.1SR觸發(fā)器5.4.2時(shí)鐘控制D觸發(fā)器5.4.3時(shí)鐘控制JK觸發(fā)器5.4.4邊沿檢測(cè)5.4.5T觸發(fā)器5.4.6RAM5.4.7二進(jìn)制計(jì)數(shù)器5.4.8寄存器5.4.9時(shí)鐘和序列發(fā)生器5.5集成電路5.6問(wèn)題第6章H1和V1的微級(jí)6.1簡(jiǎn)介6.2H1的微級(jí)6.2.1H1的組織概述6.2.2微指令6.2.3存儲(chǔ)器數(shù)據(jù)總線(xiàn)6.2.4存儲(chǔ)器地址總線(xiàn)6.2.5寄存器庫(kù)6.2.6指定微操作6.2.7驅(qū)動(dòng)寄存器庫(kù)的控制輸入端6.2.8整合H1各部分6.2.9分支多路復(fù)用器6.2.10定時(shí)問(wèn)題6.2.11微指令格式6.2.12序列發(fā)生器驅(qū)動(dòng)的控制輸入端6.2.13基本指令集的微代碼6.2.14硬件/微代碼權(quán)衡6.3在sim上使用新的微代碼6.3.1如何使用!偽指令6.3.2創(chuàng)建配置文件6.3.3創(chuàng)建二進(jìn)制微代碼6.3.4用新指令集匯編6.3.5在微級(jí)上跟蹤6.3.6加密微代碼6.3.7編寫(xiě)并優(yōu)化復(fù)雜的微代碼6.4解釋機(jī)器語(yǔ)言指令6.5硬接線(xiàn)控制6.6垂直微編程6.6.1使用V16.6.2構(gòu)成更短的微指令6.6.3匯編垂直微代碼6.7問(wèn)題第7章評(píng)估H1的指令集體系結(jié)構(gòu):第1部分7.1簡(jiǎn)介7.2啞編譯器7.3全局變量7.4局部變量7.5變化的相對(duì)地址7.6參數(shù)和傳值調(diào)用7.7返回值7.8需要相對(duì)指令的原因7.9確定動(dòng)態(tài)局部變量和參數(shù)的地址7.10間接引用指針7.11問(wèn)題第8章評(píng)估H1的指令集體系結(jié)構(gòu):第2部分8.1簡(jiǎn)介8.2引用調(diào)用8.2.1引用調(diào)用的實(shí)現(xiàn)8.2.2C++引用參數(shù)的概念視圖8.2.3不間接引用C++引用參數(shù)的情況8.2.4傳值調(diào)用與引用調(diào)用的比較8.2.5常數(shù)和表達(dá)式作為變?cè)?.3函數(shù)重載和重命名8.4結(jié)構(gòu)8.5Java中的指針8.6函數(shù)指針8.7數(shù)組8.7.1定義并訪問(wèn)數(shù)組8.7.2數(shù)組作為變?cè)?.7.3Java中的數(shù)組8.8控制語(yǔ)句8.9有符號(hào)數(shù)和無(wú)符號(hào)數(shù)比較8.10多字加法8.11位級(jí)操作8.12遞歸8.13問(wèn)題第9章高級(jí)匯編語(yǔ)言編程9.1簡(jiǎn)介9.2指向指針的指針9.3引用調(diào)用及其他地方存在的潛在錯(cuò)誤9.4關(guān)系和布爾表達(dá)式9.5字符串9.6值結(jié)果調(diào)用9.7變長(zhǎng)變?cè)斜?.8問(wèn)題第10章連接和加載10.1簡(jiǎn)介10.2浮動(dòng)字段10.3顯示標(biāo)題和機(jī)器代碼正文的程序10.4小s項(xiàng)10.5禁止重定位10.6分別匯編10.7乘法子例程10.8使用庫(kù)10.9分別匯編的優(yōu)點(diǎn)10.10啟動(dòng)代碼10.11C++模塊的分別編譯10.12問(wèn)題第11章用C++或Java實(shí)現(xiàn)匯編器和連接器11.1簡(jiǎn)介11.2編寫(xiě)匯編器11.2.1一個(gè)簡(jiǎn)單匯編器的規(guī)范11.2.2操作碼表11.2.3符號(hào)表11.2.4使用二進(jìn)制文件11.2.5讀取輸入文本文件并創(chuàng)建標(biāo)題11.2.6匯編機(jī)器字11.2.7將機(jī)器正文寫(xiě)入輸出文件11.2.8分析輸入11.2.9Java程序的大小端問(wèn)題11.2.10添加對(duì)public、extern和end偽指令的支持11.3編寫(xiě)連接器11.3.1一個(gè)簡(jiǎn)單連接器的規(guī)范11.3.2構(gòu)建P、E、R和S表11.3.3重定位地址并解析外部引用11.3.4添加庫(kù)支持11.4問(wèn)題第12章最優(yōu)指令集12.1簡(jiǎn)介12.2新增和改進(jìn)的指令12.2.1mult、m、div和rem12.2.2addc和subc12.2.3scmp12.2.4ucmp12.2.5shll和shrl12.2.6shra12.2.7addy12.2.8or、xor、and和flip12.2.9cali12.2.10sect和dect12.2.11sodd12.2.12esba、reba、bpbp、pobp和pbp12.2.13cora12.2.14bcpy12.3鏈表--使用最優(yōu)指令集示例12.4關(guān)于最優(yōu)指令集的進(jìn)展報(bào)告12.4.1主存儲(chǔ)器的數(shù)量不足12.4.2存儲(chǔ)器存儲(chǔ)字符串的效率不高12.4.3缺少加和減的立即指令12.4.4缺少變址寄存器12.4.5累加器型寄存器太少12.4.6swap指令破壞sp寄存器12.4.7缺少乘法和除法指令12.4.8sp寄存器作為棧頂指針和基址寄存器的雙重用途12.4.9難以獲得堆棧上變量的地址12.4.10缺少塊復(fù)制指令12.4.11難以調(diào)用地址已知的函數(shù)12.4.12aloc和dloc指令的局限性12.4.13難以執(zhí)行有符號(hào)數(shù)和無(wú)符號(hào)數(shù)比較12.4.14難以執(zhí)行多字加法12.4.15不支持位級(jí)操作12.5問(wèn)題第13章使用、評(píng)估并實(shí)現(xiàn)最優(yōu)指令集和堆棧指令集13.1簡(jiǎn)介13.2H1上的乘法13.3二維數(shù)組13.4匯編語(yǔ)言中的面向?qū)ο缶幊?3.4.1C++的結(jié)構(gòu)、類(lèi)和對(duì)象13.4.2繼承13.4.3通過(guò)指針調(diào)用成員函數(shù)13.4.4虛函數(shù)和多態(tài)性13.5名調(diào)用13.6面向堆棧的體系結(jié)構(gòu)13.6.1體系結(jié)構(gòu)與組織13.6.2以棧頂代替ac寄存器13.6.34位操作碼的可用性13.6.4特殊的堆棧操作13.6.5更簡(jiǎn)單的編譯13.6.6返回值13.6.7使用堆棧指令集示例13.6.8比較最優(yōu)指令集和堆棧指令集13.6.9關(guān)于JVM的幾點(diǎn)觀察13.7編寫(xiě)最優(yōu)和堆棧指令集的微代碼13.8微編程的挑戰(zhàn)13.9問(wèn)題第14章存儲(chǔ)系統(tǒng)14.1簡(jiǎn)介14.2地址的傳送14.3多程序系統(tǒng)14.4直接存儲(chǔ)器存取14.5分時(shí)系統(tǒng)14.6重定位寄存器14.7虛擬存儲(chǔ)器14.7.1簡(jiǎn)單分頁(yè)系統(tǒng)14.7.2關(guān)聯(lián)存儲(chǔ)器14.7.3中斷14.7.4請(qǐng)求式分頁(yè)14.7.5請(qǐng)求式分頁(yè)的頁(yè)面替換策略14.7.6頁(yè)面大小的考慮14.7.7超級(jí)用戶(hù)/用戶(hù)模式14.7.8存儲(chǔ)器保護(hù)14.7.9分頁(yè)的分段14.8高速緩沖存儲(chǔ)器14.8.1緩存的替換策略14.8.2寫(xiě)策略14.8.3存儲(chǔ)器到緩存的映射方案14.9可共享的程序14.10問(wèn)題第15章某些現(xiàn)代體系結(jié)構(gòu)15.1簡(jiǎn)介15.2CISC與RISC15.3SPARC:RISC體系結(jié)構(gòu)15.3.1重疊的寄存器窗口15.3.2保存和恢復(fù)指令15.3.3加載和存儲(chǔ)指令15.3.4轉(zhuǎn)移、call和jmpl指令15.3.5指令流水線(xiàn)15.3.6連接指令15.3.7尋址方式15.3.8一個(gè)簡(jiǎn)單的匯編語(yǔ)言程序15.3.9合成指令15.3.10編譯器生成的代碼15.3.11存儲(chǔ)映像式I/O15.4Pentium:CISC體系結(jié)構(gòu)15.4.1寄存器結(jié)構(gòu)15.4.2匯編語(yǔ)言15.4.3編譯器生成的代碼15.4.4I/O指令15.5問(wèn)題第16章Java虛擬機(jī)(JVM)16.1簡(jiǎn)介16.2JVM的結(jié)構(gòu)16.3某些使用操作數(shù)堆棧的普通操作16.4方法的調(diào)用和返回16.5執(zhí)行引擎的實(shí)現(xiàn)16.6明智之舉:JVM使用堆棧體系結(jié)構(gòu)16.7一個(gè)簡(jiǎn)單的例子16.8常數(shù)池16.9類(lèi)文件格式16.10字節(jié)碼的空間效率16.11控制語(yǔ)句16.12反匯編類(lèi)文件16.13對(duì)象和數(shù)組16.14JVM:抽象機(jī)器16.15問(wèn)題附錄A指令集匯總(s.txt、b.txt、o.txt、k.txt)附錄B微指令級(jí)匯總(mic.txt)附錄C標(biāo)準(zhǔn)指令集的微代碼(s.has)附錄DSPARC匯總(sparc.txt)附錄Ejava虛擬機(jī)字節(jié)碼匯總(jvm.txt)附錄FASCII匯總(ascii.txt)附錄G數(shù)制匯總(number.txt)附錄H了解C++對(duì)Java程序員的幫助

編輯推薦

  通過(guò)一個(gè)逐步完善的計(jì)算機(jī)模型來(lái)演示基本概念  提供了完整的軟件包(包括模擬器、匯編器和連接器等)  包含對(duì)C++和Java實(shí)現(xiàn)的匯編級(jí)分析  每童都有來(lái)自多年教學(xué)實(shí)踐的大量練習(xí)

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    匯編語(yǔ)言與計(jì)算機(jī)體系結(jié)構(gòu) PDF格式下載


用戶(hù)評(píng)論 (總計(jì)4條)

 
 

  •     有沒(méi)有人能夠給我發(fā)一份這本書(shū)的軟件包。我實(shí)在是找不到哦
      lj20072045@163.com
      求求各位好心人啦
      在下感激不禁
  •   給你一個(gè)地址。去哪里下載吧。我自己就是在那里下的
    http://www.course.com/studentcenter/downloads.cfm?isbn=978-0-534-40527-4&CFID=43329878&CFTOKEN=47256655
  •   同求 軟件包,有答案,論壇地址最好,PS:樓上的連接不可用。。。
  •   我的郵箱1020687749@qq.com
 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7