作品简介

本书分为三部分。第1部分探讨了计算机硬件,包括内部语言、组合逻辑、顺序逻辑、组成原理、系统结构、通信接口等。第二部分研究了在硬件上运行的软件的行为和表现。第三部分涉及编程的艺术--与他人合作写出好的程序。

自20世纪60年代以来,Jonathan E. Steinhart一直从事工程工作。他在中学时开始设计硬件,在高中时开始设计软件,这让他在贝尔电话实验室做了暑期工。1977年,他在克拉克森大学获得电气工程和计算机科学学士学位。毕业后,他在Tektronix公司工作,之后在starup公司试水。1987年,他成为一名顾问,专注于安全关键系统工程。从上世纪90年代开始,他削减了一些开支,创办了Four Winds Vineyard。

作品目录

  • 译者序
  • 前言
  • 致谢
  • 作者简介
  • 审校者简介
  • 引言
  • 第1章 计算机的内部语言
  • 1.1 什么是语言
  • 1.2 书面语言
  • 1.3 比特
  • 1.4 逻辑运算
  • 1.5 用比特表示整数
  • 1.6 表示实数
  • 1.7 二进制编码的十进制系统
  • 1.8 处理二进制数的简单方法
  • 1.9 命名位组
  • 1.10 表示文本
  • 1.11 用字符表示数字
  • 1.12 表示颜色
  • 1.13 本章小结
  • 第2章 组合逻辑
  • 2.1 数字计算机的案例
  • 2.2 电学的简单入门
  • 2.3 为位构建硬件
  • 2.4 逻辑门
  • 2.5 构建更复杂的电路
  • 2.6 本章小结
  • 第3章 时序逻辑
  • 3.1 表示时间
  • 3.2 内存组织和寻址
  • 3.3 块设备
  • 3.4 闪存和固态磁盘驱动器
  • 3.5 检错和纠错
  • 3.6 硬件和软件
  • 3.7 本章小结
  • 第4章 计算机剖析
  • 4.1 内存
  • 4.2 输入输出
  • 4.3 中央处理器
  • 4.4 指令集
  • 4.5 最终设计
  • 4.6 RISC和CISC指令集
  • 4.7 图形处理单元
  • 4.8 本章小结
  • 第5章 计算机架构
  • 5.1 基本架构元素
  • 5.2 过程、子程序和函数
  • 5.3 堆栈
  • 5.4 中断
  • 5.5 相对寻址
  • 5.6 内存管理单元
  • 5.7 虚拟内存
  • 5.8 系统和用户空间
  • 5.9 存储器层次和性能
  • 5.10 协处理器
  • 5.11 在内存中排列数据
  • 5.12 运行程序
  • 5.13 内存功耗
  • 5.14 本章小结
  • 第6章 通信故障
  • 6.1 低电平I/O
  • 6.2 网络
  • 6.3 数字世界中的模拟
  • 6.4 人机界面设备
  • 6.5 本章小结
  • 第7章 组织数据
  • 7.1 原始数据类型
  • 7.2 数组
  • 7.3 位图
  • 7.4 字符串
  • 7.5 复合数据类型
  • 7.6 单链表
  • 7.7 动态内存分配
  • 7.8 更有效的内存分配
  • 7.9 垃圾收集
  • 7.10 双链表
  • 7.11 层次数据结构
  • 7.12 块存储
  • 7.13 数据库
  • 7.14 索引
  • 7.15 移动数据
  • 7.16 矢量I/O
  • 7.17 面向对象存在的问题
  • 7.18 排序
  • 7.19 哈希算法
  • 7.20 效率与性能
  • 7.21 本章小结
  • 第8章 语言处理
  • 8.1 汇编语言
  • 8.2 高级语言
  • 8.3 结构化程序设计
  • 8.4 词法分析
  • 8.5 从单词到句子
  • 8.6 每日语言俱乐部
  • 8.7 语法树
  • 8.8 解释器
  • 8.9 编译器
  • 8.10 优化
  • 8.11 小心硬件
  • 8.12 本章小结
  • 第9章 Web浏览器
  • 9.1 标记语言
  • 9.2 统一资源定位符
  • 9.3 HTML文档
  • 9.4 文档对象模型
  • 9.5 串联样式表
  • 9.6 XML和它的朋友们
  • 9.7 JavaScript
  • 9.8 jQuery
  • 9.9 SVG
  • 9.10 HTML5
  • 9.11 JSON
  • 9.12 本章小结
  • 第10章 应用程序和系统程序设计
  • 10.1 猜动物程序版本1:HTML和JavaScript
  • 10.2 猜动物程序版本2:C语言
  • 10.3 本章小结
  • 第11章 捷径和近似法
  • 11.1 表格查找
  • 11.2 整数方法
  • 11.3 递归细分
  • 11.4 更多地回避数学运算
  • 11.5 随机事物
  • 11.6 本章小结
  • 第12章 死锁和竞态条件
  • 12.1 竞态条件是什么
  • 12.2 共享资源
  • 12.3 进程和线程
  • 12.4 锁
  • 12.5 浏览器JavaScript
  • 12.6 异步函数和承诺
  • 12.7 本章小结
  • 第13章 安全性
  • 13.1 安全和隐私概述
  • 13.2 密码学
  • 13.3 软件卫生
  • 13.4 本章小结
  • 第14章 机器智能
  • 14.1 概述
  • 14.2 机器学习
  • 14.3 人工智能
  • 14.4 大数据
  • 14.5 本章小结
  • 第15章 现实世界的考虑
  • 15.1 价值主张
  • 15.2 来龙去脉
  • 15.3 编程环境
  • 15.4 开发方法
  • 15.5 项目设计
  • 15.6 项目开发
  • 15.7 与时俱进
  • 15.8 修复,不要再创造
  • 15.9 本章小结
展开全部