小吴学汇编写的比较基础,针对没入门又想学习的小白比较适合。有什么问题大家留言一起探讨。写这个博客,主要还是记录自己在看书过程中,觉得比较重要的东西记录下来,然后看书遇到的问题,也会一一记录下来,大家一起探讨。

下面进入正难题,接着昨天的。

1.6存储单元

存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号,例如一个存储器有128个存储单元,编号从0~127,如图所示。

其实学过计算机组成原理的人都知道,计算机中最小信息的单位是bit(比特),也就是一个二进制数。8bit组成一个字节Byte,即8个二进制数。微型机存储的存储单元可以存储一个字节。一个存储器有128个存储单元也就是说可以存储128个字节的是数据。

其实对于微机存储器的容量是以字节最小的单位来计算,对于拥有128个存储单元的存储器来说,它的容量是128个字节。

对于大容量的存储器一般还用以下的单位来计算容量(B用来代替Byte)。

1KB = 1024B  1MB = 1024KB 1GB = 1024MB

1TB = 1024GB

1.7CPU对存储器的读写

刚才讲到。存储器被划为多个存储单元,存储单元从0开始编号。这些编号可以看做是存储单元在存储器中的地址。就像一条街,每个房子都有独特的门牌号。

CPU要从内存中读取数据,首先就要制定存储单元的地址。也就是说,要读取数据,要明确读那一个存储单元中的数据。就像在一条街上找人,要明确他在哪里。

另外,在一台微机中,不只有存储器这一种器件。CPU在读写数据时还要指明,它要对哪一个器件进行操作,进行哪种操作,是从器件里面读取数据还是向器件里面写入新的内容。

由此,我们可以得出一个结论,CPU要想进行数据的读写,必须和外部器件(标准的说法是芯片)进行下面3类信息的交互:

l  存储单元的地址(地址信息)

l  器件的选择,读或者写的命令(控制信息)

l  读或写的数据(数据信息)

在这里,相信大家都有一个疑问,CPU是通过什么将地址、数据和控制信息传导存储芯片中的呢?电子计算机能处理、传输的信息都是电信号,电信号当然是通过导线传送。在计算机中有专门连接CPU和其他芯片的导线,我们通常称之为总线。总线从物理上讲就是一根根线的集合。根据传送信息的不同,总线从逻辑上又分为3类,地址总线、控制总线和数据总线。

CPU从3号单元中读取数据的过程如下图所示

(1)    CPU通过地址线将地址信息3发出

(2)    CPU通过控制线发出内存读写命令,选中存储器芯片,并通知它,将要从中读取数据

(3)    存储器将3号单元中的数据8通过数据线送入CPU

写操作与读操作步骤相似,如向3号单元写入数据26

(1)    CPU通过地址线将地址信息3发出

(2)    CPU通过控制线发出内存写命令,选中存储器芯片,并通知它,将要从中写入数据

(3)    CPU通过数据线将数据26送入内存3号单元

1.8地址总线

经过上一章,我们知道,CPU是通过地址总线来指定存储器单元的,可见地址总线上能传送多少个不同的信息,CPU就可以对多少个存储器单元进行寻址。

现在假设一下,一个CPU有10根渎职总线,让我们来看一下它的寻址情况。我们知道,在电子计算机中,一根导线可以传送的稳定状态只有两种,即高电平或者低电平。用二进制表示就是1和0,10根导线可以传送10位二进制数据。而10位二进制数据可以表示2的10次方个数据,即210个数据,最小为0,最大为1023。

下图展示了一个具有10根地址线的CPU向内存发出地址信息11时,10根地址线上传送的二进制信息。考虑一下,假设传送的不是11,是6、15等数据时,地址线上传送的数据时怎样的。

从上图我们可以看出,11的二进制是1101,因为有10根地址线,不足的补0。所以,如果传送其他二进制信息,不足10位的补0。只要不超过10根地址线的最大传输数据1023即可。还值得注意的是,数据先从低位开始发送。

1.9数据总线

CPU与内存或其他器件之间的数据传送是通过数据总线来进行的。数据总线的宽度决定了CPU和外界的数据传送速度。8根数据总线一次可传送一个8位二进制数据(即一个字节)。16根数据总线一次可传送两个字节。

假设一个CPU1的数据总线宽度为8,一个CPU2的数据总线宽度为16。我们分别来看看它们向内存中写入89D8H时,时如何通过数据总线传送数据的。下图展示了CPU1和CPU2数据总线上的数据传送情况。

89D8=1000 1001 1101 1000

CPU2有16根数据线,可一次性传送16位数据,所以可一次性将数据89D8H;而CPU1只有8根数据线,一次只能传送8位数据,所以要分两次传送。

1.10控制总线

CPU对外部器件的控制是通过控制总线来进行的。在这里控制总线是个总称,控制总线是一些不同控制线的集合。有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制。所以,控制总线的宽度决定可CPU对外部器件的控制能力。

之前说过,内存读取或者写入是由几条控制线综合发出的,其中有一根称为“读信号输出”的控制线负责由CPU向外部传送信号,CPU向该控制线上输出低电平表示将要读取数据;有一根称为“写信号输出”的控制线则负责传送信号。

到这里,我们第一章算是完成了,还有一些零散的东西就不写出来。稍后还有有一个总结,总结一下第一章的内容。喜欢的点击右上角,关注走一波~

小吴学汇编之第一章基础知识 (2)相关推荐

  1. 小吴学汇编之第一章基础知识(1)

    本人小白一枚,刚入职场,职业嵌入式开发.在学校学习Linux操作系统与ARM编程的一些基础知识.也不是什么985,211名校毕业,只是一个普通的本科生,在生活中为了那么一丝生存而努力着. 由于工作需要 ...

  2. 小吴学汇编之第二章--寄存器(1)

    第二章   寄存器 上次我们学完了第一章,懂了一些基本的知识,今天,小吴带你们学习第二章内容寄存器. 一个典型的CPU由运算器.控制器.寄存器(CPU工作原理)等器件构成,这些器件靠总线连接,我们上一 ...

  3. 小吴学汇编之第二章--寄存器(2)

    2.3          几条汇编指令 前面我们说过,汇编指令通过控制CPU进行工作,那么下表是几条汇编指令. 注意,为了使具有高级语言基础的读者更好理解指令的含义,有时会用文字描述和高级语言描述这两 ...

  4. 汇编怎么从内存地址写入连续的数字_汇编语言 第一章 基础知识

    系列文章见:Neptune 第一章 基础知识 1.1 机器语言 机器语言是机器指令的集合,机器指令展开来讲就是一台机器可以正确执行的命令. 由图可见,机器语言是十分晦涩难懂和不易查错的. 1.2 汇编 ...

  5. 【Python学习笔记】第一章基础知识:格式化输出,转义字符,变量类型转换,算术运算符,运算符优先级和赋值运算符,逻辑运算符,世界杯案例题目,条件判断if语句,猜拳游戏与三目运算符

    Python学习笔记之[第一章]基础知识 前言: 一.格式化输出 1.基本格式: 2.练习代码: 二.转义字符 1.基本格式: 2.练习代码: 3.输出结果: 三.输入 1.基本格式: 2.练习代码: ...

  6. HttpClient 中文官方教程----第一章基础知识-只收录,未测试

    2019独角兽企业重金招聘Python工程师标准>>> 第一章基础知识 英文链接:http://hc.apache.org/httpcomponents-client-ga/tuto ...

  7. 【睿慕课点云处理】第一章-基础知识

    [睿慕课点云处理]第一章-基础知识 作业 答 ROS对齐多种传感器数据的时间戳message_filters

  8. c基础学汇编语言,王爽《汇编语言》学习笔记、习题(第一章 基础知识)

    汇编语言的组成 汇编语言发展至今,有以下3类指令组成: 1.汇编指令:机器码和助记符,没有对应的机器码. 2.伪指令:没有对应的机器码,由编译器执行,计算机并不执行. 3.其他符号:如+.-.*./等 ...

  9. Python第一章-基础知识

    第一章:基础知识 1.1 安装python.     直接官网下载最新的python然后默认安装就可以了,然后开始菜单里找到pyhton *.*.* Shell.exe运行python的交互shell ...

最新文章

  1. 关于学习Python的一点学习总结(6->元组)
  2. 使用JQuery Validate插件的报Cannot read property 'settings' of undefined错误的解决方法
  3. 简单几何(线段相交+最短路) POJ 1556 The Doors
  4. 每周学算法/读英文/知识点心得分享 2.25 - 3.1
  5. SpirngBoot整合MyBatis出现“SAXParseException”和“文件提前结束”异常解决办法
  6. C# == 和equals()区别
  7. php图片左右滚动代码怎么写,css图片滚动代码怎么写?轮播图横向滚动展示
  8. 开发app用户协议_APP软件开发如何让用户更开心地付钱?
  9. php implode key,PHP Implode关联数组
  10. linux解析器错误权限不够,实例解析Linux下目录的权限
  11. UCGUI动态内存分析
  12. Python爬虫入门教程 68-100 一招解决爬虫程序卡死问题
  13. 手机浏览器跳微信小程序
  14. IT未来发展五大趋势
  15. Mac Google浏览器出现:您目前无法访问 XX.XX.XX.XX,因为此网站发送了 Google Chrome 无法处理的杂乱凭据
  16. go testing测试
  17. c++中remove函数
  18. 3D建模老师告诉你没学历没基础怎么学3D建模
  19. java做flv直播服务器_使用nginx搭建点播和直播流媒体服务器的方法步骤
  20. ArcGIS 制图流程 非常详细

热门文章

  1. .NET Framework 3.5 (包括.NET 2.0和 3.0) 下载失败的解决方式
  2. 全新BMS开发板 /凌力尔特LTC6804/6811开发板BMS电池管理评估板/储能BMS采集板
  3. 网址验证的两种正则表达式
  4. 【美团技术沙龙】前端遇上黑科技,打造全新界面体验与效率
  5. 教你编译调试Elasticsearch 6.3.2源码
  6. 浙大水业oa系统服务器地址,OA系统
  7. 如何解决无法显示隐藏文件夹
  8. 图像金字塔(高斯与拉普拉斯)
  9. 算法 | 如何快速判断奇数偶数
  10. 设计几何体素描_素描几何体教案