《CODE》读后笔记——第21~25章
21.总线连接
- 总线是提供给计算机中每块电路板的数字信号的集合,这些信号可以分为4类:地址信号,数据输入信号,数据输出信号,控制信号。另外,总线给计算机中的各个电路板提供电源。
- S-100总线:早期流行,可以用在8080和6800处理器上。规格为5.3×10英寸,电路板的一边有100个 接头可插在插槽里。S-100有16个地址信号,8个数据输入信号,8个数据输出信号,8个中断信号。
- IBM的ISA总线(Industry standard architecture)----->IBM的MCA总线(Micro channel architecture)----->9家公司(不含IBM)联合推出的32位EISA总线(Extended Industry standard architecture)----->Intel的PCI总线(peripheral component interconnect)
- 8080的电路板上通常有一个Intel 8214优先级中断控制单元,用来处理中断。
- 通常微处理器处理所有的内存读 /写操作,但通过DMA,其他设备可绕过微处理器通过总线直接进行内存读 /写操作。
- 存储器芯片2102中的片选信号(CS),当信号为1时芯片不被选中,即低电平有效。为什么低电平有效呢,网上搜了一下:
主要是为了降低功率,因为选中信号输出时,地址译码器输出端为低电平,此时译码器不输出功率;选中信号没有输出(不选中)时,译码器输出端为高阻状态,输出消耗功率也为0。因此芯片的CS信号采用低电平有效可以最大程度减小片选控制的功率消耗。此外,低电平有效也可以最大程度地减小干扰和保证控制的可靠性。低电平有效时,外部的任何干扰都不能进入被控制的芯片,因而保证芯片的可靠工作。这样在干扰信号能够进入芯片时是在芯片不工作时(片选无效),也就是说,干扰信号对芯片的工作没有影响。而若采用高电平有效,在芯片工作时不要说外部干扰信号能够很容易地进入芯片干扰,造成各种误动作,就连电源的任何波动都可能影响芯片的正常工作。
- 如果连接的是有4个存储体的4KB存储器板,则存储器板中16位地址信号完成的功能如下:
- 如何灵活的连接存储板并设置存储地址范围?书中给出了解答。
- 2102存储芯片的数据输出信号是三态输出。除了逻辑0和逻辑1外,数据输出信号还可以是第三种状态,这种状态就是什么都不是。当CS输入为1的时候,2102芯片就进入第三种状态,这意味着可以把 4个存储体对应的数据输出信号连接到一 起,并用这8个组合输出作为总线的8个数据输入信号。任何时候,连到总线上的众多电路板中只有一个用来确定总线上的数据输入信号是什么。其他电路板不被选中,输出为第三态。
- 2102芯片是静态随机访问存储芯片(SRAM),除此之外还有动态RAM(DRAM)。SRAM存储1位需要多个晶体管,而DRAM只需要1个晶体管,但DRAM的外围支持电路比较复杂,而且需要刷新。
什么是ROM、RAM、DRAM、SRAM和FLASH的区别?http://www.21ic.com/jichuzhishi/mcu/memory/2014-04-23/322864.html
- 键盘扫描码的工作原理:
- 书中提到:软盘和硬盘所有这些接口均使用DMA来接管总线和在随机访问存储器和硬盘之间直接传送数据,且不需经过微处理器。每次传输的数量是磁盘扇区字节数的倍数。此处存疑?待后续查证吧。
22.操作系统
- 历史上最流行的8位微处理器操作系统是CP/M,为8080而生。CP/M文件系统满足2个基本要求:
1)磁盘中的每个文件有一个名字作为标识,这个文件名字也存放在磁盘里。
2)文件在磁盘中并不占用连续的扇区。
- CP/M的三个部件:基本输入/输出系统(BIOS)、基本磁盘操作系统(BDOS)和控制台命令处理系统(CCP)。
- 操作系统的3个主要功能:提供命令和 实用程序以便对文件进行基本的操作;将程序装载到内存中并执行;为程序提供方便的访问计算机硬件的应用程序接口(API:application programming interface)。
- 理论上讲,应用程序只能通过操作系统提供的接口它们来访问计算机的硬件。但对针对20世纪70年代和80年代早期的小型操作系统的应用程序而言,经常绕过操作系统,尤其是在处理视频显示器的时候。直接写入字节到视频存储器的程序比采用其他方式的程序执行速度要快。因此产生了GPU吗?催生了NVIDA和ATI?
- 本章书中最后提到了UNIX,我只想评价一句话:UNIX牛X,贝尔实验室牛X,反垄断法更牛X!
23.定点数和浮点数
- 虚数揭示了现实世界的奥秘,可以用来(例如)解决电子学的一些高级问题。虚数早就学过,但没用过,以后会不会用上这个工具呢?
- 小数点通常固定在特定位置的标记方法称作定点格式。定点格式不标记小数点,处理定点格式数的程序应该知道小数点在哪。定点格式只在知道这些数不会超过预先确定的内存单元且没有太多小数位的场合比较适用,在数可能很大或可能很小的场合定点格式完全不适用。
- 小数点不固定的标记方法称作浮点格式。浮点格式用来存储较小或较大的数比较理想。
- ANSI/IEEE Std754-1985称作IEEE二进制浮点数算术运算标准。该标准定义了两种基本格式:单精度格式(4个字节);双精度格式(8个字节)。规格化二进制浮点数的有效数通常在二进制小数点左边为1,所以在IEEE格式中这一位不包含在浮点数的存储空间中。
- 单精度浮点格式表示:(单精度浮点格式的精度约为7位十进制精度,1/16 777 216)
8位指数范围从0~255,称为移码指数,意思是必须从指数中减去一个数才能确定有符号指数的实际值。对单精度浮点数,偏移量为127。
- 双精度浮点格式表示:(双精度浮点格式的精度约为16位十进制精度)
- 浮点运算最初是编写软件在微处理器上执行运算,后续出现了浮点运算硬件——数学协处理器(或称浮点运算单元,FPU,Floating-point unit)。
24.高级语言和低级语言
- 首先吐槽一句,汇编语言,Assembly Language,什么鬼,明明就是装配语言嘛!Assembly,装配,总成。
- 汇编语言程序冗长,是在芯片级进行程序编程,另外还不能移植。汇编语言是低级语言。
计算机科学更像工程——都是用一些东西来实现另一些东西。
- 编译程序是读取一个源文件,并产生一个可执行文件;而解释程序读取源代码并在读的过程中直接执行而不生成可执行文件。解释程序比编译程序容易编写,但解释程序的执行时间慢。
- 一般来说,编程语言是冯诺依曼语言。但是至少有2个语言不是,LISP和APL。其实我想知道怎样才算非冯诺依曼语言?
25.图形化革命
- 由键盘和CRT组合而成,对来自远方计算机的ASCII码或别的什么码作出响应,这样的设备有时称作哑终端。有点客户端的感觉。
- 显示器技术发展促进了图形化革命,图形化革命引出了图形操作系统,面向对象的编程语言,图像处理,压缩算法,音频处理,数模转换,视频处理,视频压缩算法等等。。
- 然后,信息时代就到来了,我就miss了。
本书作者网站(含官方勘误。怎么说呢,订正了好多汇编错误,好多都是立即数相关的)
http://www.charlespetzold.com/code/
《CODE》读后笔记——第21~25章的更多相关文章
- 【C#4.0图解教程】笔记(第19章~第25章)
第19章 泛型 1.泛型概念 泛型提供了一种更准确地使用有一种以上的类型的代码的方式. 泛型允许我们声明类型参数化的代码,我们可以用不同的类型进行实例化. 泛型不是类型,而是类型的模板. 2.声明 ...
- 第25章 串行FLASH文件系统FatFs—零死角玩转STM32-F429系列
第25章 串行FLASH文件系统FatFs 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.c ...
- 2016年12月30日 星期五 --出埃及记 Exodus 21:25
2016年12月30日 星期五 --出埃及记 Exodus 21:25 burn for burn, wound for wound, bruise for bruise.以烙还烙,以伤还伤,以打还打 ...
- JavaScript高级程序设计(第三版)学习笔记22、24、25章
第22章,高级技巧 高级函数 安全的类型检测 typeof会出现无法预知的行为 instanceof在多个全局作用域中并不能正确工作 调用Object原生的toString方法,会返回[Object ...
- 【RL-TCPnet网络教程】第25章 DHCP动态主机配置协议基础知识
第25章 DHCP动态主机配置协议基础知识 本章节为大家讲解DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),通过前面章节对TCP和UDP ...
- CHAPTER 25 The Greatest Show on Earth 第25章 地球上最壮观的演出
CHAPTER 25 The Greatest Show on Earth 第25章 地球上最壮观的演出 Go for a walk in the countryside and you will f ...
- 【STM32H7教程】第25章 STM32H7的TCM,SRAM等五块内存基础知识
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第25章 STM32H7的TCM,SRAM等五块内 ...
- 第25章 Pytorch 如何高效使用GPU
第25章 Pytorch 如何高效使用GPU 深度学习涉及很多向量或多矩阵运算,如矩阵相乘.矩阵相加.矩阵-向量乘法等.深层模型的算法,如BP,Auto-Encoder,CNN等,都可以写成矩阵运算的 ...
- 《CODE》读后笔记——第14~20章
14.反馈与触发器 振荡器不需要人的干涉即可自主且不断地实现断开和闭合.所有计算机都靠某种振荡器来使其他部件同步工作. 当两个开关都断开时,电路有两个稳定状态,这样的一个电路称为触发器.触发器具有记忆 ...
随机推荐
- ORACLE 实例及RAC
ORACLE 实例及RAC 一.问题 (1)现象 部署一个sh脚本到生产oracle服务器上,该sh脚本负责读取外系统提供的txt文件,然后用sql loader入库,由oracle服务器的cront ...
- 如何在一台电脑上开启多个tomcat
大家基本上都只在一台电脑上面启动一个Tomcat,而启动多个Tomcat会提示报错等相关故障.而假如调试负载均衡及集群的时候,需要在一台电脑上面开启多个Tomcat,那么怎么开启呢? 首先需要知道的是 ...
- 提升linux下tcp服务器并发连接数限制
1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统 ...
- sublime 关闭自动更新
第一步: 点击菜单栏“Preferences”=> "Settings-User" 进入个人参数设置页面: 第二步: 在大括号内插入如下代码:"update_che ...
- [转载]Js小技巧||给input type=“password”的输入框赋默认值
http://www.cnblogs.com/Raywang80s/archive/2012/12/06/2804459.html [转载]Js小技巧||给input type="passw ...
- 水果姐逛水果街Ⅱ codevs 3305
3305 水果姐逛水果街Ⅱ 时间限制: 2 s 空间限制: 256000 KB 题目描述 Description 水果姐第二天心情也很不错,又来逛水果街. 突然,cgh又出现了.cgh施展了魔 ...
- qt小问题
QT如何实现不点击鼠标就能触发 mouseMoveEvent(QMouseEvent *e):setMouseTracking(true) QTableView如何实现单击事件:不需要重写单击事件,而 ...
- python tm_isdst = -1, 0, 1 datetime module
Python 里的tm_isdst DST 是daylight saving time, 意思是:夏令时 在python的time, datetime模块下,按照struct_time格式输出时间,最 ...
- linux命令(3):pwd命令
Linux中用 pwd 命令来查看”当前工作目录“的完整路径. 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录. 在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置. ...
- PHP入门篇
一.PHP-什么是变量 变量是用于存储值的,我们命令服务器去干活的时候,往往需要产生一些数据,需要临时性存放起来,方便取用.我们也可以理解为,变量就像一个购物袋,我们可以用来装苹果.榴莲(当然也可以 ...