- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
计算机组成原理知识点笔记
基础知识:
冯诺伊曼体系结构
在冯诺伊曼体系结构中,一台计算机的基本组成分为一下5个部
分:
运算器+控制器。即CPU
用于衡量计算的性能的两个指标:
CPU执行时间:一个计算请求从开始到结束的CPU耗时
吞吐量:一段时间内能够处理多少计算请求
CPU执行时间=指令数*指令平均时钟周期数*时钟周期时间
优化CPU执行时间的策略:提升计算机主频(减小时钟周期时间)、
优化CPU设计使得在单个时钟周期内能够执行更多指令(减小指令平
均时钟周期数),以及优化程序代码来减少需要的指令数。
CPU计算的本质:CPU是一种超大规模集成电路,计算的本质就
是这些大规模电路不停地进行预设的“开”、“关”动作。
逻辑的处理器数量=物理CPU数*核心数*每个核心的线程数
指令和运算:
if-else和switch-case的比较:通过对两者进行编译之后观察
其汇编代码,发现if-else执行时需要将条件一个个的比对,直到找
到符合条件的分支。而switch-case则只需要一次的比较就能找到对
应的分支,原因是switch-case生成了跳转表,可以通过跳转表的索
引直接定位到分支。
函数调用栈:用于在执行函数调用时保存返回后的将要执行的指
令地址、函数中的局部变量的栈结构。当出现无限的函数调用或者入
栈的变量占用过多的栈空间时,会出现stackoverflow错误。
ELF文件:全称是ExecuatableandLinkableFile,是Linux
系统下的一种文件格式。C语言的程序源代码在汇编阶段和链接阶段
都会产生ELF文件。运行一个可执行的程序时,装载器会读取这种格
式的文件,并把各Segment的内容放到内存中对应的位置,再由CPU
去执行。
C语言程序代码通过编译器、汇编器进行编译和汇编,产生ELF
格式的文件,此时的文件还不能够被执行,需要通过链接器将多个
ELF文件进行链接。链接器要做的工作就是分析各个ELF文件的重定
向表、符号表,并将符号引用替换为最终的函数地址,从而完成多个
ELF文件的“汇聚”工作,最后产生一个可执行的ELF文件。
二进制编码:在计算机里面,所有的信息、数据都是以二进制进
行计算和存储的。比如在对数据进行计算的时候,使用的的是数值对
应的二进制计算法方式,在进行数据存储时,写到存储介质的数据也
是二进制数据。
字符乱码的原因:当文本内容出现显示乱码时,原因是因为字符
内容的编码方式方式和解码方式不统一。比如对“你好”这个文本内
容使用了UTF-8编码,但是解码的时候使用GB2312解码,就会导致
解码方式和编码方式不统一,从而造成乱码。
浮点数的表示:IEEE754标准中,32位浮点数由三部分组成:1
位符号位(s)表示正负、8位指数位(e)、23位位有效位(f)。
有效位和指数位共同决定了浮点数的大小和精度。
由于有的浮点数在转化为二进制时,有效位部分出现循环,导致
必须截断丢弃,因此有的浮点数在IEEE754标准下是无法精确表示
和计算的。比如浮点数0.3,转化为二进制小数为
0.01001100110011...,“0011”部分会无限循环。
处理器:
指令周期:取指、译码、执行。
组成CPU的基本电路:ALU、寄存器电路、PC(指令地址寄存器)、
译码器。
CPU的计算流程:
指令流水线技术:指令流水线技术是指,在CPU执行指令时,整
个执行过程拆分为多个阶段,比如分成三个阶段:取指令、译码、执
行,然后让CPU中不同的模块同时进行各个阶段的处理,当一条指令
处于译码阶段的时候,后面的指令可以开始取指令阶段,这中设计方
式大大提高了CPU的使用率。
冒险:使用流水线技术的CPU需要解决三种冒险,分别是数据冒
险、结构冒险、控制冒险。
结构冒险指的是CPU在执行不同指令的不同阶段时,可能需要同
一个硬件电路,因而对应的解决办法就是增加对应
文档评论(0)