热搜关键词: 信号与系统无刷电机ADSTCP/IP

pdf

计算机系统解密 从理解计算机到编写高效代码 ((美)乔纳森·E·斯坦哈特(Jonathan E· Steinhart))

  • 1星
  • 日期: 2022-04-05
  • 大小: 11.06MB
  • 所需积分:1分
  • 下载次数:17
  • favicon收藏
  • rep举报
  • free评论
标签: 计算机

计算机

编码

编码

本书深入探讨了计算机的基础概念,比如计算机硬件、软件在硬件上的行为,以及随着时间的推移,人们如何解决问题等主题;介绍了现实世界是如何转换成计算机能理解的形式的,组成计算机的基本构件,以及为什么设计与计算机硬件相匹配的程序可以提高性能;还将介绍如何将程序转换为计算机能够理解的机器语言,如何用软件构建块创造Web浏览器等程序,让程序更高效的循环不变式、强度削弱和递归细分等技巧,计算机安全和机器智能的基础知识,以及项目设计、文档编制、日程安排、可移植性、维护等内容。

译者序

前言

致谢

作者简介

审校者简介

引言1

第1章 计算机的内部语言12

1.1 什么是语言12

1.2 书面语言13

1.3 比特13

1.4 逻辑运算14

1.4.1 布尔代数14

1.4.2 德摩根定律15

1.5 用比特表示整数16

1.5.1 表示正数16

1.5.2 二进制加法18

1.5.3 表示负数20

1.6 表示实数23

1.6.1 定点表示法24

1.6.2 浮点表示法25

1.6.3 IEEE浮点标准26

1.7 二进制编码的十进制系统27

1.8 处理二进制数的简单方法27

1.8.1 八进制表示法27

1.8.2 十六进制表示法28

1.8.3 表示语境28

1.9 命名位组29

1.10 表示文本30

1.10.1 ASCII30

1.10.2 其他标准的演变32

1.10.3 UTF-832

1.11 用字符表示数字34

1.11.1 可打印字符引用编码34

1.11.2 Base64编码34

1.11.3 URL编码35

1.12 表示颜色35

1.12.1 增加透明度37

1.12.2 编码颜色38

1.13 本章小结39

第2章 组合逻辑40

2.1 数字计算机的案例40

2.1.1 模拟和数字之间的区别42

2.1.2 为什么尺寸对硬件很重要43

2.1.3 数字使设备更加稳定44

2.1.4 模拟世界中的数字44

2.1.5 为什么使用位而不是数字46

2.2 电学的简单入门47

2.2.1 用管道理解电47

2.2.2 电源开关50

2.3 为位构建硬件52

2.3.1 继电器52

2.3.2 真空管54

2.3.3 晶体管55

2.3.4 集成电路56

2.4 逻辑门57

2.4.1 利用迟滞现象提高抗噪声能力58

2.4.2 差分信号59

2.4.3 传播延迟60

2.4.4 输出的变化61

2.5 构建更复杂的电路63

2.5.1 制作加法器63

2.5.2 制作解码器65

2.5.3 制作多路输出选择器66

2.5.4 制作选择器66

2.6 本章小结68

第3章 时序逻辑69

3.1 表示时间69

3.1.1 振荡器70

3.1.2 时钟70

3.1.3 锁存器71

3.1.4 锁存器组成的门电路72

3.1.5 触发器73

3.1.6 计数器75

3.1.7 寄存器77

3.2 内存组织和寻址78

3.2.1 随机存取存储器80

3.2.2 只读存储器81

3.3 块设备83

3.4 闪存和固态磁盘驱动器85

3.5 检错和纠错86

3.6 硬件和软件87

3.7 本章小结88

第4章 计算机剖析89

4.1 内存89

4.2 输入输出91

4.3 中央处理器92

4.3.1 算术逻辑单元93

4.3.2 移位寄存器94

4.3.3 执行单元96

4.4 指令集97

4.4.1 指令97

4.4.2 寻址方式99

4.4.3 条件码指令99

4.4.4 分支100

4.4.5 最终指令集100

4.5 最终设计103

4.5.1 指令寄存器103

4.5.2 数据通路和控制信号103

4.5.3 流量控制104

4.6 RISC和CISC指令集107

4.7 图形处理单元108

4.8 本章小结108

第5章 计算机架构109

5.1 基本架构元素109

5.1.1 处理器核心110

5.1.2 微处理器和微型计算机110

5.2 过程、子程序和函数111

5.3 堆栈113

5.4 中断116

5.5 相对寻址118

5.6 内存管理单元119

5.7 虚拟内存121

5.8 系统和用户空间121

5.9 存储器层次和性能122

5.10 协处理器123

5.11 在内存中排列数据124

5.12 运行程序125

5.13 内存功耗126

5.14 本章小结126

第6章 通信故障127

6.1 低电平I/O127

6.1.1 I/O端口128

6.1.2 按下按钮129

6.1.3 让灯光亮起131

6.1.4 灯光,动作132

6.1.5 奇思妙想133

6.1.6 2n种灰色134

6.1.7 正交134

6.1.8 并行通信135

6.1.9 串行通信136

6.1.10 捕捉一个波138

6.1.11 通用串行总线139

6.2 网络140

6.2.1 现代局域网141

6.2.2 因特网141

6.3 数字世界中的模拟143

6.3.1 数模转换143

6.3.2 模数转换145

6.3.3 数字音频148

6.3.4 数字图像154

6.3.5 视频156

6.4 人机界面设备157

6.4.1 终端157

6.4.2 图形终端158

6.4.3 矢量图159

6.4.4 光栅图160

6.4.5 键盘和鼠标161

6.5 本章小结161

第7章 组织数据162

7.1 原始数据类型162

7.2 数组164

7.3 位图165

7.4 字符串166

7.5 复合数据类型167

7.6 单链表168

7.7 动态内存分配173

7.8 更有效的内存分配174

7.9 垃圾收集175

7.10 双链表175

7.11 层次数据结构176

7.12 块存储179

7.13 数据库181

7.14 索引182

7.15 移动数据183

7.16 矢量I/O186

7.17 面向对象存在的问题187

7.18 排序188

7.19 哈希算法189

7.20 效率与性能191

7.21 本章小结192

第8章 语言处理193

8.1 汇编语言193

8.2 高级语言194

8.3 结构化程序设计195

8.4 词法分析196

8.4.1 状态机198

8.4.2 正则表达式199

8.5 从单词到句子201

8.6 每日语言俱乐部203

8.7 语法树203

8.8 解释器205

8.9 编译器207

8.10 优化209

8.11 小心硬件210

8.12 本章小结211

第9章 Web浏览器212

9.1 标记语言213

9.2 统一资源定位符214

9.3 HTML文档214

9.4 文档对象模型216

9.4.1 树结构解析216

9.4.2 文档对象模型解释217

9.5 串联样式表218

9.6 XML和它的朋友们221

9.7 JavaScript224

9.8 jQuery226

9.9 SVG228

9.10 HTML5228

9.11 JSON228

9.12 本章小结230

第10章 应用程序和系统程序设计231

10.1 猜动物程序版本1:HTML和JavaScript233

10.1.1 应用程序级框架234

10.1.2 Web页面主体235

10.1.3 JavaScript程序236

10.1.4 CSS238

10.2 猜动物程序版本2:C语言239

10.2.1 终端和命令行239

10.2.2 构建程序240

10.2.3 终端和设备驱动程序240

10.2.4 上下文切换240

10.2.5 标准I/O242

10.2.6 循环缓冲区243

10.2.7 通过合适的抽象实现更好的代码244

10.2.8 一些技术细节244

10.2.9 缓冲区溢出245

10.2.10 C语言程序246

10.2.11 训练251

10.3 本章小结252

第11章 捷径和近似法253

11.1 表格查找253

11.1.1 转换253

11.1.2 纹理映射254

11.1.3 字符分类256

11.2 整数方法258

11.2.1 直线261

11.2.2 曲线266

11.2.3 多项式268

11.3 递归细分269

11.3.1 螺旋线269

11.3.2 构造几何学272

11.3.3 移位和屏蔽278

11.4 更多地回避数学运算279

11.4.1 幂级数近似279

11.4.2 CORDIC算法280

11.5 随机事物284

11.5.1 空间填充曲线284

11.5.2 L系统286

11.5.3 随机287

11.5.4 量化288

11.6 本章小结297

第12章 死锁和竞态条件298

12.1 竞态条件是什么298

12.2 共享资源299

12.3 进程和线程299

12.4 锁301

12.4.1 事务和粒度302

12.4.2 等待锁302

12.4.3 死锁303

12.4.4 短期锁的实现303

12.4.5 长期锁的实现304

12.5 浏览器JavaScript304

12.6 异步函数和承诺307

12.7 本章小结311

第13章 安全性312

13.1 安全和隐私概述313

13.1.1 威胁模型313

13.1.2 信任314

13.1.3 物理安全315

13.1.4 通信安全316

13.1.5 现代社会317

13.1.6 元数据和监控318

13.1.7 社会背景319

13.1.8 身份验证与授权320

13.2 密码学321

13.2.1 隐写术321

13.2.2 替代密码322

13.2.3 换位密码324

13.2.4 更复杂的密码325

13.2.5 一次一密325

13.2.6 密钥交换问题326

13.2.7 公钥密码326

13.2.8 前向加密327

13.2.9 加密哈希函数327

13.2.10 数字签名328

13.2.11 公钥基础设施328

13.2.12 区块链328

13.2.13 密码管理329

13.3 软件卫生330

13.3.1 保护好正确的东西330

13.3.2 仔细检查你的逻辑330

13.3.3 检查错误331

13.3.4 最小化攻击面331

13.3.5 待在界内331

13.3.6 生成合适的随机数是有难度的332

13.3.7 了解代码333

13.3.8 极端聪明是你的敌人335

13.3.9 明白什么是可见的335

13.3.10 不要过度收集335

13.3.11 不要一直存储335

13.3.12 动态内存分配不是你的朋友336

13.3.13 内存垃圾回收也不是你的朋友337

13.3.14 数据作为代码338

13.4 本章小结340

第14章 机器智能341

14.1 概述342

14.2 机器学习343

14.2.1 贝叶斯344

14.2.2 高斯345

14.2.3 索贝尔348

14.2.4 Canny351

14.2.5 特征提取352

14.2.6 神经网络354

14.2.7 使用机器学习数据358

14.3 人工智能359

14.4 大数据361

14.5 本章小结363

第15章 现实世界的考虑364

15.1 价值主张364

15.2 来龙去脉366

15.2.1 短暂的历史366

15.2.2 开源软件368

15.2.3 创意共享370

15.2.4 可移植性的兴起370

15.2.5 软件包管理371

15.2.6 容器371

15.2.7 Java371

15.2.8 Node.js373

15.2.9 云计算373

15.2.10 虚拟机373

15.2.11 便携式设备374

15.3 编程环境374

15.3.1 你有工作经验吗374

15.3.2 学会估计374

15.3.3 调度项目375

15.3.4 决策376

15.3.5 与不同个性的人一起工作376

15.3.6 了解职场文化377

15.3.7 做出明智的选择378

15.4 开发方法378

15.5 项目设计379

15.5.1 把想法写下来379

15.5.2 快速原型发展法380

15.5.3 接口设计380

15.5.4 重用代码或编写自己的代码383

15.6 项目开发383

15.6.1 谈话384

15.6.2 成年人与计算机的关系384

15.6.

推荐帖子 最新更新时间:2022-05-21 10:14

【小梅哥FPGA进阶教程】第十一章 四通道幅频相可调DDS信号发生器 上
十一、四通道幅频相可调DDS信号发生器 本文由山东大学研友袁卓贡献,特此感谢实验目标 实现多通道可调信号发生器 实验平台 芯航线FPGA核心板、ADDA模块 实验现象 实现基于FPGA的多通道可调信号发生器,其中频率、相位以及幅值均可通过PC端串口发送数据对应调节,并可实现4路信号的同步。 实验原理及设计过程 经过前面小梅哥基础课程的学习,相信已经对FPGA的设计有了一定程度的了解
芯航线跑堂 FPGA/CPLD
电动牙刷拆解和分析
用了两年的国产电动牙刷坏了。周末抽空把它拆开,简单分析了一下。 拆开后的样子,可以看到布局还是比算紧凑,但是没有什么特殊的地方。(因为这个牙刷黏合比较紧,拆开的时候外壳就破损了,同时为了避免其他问题,就不放出来了) 这个电动牙刷有三个按键,一个是开关,另外两个是加速和减速。坏的主要原因是按键不灵了,其实还可以转动。从图上可以看到,电路板没有做防水处理,微动开关已经锈蚀,所以会造成内部接触不良。
dcexpert 以拆会友
光伏微型太阳能逆变器辅助电源解决方案
能源危机和环境污染对人们的生存构成严重威胁。作为改善人类生活环境的补救措施之一,新能源发电正在迅速发展。光伏微型逆变器是最受欢迎的解决方案之一被广泛应用。光伏微型太阳能逆变器的辅助电源从光伏板获取电力。因为光伏板电压范围非常宽(9V-55V),并且控制板需要一些隔离电源。因此许多客户使用反激式电源作为辅助电源。反激电路和设计通常非常复杂。为了获得更好的电压调整率和负载调整率,它需要光电耦合器、基准
okhxyyo 模拟与混合信号
【从0教学嵌入式Linux】第二集
第2课:安装Ubuntu操作系统(一)Ubuntu操作系统简介Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu基于Debian发行版和GNOME桌面环境,而从11.04版起,Ubuntu发行版放弃了Gnome桌面环境,
babyking 嵌入式系统
iTOP-4412开发板实现3路ADC数模转换驱动例程
学习下 linux 数模程序驱动的编写,本节我们实现的功能是实现三路 ADC 数模转换。 驱动程序 驱动程序的名字:“itop4412_adc.c”。 要想把这个驱动注册到内核,先把这个驱动程序放到内核的“driver/char”目录下面,如 下图所示:Makefile 然后打开 drive/char 目录下面的 Makefile,添加: obj-$(CONFIG_ADC_CTL)
砂舞的玩笑 嵌入式系统
MSP430F5529 ADC参考
1.ADC12_A初始化参数 typedef struct ADC_MemMap {   union   {     uint16_t CTL0;     struct     {       uint16_t SC             :1;  /* ADC12 Start Conversion */       uint16_t ENC            :1;  /
fish001 微控制器 MCU

评论

combat
下载了,给小朋友看一下。很清晰。多谢
2022-04-06 15:06:39
登录/注册

意见反馈

求资源

回顶部

热门活动

相关视频

可能感兴趣器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
×