计算机系统要素:从零开始构建现代计算机
基本信息
- 原书名: The Elements of Computing Systems: Building a Modern Computer from First Principles
- 原出版社: MIT Press
- 作者: (美)Noam Nisan Shimon Schocken
- 译者: 周维 宋磊 陈曦
- 出版社:电子工业出版社
- ISBN:9787121033360
- 上架时间:2007-2-14
- 出版日期:2007 年2月
- 开本:16开
- 页码:500
- 版次:1-1
- 所属分类:
计算机 > 计算机组织与体系结构 > 综合
编辑推荐
(1)通过展现简单但功能强大的计算机系统之构建过程,为读者呈现了一幅完整、严格的计算机应用科学大图景。.
(2)理解计算机工作原理的最好方法就是亲自动手,从零开始构建计算机系统。..
(3)每一章都介绍一个关键的硬件或软件抽象,一种实现方式以及一个实际的项目...
本书配套软件和资料下载:TECS Software Suite 2.5 软件和资料打包下载(包括配套软件、配套软件源代码、实践项目源文件、软件使用教程、演讲材料、原版图书样章等内容)
其它相关下载信息请访问:http://blog.csdn.net/kingofark/archive/2007/03/16/1531108.aspx
推荐阅读
内容简介回到顶部↑
本书通过展现简单但功能强大的计算机系统之构建过程,为读者呈现了一幅完整、严格的计算机应用科学大图景。本书作者认为,理解计算机工作原理的最好方法就是亲自动手,从零开始构建计算机系统。.
通过12个章节和项目来引领读者从头开始,本书逐步地构建一个基本的硬件平台和现代软件阶层体系。在这个过程中,读者能够获得关于硬件体系结构、操作系统、编程语言、编译器、数据结构、算法以及软件工程的详实知识。通过这种逐步构造的方法,本书揭示了计算机科学知识中的重要成分,并展示其它课程中所介绍的理论和应用技术如何融入这幅全局大图景当中去。全书基于“先抽象再实现”的阐述模式,每一章都介绍一个关键的硬件或软件抽象,一种实现方式以及一个实际的项目。完成这些项目所必要的计算机科学知识在本书中都有涵盖,只要求读者具备程序设计经验。本书配套的支持网站提供了书中描述的用于构建所有硬件和软件系统所必需的工具和资料,以及用于12个项目的200个测试程序。..
全书内容广泛、涉猎全面,适合计算机及相关专业本科生、研究生、技术开发人员、教师以及技术爱好者参考和学习。...
通过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 规范详述
介绍: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 规范详述
前言回到顶部↑
过去,凡是计算机专业人员都对计算机的工作原理和工作方式了如指掌。计算机体系中的硬件、软件、编译器以及操作系统之间的交互既简单又透明,因此要把握计算机系统大局观并非难事。然而随着现代计算机技术的日趋复杂,这种明晰性不复存在:计算机科学领域里面大多数基本思想和技术都被隐藏在众多抽象接口以及私有实现的层面之下。这种复杂性导致了无法避免果,即领域专业化;这使得多门计算机科学领域应运而生,每个领域只涵盖整个学科中的某一个方面。.
之所以要编写这本书,正是因为本书作者有感于:很多学习计算机科学的学生识木而不知林,疲于埋头学习程序设计、各种理论以及工程知识,却失去了对计算机系统整体的把握和理解,未曾停下来欣赏计算机系统大局观的美景。这个大局观为我们展示的是:硬件系统和软件系统如何经由隐藏的抽象、接口以及基于各种约定的实现所编织起来的网,从而紧紧地关联在一起。由于没有从表及里地透彻领略这个繁复大局观的魅力,使很多学生和计算机从业人员产生了不安的感觉,因为他们并没有完全透彻理解和掌握计算机的内部工作原理。
本书作者相信,理解计算机工作原理的最好方法就是亲自动手,从零开始构建计算机系统。由此我们提出了如下的概念:描述一种简单但功能较强的计算机系统,让学生从最基本的逻辑门开始构建其硬件平台和软件层级。要做就要把事情做好。之所以这么说是因为,从头开始构建完整的通用计算机系统是个艰巨的任务。因此,本书不仅阐述如何构建计算机系统,而且让读者亲自参与实践,了解如何有效地计划和管理大规模硬件/软件开发项目。此外,我们从最原始最基本的构建模块开始,通过递归向上和逻辑推理等手段,展示如何构建复杂且有用的系统。
范围Scope
本书通过一系列的硬件和软件实践项目,向读者展示计算机科学知识中的大部分核心内容。这些实践项目将会为您展示计算机科学中的理论知识和应用技术是如何应用于工程实践中的。本书涵盖如下主题:
■硬件:逻辑门;布尔运算; multiplexor(多路复用器);触发器(flip-flop);寄存器(register);RAM单元;计数器;硬件描述语言(HDL,Hardware Description Language);芯片的仿真及测试。
■体系架构:ALU/CPU的设计与实现;机器代码;汇编语言程序设计;取址模式;I/O内存映像。
■操作系统:内存管理;数学计算程序库;基本I/O驱动程序;屏幕管理;文件I/O;对高级语言的支持。
■程序设计语言:基于对象(object-based)的设计和编程模式;抽象数据类型;作用域;语法和语义;引用(reference)机制。
■编译器:词法分析;自顶向下的语法分析;符号表(symbol table);基于堆栈(stack-based)的虚拟机;代码生成;数组和对象的实现。
■数据结构和算法:堆栈;哈希表;链表;递归;算术算法;几何算法;运行效率。
■软件工程:模块化设计;接口/实现范式;API设计和文档;主动式测试(即极限编程理论中的单元测试等);广义的程序设计概念;质量保证体系。
介绍这些主题的目的只有一个:从零开始构建现代计算机系统。这同时也是我们选择讨论主题时所遵循的原则,即本书集中讨论构建具有完整功能的计算机系统所需要的最小集合。因此,该最小集合中包含了很多应用计算机科学中的基本思想。
课程
Course
本书的读者对象主要是高等院校的计算机科学以及其他工程学科的本科生和研究生。以本书为基础的课程与普通计算机科学课程是“纵向交叉”的,学生在普通课程中的任何时候都可以学习本书的内容。本书有两个明显的课程切入点,一个是“CS-2”(即学完程序设计之后),一个是“CS-199”(即学完所有相关课程之后,作为总结性的综合课程)。“CS-2”课程可作为面向系统的计算机科学入门,而“CS-199”课程可作为全面的、面向项目的系统构建课程。此类课程可称为计算机科学的系统结构,或计算系统要素、数字系统构建、计算机系统构建,或是“让我们来构建计算机”等等。根据涵盖的主题以及教学进度计划,本书可以在一个学期内讲授,也可以分为两个学期进行讲授。
本书是完全与其他课程独立的,所需的预备知识仅仅是基本的编程能力(任何语言)。因此,本书不仅适用于计算机科学专业的学生,而且也适用于计算机实用技术专业的学生(以此学习硬件结构、操作系统以及现代软件工程的基本知识)。对于任何技术或科学专业的学生,只要学完一门程序设计课程之后,就可以利用本书以及本书配套的支持网站作为自学教程。..
本书的结构
Structure
在开始的简介内容里,我们提出了构建的方法并预览了本书所讨论的主要硬件/软件抽象。这为第1至12章的阐述奠定了基础。从第1章到第12章,每章都要讨论三个内容:1)一种关键的硬件抽象或软件抽象;2)该抽象的实现原理;3)一个实际项目,用来构建并测试所构建的系统。前5章主要讨论简单的现代计算机硬件平台的构建。第6至12章描述一个典型的多层(multi-tier)软件阶层体系的设计与实现,包括构建一门基于对象(object-based)的程序设计语言和一个简单的操作系统。
之所以要编写这本书,正是因为本书作者有感于:很多学习计算机科学的学生识木而不知林,疲于埋头学习程序设计、各种理论以及工程知识,却失去了对计算机系统整体的把握和理解,未曾停下来欣赏计算机系统大局观的美景。这个大局观为我们展示的是:硬件系统和软件系统如何经由隐藏的抽象、接口以及基于各种约定的实现所编织起来的网,从而紧紧地关联在一起。由于没有从表及里地透彻领略这个繁复大局观的魅力,使很多学生和计算机从业人员产生了不安的感觉,因为他们并没有完全透彻理解和掌握计算机的内部工作原理。
本书作者相信,理解计算机工作原理的最好方法就是亲自动手,从零开始构建计算机系统。由此我们提出了如下的概念:描述一种简单但功能较强的计算机系统,让学生从最基本的逻辑门开始构建其硬件平台和软件层级。要做就要把事情做好。之所以这么说是因为,从头开始构建完整的通用计算机系统是个艰巨的任务。因此,本书不仅阐述如何构建计算机系统,而且让读者亲自参与实践,了解如何有效地计划和管理大规模硬件/软件开发项目。此外,我们从最原始最基本的构建模块开始,通过递归向上和逻辑推理等手段,展示如何构建复杂且有用的系统。
范围Scope
本书通过一系列的硬件和软件实践项目,向读者展示计算机科学知识中的大部分核心内容。这些实践项目将会为您展示计算机科学中的理论知识和应用技术是如何应用于工程实践中的。本书涵盖如下主题:
■硬件:逻辑门;布尔运算; multiplexor(多路复用器);触发器(flip-flop);寄存器(register);RAM单元;计数器;硬件描述语言(HDL,Hardware Description Language);芯片的仿真及测试。
■体系架构:ALU/CPU的设计与实现;机器代码;汇编语言程序设计;取址模式;I/O内存映像。
■操作系统:内存管理;数学计算程序库;基本I/O驱动程序;屏幕管理;文件I/O;对高级语言的支持。
■程序设计语言:基于对象(object-based)的设计和编程模式;抽象数据类型;作用域;语法和语义;引用(reference)机制。
■编译器:词法分析;自顶向下的语法分析;符号表(symbol table);基于堆栈(stack-based)的虚拟机;代码生成;数组和对象的实现。
■数据结构和算法:堆栈;哈希表;链表;递归;算术算法;几何算法;运行效率。
■软件工程:模块化设计;接口/实现范式;API设计和文档;主动式测试(即极限编程理论中的单元测试等);广义的程序设计概念;质量保证体系。
介绍这些主题的目的只有一个:从零开始构建现代计算机系统。这同时也是我们选择讨论主题时所遵循的原则,即本书集中讨论构建具有完整功能的计算机系统所需要的最小集合。因此,该最小集合中包含了很多应用计算机科学中的基本思想。
课程
Course
本书的读者对象主要是高等院校的计算机科学以及其他工程学科的本科生和研究生。以本书为基础的课程与普通计算机科学课程是“纵向交叉”的,学生在普通课程中的任何时候都可以学习本书的内容。本书有两个明显的课程切入点,一个是“CS-2”(即学完程序设计之后),一个是“CS-199”(即学完所有相关课程之后,作为总结性的综合课程)。“CS-2”课程可作为面向系统的计算机科学入门,而“CS-199”课程可作为全面的、面向项目的系统构建课程。此类课程可称为计算机科学的系统结构,或计算系统要素、数字系统构建、计算机系统构建,或是“让我们来构建计算机”等等。根据涵盖的主题以及教学进度计划,本书可以在一个学期内讲授,也可以分为两个学期进行讲授。
本书是完全与其他课程独立的,所需的预备知识仅仅是基本的编程能力(任何语言)。因此,本书不仅适用于计算机科学专业的学生,而且也适用于计算机实用技术专业的学生(以此学习硬件结构、操作系统以及现代软件工程的基本知识)。对于任何技术或科学专业的学生,只要学完一门程序设计课程之后,就可以利用本书以及本书配套的支持网站作为自学教程。..
本书的结构
Structure
在开始的简介内容里,我们提出了构建的方法并预览了本书所讨论的主要硬件/软件抽象。这为第1至12章的阐述奠定了基础。从第1章到第12章,每章都要讨论三个内容:1)一种关键的硬件抽象或软件抽象;2)该抽象的实现原理;3)一个实际项目,用来构建并测试所构建的系统。前5章主要讨论简单的现代计算机硬件平台的构建。第6至12章描述一个典型的多层(multi-tier)软件阶层体系的设计与实现,包括构建一门基于对象(object-based)的程序设计语言和一个简单的操作系统。
评论交流
共有40人开贴评论 58人参与评论 38人参与打分 查看
发表于:2011-4-24 12:34:00
我觉得这本书很适合作为计算机专业大一新生作为入门或者大四的学生作为一个知识总结。我已经看完了大部分的篇章并完成对应的练习,最大的感受就是它把大学四年大部分的课程给串了起来,从数字逻辑、到体系结构、到编译原理、到操作系统。本来很多课程当时学了并不知道有什么用,不知道他们之间的联系是什么,现在全豁然开朗了。另外这本书很注重实践,里面的练习都要好好做一做,才能体会这本书的价值所在。这些练习也具有一定的难度,需要好好思考一番。不过这本书只是把很多知识串起来点到为止,所以要想深入学习的话,还应该看看各个学科对应的书籍。为什么我上次发表的本书评论没有记录到评论篇数?系统似乎有BUG。
评价等级:







发表于:2011-3-2 10:38:00
我觉得这本书很适合作为计算机专业大一新生作为入门或者大四的学生作为一个知识总结。我已经看完了大部分的篇章并完成对应的练习,最大的感受就是它把大学四年大部分的课程给串了起来,从数字逻辑、到体系结构、到编译原理、到操作系统。本来很多课程当时学了并不知道有什么用,不知道他们之间的联系是什么,现在全豁然开朗了。另外这本书很注重实践,里面的练习都要好好做一做,才能体会这本书的价值所在。这些练习也具有一定的难度,需要好好思考一番。不过这本书只是把很多知识串起来点到为止,所以要想深入学习的话,还应该看看各个学科对应的书籍。
| 我要写评论 |
| 查看所有评论交流(共40条) |








点击看大图




加载中...
