注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络计算机科学理论与基础知识计算机系统要素从零开始构建现代计算机

计算机系统要素从零开始构建现代计算机

计算机系统要素从零开始构建现代计算机

定 价:¥45.00

作 者: (美)Noam Nisan,Shimon Schocken
出版社: 电子工业出版社
丛编项:
标 签: 计算机科学理论与基础知识 系统分析与设计

ISBN: 9787121033360 出版时间: 2007-02-01 包装: 平装
开本: 787*980 1/16 页数: 325 字数:  

内容简介

  本书通过展现简单但功能强大的计算机系统之构建过程,为读者呈现了一幅完整、严格的计算机应用科学大图景。本书作者认为,理解计算机工作原理的最好方法就是亲自动手,从零开始构建计算机系统。通过12个章节和项目来引领读者从头开始,本书逐步地构建一个基本的硬件平台和现代软件阶层体系。在这个过程中,读者能够获得关于硬件体系结构、操作系统、编程语言、编译器、数据结构、算法以及软件工程的详实知识。通过这种逐步构造的方法,本书揭示了计算机科学知识中的重要成分,并展示其它课程中所介绍的理论和应用技术如何融入这幅全局大图景当中去。全书基于“先抽象再实现”的阐述模式,每一章都介绍一个关键的硬件或软件抽象,一种实现方式以及一个实际的项目。完成这些项目所必要的计算机科学知识在本书中都有涵盖,只要求读者具备程序设计经验。本书配套的支持网站提供了书中描述的用于构建所有硬件和软件系统所必需的工具和资料,以及用于12个项目的200个测试程序。全书内容广泛、涉猎全面,适合计算机及相关专业本科生、研究生、技术开发人员、教师以及技术爱好者参考和学习。

作者简介

暂缺《计算机系统要素从零开始构建现代计算机》作者简介

图书目录

介绍:Hello, World Below  
第1章 布尔逻辑  
1.1 背景知识  
1.1.1 布尔代数  
1.1.2 门逻辑  
1.1.3 实际硬件结构  
1.1.4 硬件描述语言(HDL)  
1.1.5 硬件仿真  
1.2 规范详述  
1.2.1 Nand门  
1.2.2 基本逻辑门  
1.2.3 多位基本门  
1.2.4 多通道逻辑门  
1.3 实现  
1.4 观点  
1.5 项目  
第2章  布尔运算  
2.1 背景知识  
2.2 规范详述  
2.2.1 加法器  
2.2.2 算术逻辑单元(ALU)  
2.3 实现  
2.4 观点  
2.5 项目  
第3章  时序逻辑  
3.1 背景知识  
3.2 规范详述  
3.2.1 D触发器  
3.2.2 寄存器  
3.2.3 存储  
3.2.4 计数器  
3.3 实现  
54353.4 观点  
54363.5 项目  
5437第4章 机器语言  
54384.1 背景知识  
54394.1.1 机器  
54404.1.2 语言  
54414.1.3 命令  
54424.2 Hack机器语言规范详述  
54434.2.1 概述  
54444.2.2 A-指令  
54454.2.3 C-指令  
5 64.2.4 符号  
54474.2.5 输入/输出处理  
54484.2.6 语法规约和文件格式  
54494.3 观点  
54504.4 项目  
5451第5章 计算机体系结构  
54525.1 背景知识  
54535.1.1 存储程序概念  
54545.1.2 冯?诺依曼结构  
54555.1.3 内存  
565.1.4 中央处理器  
54575.1.5 寄存器  
54585.1.6 输入和输出  
54595.2 Hack硬件平台规范详述  
54605.2.1 概述  
54615.2.2 中央处理器(CPU)  
54625.2.3 指令内存  
54635.2.4 数据内存  
54645.2.5 计算机  
54655.3 实现  
54665.3.1 中央处理器  
54675.3.2 内存  
54685.3.3 计算机  
54695.4 观点  
54705.5 项目  
5471第6章 汇编编译器  
54726.1 背景知识  
54736.2 Hack汇编到二进制的翻译规范详述  
54746.2.1 语法规约和文件格式  
54756.2.2 指令  
54766.2.3 符号  
54776.2.4 范例  
54786.3 实现  
54796.3.1 Parser模块  
54806.3.2 Code模块  
54816.3.3 无符号程序的汇编编译器  
54826.3.4 SymbolTable模块  
54836.3.5 有符号程序的汇编编译器  
54846.4 观点  
54856.5 项目  
5486第7章 虚拟机Ⅰ:堆栈运算  
54877.1 背景知识  
54887.1.1 虚拟机范型  
54897.1.2 堆栈机模型  
54907.2 VM规范详述,89第I部分  
54917.2.1 概论  
54927.2.2 算术命令和逻辑命令  
54937.2.3 内存访问命令  
54947.2.4 程序流程控制命令和函数调用命令  
54957.2.5 Jack-VM-Hack 平台中的程序元素  
54967.2.6 VM编程实例  
54977.3 实现  
54987.3.1 Hack平台上的标准VM映射,97第I部分  
549 .3.2 关于VM设计实现的建议  
54007.3.3 程序结构  
54017.4 观点  
54027.5 项目  
5403第8章 虚拟机Ⅱ:程序控制  
54048.1 背景知识  
54058.1.1 程序控制流  
54068.1.2 子程序调用  
54078.2 VM规范详述,106第Ⅱ部分..  
54088.2.1 程序控制流命令  
54098.2.2 函数调用命令  
54 .2.3 函数调用协议  
54118.2.4 初始化  
54128.3 实现  
54138.3.1 Hack平台上的标准VM映射,112第Ⅱ部分  
54148.3.2 范例  
54158.3.3 VM实现的设计建议  
54168.4 观点  
54178.5 项目  
5418第9章 高级语言  
54199.1 背景知识  
54209.1.1 范例1:Hello World  
54219.1.2 范例2:过程化编程和数组处理  
54229.1.3 范例3:抽象数据类型  
54239.1.4 范例4:链表实现  
54249.2 Jack语言规范详述  
54259.2.1 语法要素  
54269.2.2 程序结构  
54279.2.3 变量  
54289.2.4 语句  
54299.2.5 表达式  
54309.2.6 子程序调用  
54319.2.7 Jack标准库  
54329.3 编写Jack应用程序  
54339.4 观点  
54349.5 项目  
5435第10章 编译器Ⅰ:语法分析  
543610.1 背景知识  
543710.1.1 词法分析  
543810.1.2 语法  
543910.1.3 语法分析(Parsing)  
544010.2 规范详述  
544110.2.1 Jack语言语法  
544210.2.2 Jack语言的语法分析器  
544310.2.3 语法分析器的输入  
544410.2.4 语法分析器的输出  
544510.3 实现  
544610.3.1 JackAnalyzer模块  
544710.3.2 JackTokenizer模块  
544810.3.3 CompilationEngine模块  
544910.4 观点  
545010.5 项目  
5451第11章 编译器Ⅱ:代码生成  
545211.1 背景知识  
545311.1.1 数据翻译  
545411.1.2 命令翻译  
545511.2 规范详述  
545611.2.1 虚拟机平台之上的标准映射  
545711.2.2 编译过程举例  
545811.3 实现  
545911.3.1 JackCompiler模块  
546011.3.2 JackTokenizer模块  
546111.3.3 SymbolTabel模块  
546211.3.4 VMWriter模块  
546311.3.5 CompilationEngine模块  
546411.4 观点  
546511.5 项目  
5466第12章 操作系统  
546712.1 背景知识  
546812.1.1 数学操作  
546912.1.2 数字的字符串表示  
547012.1.3 内存管理  
547112.1.4 变长数组和字符串  
547212.1.5 输入/输出管理  
547312.2 Jack OS规范详述  
547412.2.1 Math  
547512.2.2 String  
547612.2.3 Array  
547712.2.4 Output  
547812.2.5 Screen  
547912.2.6 Keyboard  
548012.2.7 Memory  
548112.2.8 Sys  
548212.3 实现  
548312.3.1 Math  
548412.3.2 String  
548512.3.3 Array  
548612.3.4 Output  
548712.3.5 Screen  
548812.3.6 Keyboard  
548912.3.7 Memory  
549012.3.8 Sys  
549112.4 观点  
549212.5 项目  
5493第13章 后记:发掘更多乐趣  
549413.1 硬件的实现  
549513.2 硬件的改进  
549613.3 高级语言  
549713.4 优化  
549813.5 通信  
5499附录A: 硬件描述语言(HDL)  
5400A.1 范例  
5401A.2 约定  
5402A.3 将芯片加载到硬件仿真器  
5403A.4 芯片描述头(接口)  
5404A.5 芯片描述体(实现)  
5405A.5.1 单元  
5406A.5.2 管脚和连接  
5407A.5.3 总线  
5408A.6 内置芯片  
5409A.7 时序芯片  
5410A.7.1 时钟  
5411A.7.2 时钟芯片和管脚  
5412A.7.3 反馈环  
5413A.8 芯片操作的可视化  
5414A.9 已经提供的内置芯片与新的内置芯片  
5415附录B: 测试脚本语言  
5416B.1 文件的格式和用法  
5417B.2 在硬件仿真器中测试芯片  
5418B.2.1 范例  
5419B.2.2 数据类型和变量  
5420B.2.3 脚本命令  
5421B.2.4 内置芯片的方法和变量  
5422B.2.5 范例  
5423B.2.6 默认脚本  
5424B.3 在CPU仿真器中测试机器语言程序  
5425B.3.1 范例  
5426B.3.2 变量  
5427B.3.3 命令  
5428B.3.4 默认脚本  
5429B.4 在VM仿真器中测试VM程序  
5430B.4.1 范例  
5431B.4.2 变量  
5432B.4.3 命令  
5433B.4.4 默认脚本  
5434索引...  

本目录推荐