书籍详情
《计算机是如何工作的:人人都能懂的计算机软硬件工作原理》[53M]百度网盘|亲测有效|pdf下载
  • 计算机是如何工作的:人人都能懂的计算机软硬件工作原理

  • 出版社:机械工业出版社京东自营官方旗舰店
  • 出版时间:2023-12
  • 热度:12118
  • 上架时间:2024-06-30 09:38:03
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

产品特色

内容简介

  《计算机是如何工作的:人人都能懂的计算机软硬件工作原理》是一本深入浅出阐释计算机工作原理的入门实践指南,旨在以一种易于理解的方式呈现计算机的基础知识,探索以下主题:如何像软件工程师一样思考,用数据描述真实世界的概念;如何用欧姆定律和基尔霍夫定律分析电路的特性;如何像计算机一样思考,练习二进制加法,一步一步地在脑海中执行一个程序。
  该书涵盖从电路设计到代码编写的广泛主题,涉及二进制、电路、逻辑运算、算术运算、存储器、时钟信号、机器码、汇编语言、高级编程语言、操作系统和互联网等概念。除这些基本概念外,书中还提供了大量练习和41个动手实践的设计任务,包括搭建数字电路、设计猜谜游戏、将十进制数转换为二进制、检查虚拟内存使用情况、运行自己的网络服务器等,帮助读者巩固所学知识。
  该书的设计任务将帮助你把所学知识应用于实践,你将:
  学习如何使用万用表测量电阻、电流和电压;
  构建半加器,探索如何组合硬件中的逻辑运算来实现有用的功能:
  用汇编语言编写程序,然后检查产生的机器码;
  学习使用调试器,反汇编代码并破解程序,在不改变源代码的情况下更改其行为;
  使用端口扫描器查看计算机打开了哪些互联网端口;
  运行自己的服务器,快速学习网络是如何工作的。
  《计算机是如何工作的:人人都能懂的计算机软硬件工作原理》将理论与实践有机结合,并配以丰富的图表,可以帮助读者拓展视野,清晰地了解计算机是如何工作的。

作者简介

  [美]马修·贾斯蒂斯(Matthew Justice),软件工程师,在微软工作了17年,其工作涉及调试Windows内核、开发自动修复程序,以及领导工程师团队构建诊断工具和服务等。他还从事过从底层软件开发到高级网络应用程序开发的所有工作。他拥有电气工程学位。业余时间,他喜欢与家人共度时光,共同远足、阅读、编曲并玩旧式电子游戏。
  
  贺莲,武汉大学计算机学院副教授,博士,长期主讲计算机组成、计算机体系结构等核心课程,主要从事计算机体系结构、网格与服务计算等方面的科研与教学工作。

内页插图

目录

前言
致谢
技术审稿人简介

第1章 计算机的概念
1.1 计算机的定义
1.2 模拟和数字
1.2.1 模拟方法
1.2.2 数字化
1.3 数字系统
1.3.1 十进制数
1.3.2 二进制数
1.4 位和字节
1.5 前缀
1.6 十六进制
1.7 总结

第2章 二进制
2.1 数字化表示数据
2.1.1 数字文本
2.1.2 ASCII
2.1.3 数字颜色和图像
2.1.4 表示颜色和图像的方法
2.1.5 解释二进制数据
2.2 二进制逻辑
2.3 总结

第3章 电路
3.1 电学术语
3.1.1 电荷
3.1.2 电流
3.1.3 电压
3.1.4 电阻
3.1.5 水类比
3.2 欧姆定律
3.3 电路图
3.4 基尔霍夫电压定律
3.5 真实世界中的电路
3.6 发光二极管
3.7 总结
设计1:搭建并测量电路
设计2:搭建简单的LED电路

第4章 数字电路
4.1 什么是数字电路
4.2 用机械开关实现逻辑运算
4.3 神奇的晶体管
4.4 逻辑门
4.5 用逻辑门进行设计
4.6 集成电路
4.7 总结
设计3:用晶体管实现逻辑运算
设计4:用逻辑门构建电路

第5章 数字电路中的算术运算
5.1 二进制加法
5.2 半加器
5.3 全加器
5.4 4位加法器
5.5 有符号数
5.6 无符号数
5.7 总结
设计5:搭建半加器

第6章 存储器和时钟信号
6.1 时序逻辑电路和存储器
6.2 SR锁存器
6.3 在电路中使用SR锁存器
6.4 时钟信号
6.5 JK触发器
6.6 T触发器
6.7 在3位计数器中使用时钟
6.8 总结
设计6:用NOR门搭建SR锁存器
设计7:搭建一个基本的自动贩卖机电路
设计8:在自动贩卖机电路中添加延迟复位功能
设计9:将锁存器用作手动时钟
设计10:测试JK触发器
设计11:搭建3位计数器

第7章 计算机硬件
7.1 计算机硬件概述
7.2 主存
7.3 中央处理器
7.3.1 指令集架构
7.3.2 内部结构
7.3.3 时钟、内核和高速缓存
7.4 其他组件
7.4.1 辅存
7.4.2 输入/输出
7.5 总线通信
7.6 总结

第8章 机器码与汇编语言
8.1 软件术语
8.2 机器指令示例
8.3 用机器码计算阶乘
8.4 总结
设计12:汇编语言中的阶乘运算
设计13:检查机器码

第9章 高级编程
9.1 高级编程概述
9.2 C和Python简介
9.3 注释
9.4 变量
9.4.1 C中的变量
9.4.2 Python中的变量
9.5 栈和堆
9.5.1 栈
……
第10章 操作系统
第11章 互联网
第12章 万维网
第13章 现代计算机
附录

前言/序言

  你是否好奇计算机是如何工作的?获得对计算机的广泛理解通常是一个漫长而曲折的过程。问题不在于缺乏相关文档,在网络上快速地搜索一下就能找到很多致力于解释计算机工作原理的书籍和网站。编程、计算机科学、电子学、操作系统……那里有大量的信息。这是件好事,却会让人望而生畏。那么,你应该从哪里开始呢?一个主题是如何联系到另一个主题的?本书的目的是为大家提供一个切入点,方便大家学习计算机的关键概念,并了解这些概念是如何结合在一起的。
  在我担任工程经理时,我面试了很多软件开发方面的求职者。通过与他们的交谈,我了解到他们知道如何编写代码,但是相当一部分人似乎并不了解计算机实际上是如何工作的。他们知道如何让计算机执行命令,但并不理解幕后的情况。对这些采访结果的反思,以及我自己努力学习计算机的经历,促使我撰写了这本书。
  我的目标是用一种易于理解、可动手操作的方式呈现计算机的基础知识,让抽象概念更加真实。本书并没有深入介绍每个主题,而是主要介绍计算机的基础概念,并将这些概念联系起来。我希望大家能在脑海中勾勒出计算机是如何工作的,这样就能深入挖掘感兴趣的主题了。
  计算机无处不在,随着我们的社会越来越依赖于技术,我们需要广泛理解计算机的人才。我希望本书能帮助大家获得广阔的视野。
  本书读者
  本书适合想要了解计算机工作原理的任何人。读者不必具备与所述主题相关的预备知识,因为本书是从零开始介绍的。如果你已经有编程或电子学方面的背景,那么本书可以帮助你扩展其他领域的知识。本书是为以下这些自学者编写的,他们熟悉基础数学和科学,且熟练使用计算机和智能手机,但仍然对它们的工作原理存有疑问。本书的内容对教师也有用,我相信书中的内容设计非常适合课堂讲解。
  本书内容
  本书把计算机看作一个技术栈。现代计算设备(如智能手机)就是由技术层组成的。这个栈的底层是硬件,顶层是应用程序,顶层与底层之间是多个技术层。层次模型的优点在于,每一层都受益于较低层的全部功能,但任意给定层都只需要建立在其下面一层上就可以了。在介绍了一些基础概念后,我们将自下而上地逐层讲解该技术栈,从电子电路开始,一直推进到驱动网络和应用程序运行的技术。以下是各章所包含的内容。
  第1章涵盖计算机的基础概念,比如模拟和数字、二进制数字系统和SI(国际单位制)前缀。
  第2章探索如何用二进制表示数据和逻辑状态,介绍逻辑运算符。
  第3章解释电学和电路的基本概念,包括电压、电流和电阻。
  第4章介绍晶体管和逻辑门,并总结第2章和第3章的概念。
  第5章展示如何用数字电路执行加法运算,进一步揭示数字是如何在计算机中表示的。
  第6章介绍存储器设备和时序电路,演示如何用时钟信号进行同步。
  第7章介绍计算机的主要组成部分:处理器、存储器和输入/输出。
  第8章展示处理器执行的低级机器码,介绍汇编语言——一种人类可读形式的机器码。
  第9章介绍不依赖于特定处理器的编程语言,包含C语言和Python语言的代码示例。
  第10章介绍操作系统系列以及操作系统的核心功能。
  第11章讲解互联网的工作原理及常用网络协议套件。
  第12章解释网络的工作原理及核心技术:HTTP、HTML、CSS和JavaScript。
  第13章概述一些现代计算机主题,如app、虚拟化和云计算。
  阅读本书时,你将会看到用于解释概念的电路图和源代码。这些都是教学工具,主要是为了直白地讲解内容,而不是为了说明工程师在设计硬件和软件时需要考虑的性能、安全性等因素。换句话说,本书中的电路和代码虽然能帮助你领会计算机是如何工作的,但它们不见得是最好的例子。同样,书中的技术示例也偏向于简单,不够完整。有时,我会省去某些细节,以免介绍得太复杂。
  关于练习和设计任务
  本书几乎每章都配有练习和实践设计任务。这些练习是让你动脑或用纸笔来解决的问题。实践设计任务不仅是脑力练习,还经常涉及电路搭建或计算机编程。
  做这些设计任务需要购买一些硬件(附录B给出了所需组件的列表)。之所以要加这些设计任务,是因为我相信最好的学习方法就是自己去尝试。如果想从本书获得最大收益,那么一定要去完成这些实践设计任务。尽管如此,即使你一个电路都不搭建,一行代码都不输入,也可以继续跟进书中所呈现的内容。
  附录A中给出了练习的答案,相应章末给出了每个设计任务的详细资料。附录B包含了启动这些设计的信息,在需要时,设计文本可以为你指明方向。