计算机系统要素

当前位置:首页 > 网络编程 > 计算机理论基础知识 > 计算机系统要素

出版社:电子工业
出版日期:2007-01-01
ISBN:9787121033360
作者:Noam Nisan,Shimon Schocken
页数:325页

书籍目录

前言
介绍: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 实现
3.4 观点
3.5 项目
第4章 机器语言
4.1 背景知识
4.1.1 机器
4.1.2 语言
4.1.3 命令
4.2 Hack机器语言规范详述
4.2.1 概述
4.2.2 A-指令
4.2.3 C-指令
4.2.4 符号
4.2.5 输入/输出处理
4.2.6 语法规约和文件格式
4.3 观点
4.4 项目
第5章 计算机体系结构
5.1 背景知识
5.1.1 存储程序概念
5.1.2 冯?诺依曼结构
5.1.3 内存
5.1.4 中央处理器
5.1.5 寄存器
5.1.6 输入和输出
5.2 Hack硬件平台规范详述
5.2.1 概述
5.2.2 中央处理器(CPU)
5.2.3 指令内存
5.2.4 数据内存
5.2.5 计算机
5.3 实现
5.3.1 中央处理器
5.3.2 内存
5.3.3 计算机
5.4 观点
5.5 项目
第6章 汇编编译器
第7章 虚拟机Ⅰ:堆栈运算
第8章 虚拟机Ⅱ:程序控制
第9章 高级语言
第10章 编译器Ⅰ:语法分析
第11章 编译器Ⅱ:代码生成
第12章 操作系统
第13章 后记:发掘更多乐趣
附录A: 硬件描述语言(HDL)
附录B: 测试脚本语言
索引

编辑推荐

  《计算机系统要素:从零开始构建现代计算机》通过展现简单但功能强大的计算机系统之构建过程,为读者呈现了一幅完整、严格的计算机应用科学大图景。《计算机系统要素:从零开始构建现代计算机》作者认为,理解计算机工作原理的最好方法就是亲自动手,从零开始构建计算机系统。

作者简介

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

图书封面


 计算机系统要素下载 精选章节试读 更多精彩书评



发布书评

 
 


精彩书评 (总计6条)

  •     多的就不说了,这本书从头到尾介绍了如何自己实现一台计算机,尽管只是一个小板凳,但是世界就是从这里开始的。如果有兴趣,来吧,我们自己做一个吧。我本人除了最后的类库以外,全部实现了。不论你是对硬件实现有兴趣,还是对软件实现有兴趣,可以加这个群,一个讨论一下,85026976
  •     冲着"从零开始"去看,发现书很薄,有些疑惑.读毕第三章已经不想看了,讲的比较浅.然后又搞了个Jack语言,比较讨厌这口写法,无心再去理会语法,快速翻完.要真想学,还是去看<深入理解>比较合适,比这个过瘾.这个相比来说只能算个初级科普读物,啥都提到,啥都一小段完事.
  •     读这本书最大的收获,原来设计一个“从内存中读取指令并执行”的电路并不如想象中那么复杂,用几十个D触发器加一堆逻辑门就能搞出来。当然,要把这么多内容放到一本书里,必然有很多省略之处。数字电路方面,模型比较理想化,要想真的用TTL或FPGA实现Hack还有一些现实的困难要克服,当然不能苛求这本书把数字电路讲得过细,那就喧宾夺主了。CPU设计方面,虽然Hack很简单,但它是怎么一步一步设计出来的,为什么要这样设计,理由何在,设计过程中做了哪些权衡考虑,这些在书中并没有明显的说明。硬件设计,特别是CPU的设计,是为软件服务的。具体地说,就是成为C语言的编译目标,CPU提供的指令应该能充分支持C语言的高效实现,毕竟C语言是使用最广泛的系统语言。这一点Hack并没有完全做到,甚至没有提到,比如它没有逻辑移位指令(C语言有移位操作符),也不能实现函数调用(因为PC的值不能压栈)。Hack的A寄存器可以用来作基址寄存器,即内存访问时的地址,等于是个指针。如果书中能把C语言的常见指针操作用Hack汇编语言翻译阐述一遍,就能相互映照,加深理解,但可惜没有。这方面, Patterson & Hennessy 那本《Computer Organization and Design: The Hardware/Software Interface》要好得多。不过,cod讲的CPU可就没那么容易实现了,那是一块类MIPS的32-bit RISC CPU。CPU除了支持C语言,另外还得支持现代操作系统,具体说来,就是区分用户态和内核态,支持系统调用以便在两者之间转换,支持虚拟内存,让多个进程能有彼此独立的地址空间,等等。这方面我还没有找到一本特别好的书,很多操作系统教材以X86为例,但x86的内存管理机制复杂得一塌糊涂,补丁累补丁(8086->80286->80386->x64,一路补丁打下来,还得向下兼容),花精力在这上面实在不值。我希望能看到以MIPS或者ARM为平台的操作系统教材。性能方面,书中也着墨不多。Hack造出来了,那么它的性能如何,够不够快,能不能更快,瓶颈在哪里?Hack CPU是一个同步时序逻辑电路,它的时钟频率能上到多少MHz,制约因素是啥,它能容忍的clock skew是多少ps,它在执行指令时各个信号的时序图如何,这些书里都没有提到。Hack是个单周期CPU,如果要提速,一般是流水化+cache,这又会引入一大堆的头疼问题。这方面,《Computer Systems: A Programmer's Perspective》讲得很好。Hack的另外一个弱点是输入输出,它用内存映射方式的IO,这本身没问题,但是它不支持中断,也就是说只能用轮询的方式输入输出数据,这可不妙。中断是一个关键概念,不仅是输入输出,单CPU上能实现多任务,全靠操作系统在处理时钟中断时顺便切换当前任务(当然,也有其他切换任务的机会,比如从系统调用返回时)。要学这一块看似神奇的任务切换,不用劳烦复杂的操作系统教材,一本uC/OS-II的书就搞定了。学Hack,好处是它简单,几天就能上手弄懂;坏处是它太简单,可以作为学习的起点,但不宜作为学习的全部。

精彩短评 (总计33条)

  •     : TP3/7242-4
  •     目前读过的最好的计算机操作系统的书,个人认为甚至比CSAPP更好,从硬件到软件通过构造一门高级语言来讲解计算机的原理。
  •     好玩的书!
  •     适合初学者一窥计算机系统的全貌,但是在各个层次上都没有展开讲,如果要深入的话,还要阅读其它的相关高级资料。
  •     一步一步的去实现一个系统~不错
  •     融汇贯通,解惑
  •     很不错的一本学底层硬件逻辑的书.让你知道怎么回事.
  •     类似于编码的书
  •     我觉得应该和orange's配套一起读...可惜考试前匆匆看完就还掉了
  •     Cpu is a art, but pipeline is a black magic, Compiler art, code generator black magic, virtual machine art, vm optimize black magic.
  •     花了一个半月的时间读完了这本书, 特地登陆来评价一下! 算是给这本书画上一个句号. 项目部分实现了一个简单的编译器, 收获很大! 本书非常适合入门! learn by doing 写一个简单的东西就什么都明白了!
  •     入门极好
  •     网上资源地址:http://www.nand2tetris.org/ 包括本书的内容,PPT,软件等
  •     还不错哦
  •     大一开始就去读是一个很好的选择,对于学理工科的同学来说。
  •     其实书中还是把很多东西简化了,看完这本书只是觉得对于计算机有了更深点的体会吧,但是有个完全的了解还是没有。
  •     非常赞的计算机入门读物, 防止你只见树木不见森林.
  •     3233
  •     比较基础和有趣,确实满足了前言中说的『最小集』的目标,不过内容不够深入,毕竟只是一本只有三百多页的小课本
  •     @2015.05.28 发现在 Coursera 上有相应的课程,So excited! @2015.06.06 这本书和《编码》搭配着看,真是美得很美得很。
  •     从现在开始
  •     当科普又太专业,当专业又太科普,每章的题记倒还非常不错
  •     主题为通过实践构建一个完整简易的计算机系统来学习计算机知识的书
  •     的确很多细节问题非常虐人,非计算机专业的,前11章断断续续花了不到一个月做完了,现在正在做12章,虐的我死去活来!!准备休息一段时间,补点计算机系统知识再慢慢写,不然会崩溃掉的,写代码还是心态最重要
  •     这是本入门的神书,从nand门开始,完成了一个最小功能的虚拟机,编译器,操作系统...
  •     唉翻译太糟糕了;后面的软件 project 又太范了,大概了解下计算机各个部分吧
  •     是一本经典之作。只是要完全理解也不是一件容易的事情
  •     受益匪浅
  •     看完,发现没什 么可以被吸收的啊,入门不错啦。
  •     从底层到高层,一步步的实现整个系统,很有意思。不过自己的水平还太菜,以后等自己的语言基础够了,再来刷第二遍。
  •     这绝对是学习计算机架构的神书!让读者从逻辑电路开始动手,一直到完成一个拥有基本功能的操作系统,这个课程设计的太棒了!
  •     教读者自己动手实践的书,书的内容还行,如果读了编码的奥秘和计算机系统概论就可以不看的书。
  •     还是有些用的
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024