【软件设计师—基础精讲笔记1】第一章 计算机组成与体系结构

温馨提示:

        完整笔记已设置成专栏,欢迎各位点击右上角“订阅专栏”,收藏完整笔记。

目   录

一、计算机系统基础知识

二、计算机体系结构

三、系统性能测评

四、考点补充


一、计算机系统基础知识

1、计算机系统硬件基本组成

        计算机的基本硬件系统由运算器、控制器、存储器、输入设备和输出设备5大部件组成。运算器、控制器被集成在一起统称为CPU。CPU是硬件系统的核心。存储器分为内部存储器和外部存储器。

2、中央处理器CPU

CPU主要由运算器、控制器、寄存器和内部总线等部件组成。

(1)运算器   --【术加数状】

①算逻辑单元 ALU:数据的算术运算和逻辑运算;

②累寄存器 AC:通用寄存器,为 ALU 提供一个工作区,用在暂存数据;

据缓冲寄存器 DR:写内存时,暂存指令或数据;

态条件寄存器 PSW:存状态标志与控制标志。

(2)控制器 -- 【程序、指令、地址】===城际令

①程序计数器 PC:存储下一条要执行指令的地址;

②指令寄存器 IR:存储即将执行的指令;

③指令译码器 ID:对指令中的操作码字段进行分析解释;

④地址寄存器AR:保存当前CPU所访问的内存单元

3、数据表示

        一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用机器数的最高位存放符号,正数为0,负数为1。

        机器数对应的实际数值称为数的真值。由于第一位是符号位,所以机器数的形式值就不等于真正的数值。

(1)进制转换

        1、十进制转 R 进制(短除法);

        2、R 进制转十进制(按权展开法);

        3、二进制转八进制、转十六进制(分组快速转换)。

(2)编码方法

        只针对带符号数的编码方法。

【1】转换规则

原码:符号位+数值位绝对值。

反码:正数反码是原码本身,负数反码是符号位不变,数值位按位取反。

补码:正数补码是原码本身,负数补码是符号位不变,数值位在反码基础上加1。

移码:正数和负数的移码都是在补码基础上符号位取反。

【2】表示范围
码制定点整数定点小数表示数码个数
原码-(2n-1-1)~+(2n-1-1)-(1-2 -(n-1 ))~+(1-2 -(n-1))2n-1
反码-(2n-1-1)~+(2n-1-1)-(1-2 -(n-1 ))~+(1-2 -(n-1))2n-
补码- 2n-1~+(2n-1-1)-1~+(1-2 -(n-1))2n
移码- 2n-1~+(2n-1-1)-1~+(1-2 -(n-1))2n

        【0的特殊化:0 在原码和反码中有+0 和-0 两种表示方式,而对于补码和移码其表示方式一致】

        【定义-0 的补码为其-2n-1 的补码,以 n=8 为例,人为定义 10000000 是-128 的补码】

(3)浮点数表示
【1】各部分表示意义

        (1)一般尾数用补码,阶码用移码;【尾补阶移,小看大】

        (2)阶码的位数决定数的表示范围,位数越多范围越大;

        (3)尾数的位数决定数的有效精度,位数越多精度越高。

【2】运算规则

                        对阶 --> 尾数计算 --> 结果格式化

        (1)对阶时,小数向大数看齐;

        (2)对阶是通过较小数的尾数右移实现的。

(4)校验码
【1】奇偶校验

        在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或为偶数(偶校验),从而使码距变为2。

【2】循环冗余校验码CRC

        其编码规则是利用生成多项式为k个数据位产生r个校验位,最终生成编码长度为k+r的编码。

可查错,不可纠错;运用模二除法计算校验码。

【3】海明码

        其编码是在数据位之间特定位置上插入k个校验位。设数据位有n位,校验位有k位,则必须满足以下关系:

        可检错,可纠错。

【4】校验码对比

二、计算机体系结构

1、Flynn分类法

2、指令系统
(1)CISC 与 RISC

        1、CISC:复杂指令集;RISC:精简指令集。

        2、CISC 的特点:指令数量多,指令频率差别大,多寻址,使用微码。

        3、RISC 的特点:指令数量少,操作寄存器,单周期,少寻址,多通用寄存器,硬布线逻辑控制,适用于流水线。

(2)寻址方式

立即寻址方式:【操作数】 ​ 特点:操作数直接在指令中,速度快,灵活性差。 ​

直接寻址方式:【操作数地址】 ​ 特点:指令中存放的是操作数的地址。 ​

间接寻址方式:【操作数地址的地址】 ​ 特点:指令中存放了一个地址,这个地址对应的内容是操作数的地址。

-------------------以上是针对指令-----------

寄存器寻址方式:【操作数】 ​ 特点:寄存器存放操作数。 ​

寄存器间接寻址方式:【操作数地址】 ​ 特点:寄存器存放操作数地址

----------------------以上是针对寄存器----------

3、流水线技术
(1)相关概念

(1)流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理技术。

(2)流水线建立时间:1 条指令执行时间。

(3)流水线周期:执行时间最长的一段,记作 t。

(2)相关计算

(1)流水线执行时间(理论公式):(t1+t2+…+tk)+(n-1)*t

(2)流水线执行时间(实践公式):k *t +(n-1)*t

(3)流水线吞吐率:

(4)流水线最大吞吐率

(5)流水线加速比:

4、存储系统

(1)存储器分类

1、存储器位置:内存&外存

2、按访问方式:按地址访问存储器、按内容访问存储器(比如,相联存储器)

3、按寻址方式:随机存取存储器、顺序存取存储器、直接存取存储器

4、按工作方式:随机存取存储器 RAM(如内存 DRAM)、只读存储器 ROM(如 BIOS)

(2)高速缓存Cache

        在计算机的存储系统体系中,Cache 是(除寄存器以外)访问速度最快的层次。Cache 改善了系统性能,提高了 CPU 访问内存的效率。

        Cache 的地址映像由硬件直接完成。(常考)

Cache 映射方式:

直接相联映像:硬件电路较简单,但冲突率很高。Cache 对应页号位置已有数据即冲突需淘汰页面再调入。

全相联映像:电路难于设计和实现,只适用于小容量的 Cache,冲突率较低。所有位置都有数据,才会产生冲突,此时才需要淘汰已有页面,然后调入新的页面

组相联映像:直接相联与全相联的折中。

(3)内存

1、内存单元数 = 最大地址 - 最小地址+1

2、内存总容量:

        按字节编址,内存单元数 x 8bit;

        按编址,内存单元数 x 机器字长。

3、已知芯片单位容量,求所用芯片的片数:片数=总容量/单位容量;

4、已知所用芯片的片数,求取芯片单位容量:单位容量=总容量/芯片片数。

5、总线系统

(1)数据总线:在 CPU 与 RAM 之间来回传送需要处理或是需要储存的数据。

(2)地址总线:用来指定在 RAM之中储存的数据的地址。

(3)控制总线:将微处理器控制单元的信号,传送到周边设备。

三、系统性能测评

1、可靠性

(1)串联系统计算: R 总=R1 * R2 * …… * Rn;

(2)并联系统计算: R 总=1-(1-R1)(1-R2)…(1-Rn);

(3)N 模混联系统:先将整个系统划分为多个部分串联 R1、R2......等,再计算 R1、R2 内部的并联可靠性,带入原公式。

(4)可靠性指标

        平均无故障时间→ (MTTF) MTTF=1/λ,λ 为失效率

        平均故障修复时间→ (MTTR) MTTR=1/μ,μ 为修复率

        平均故障间隔时间→ (MTBF) MTBF = MTTR + MTTF

        系统可用性→ MTTF/(MTTR+MTTF)×100%

        在实际应用中,一般 MTTR 很小,所以通常认为 MTBF≈MTTF。可靠性可以用可以用 MTTF/(1+MTTF)来度量。

        可维护性可以用 1/(1+MTTR)来度量

2、计算机性能指标

(1)主频(计算机参数),时钟周期=主频的倒数,主频=倍频*外频。

(2)平均每条指令平均时钟周期个数(CPI), CPI=时钟周期总数/指令总条数。

(3)每(时钟)周期运行指令条数(IPC), IPC=指令总条数/时钟周期总数

(4)百万条指令每秒(MIPS)=(IPC*时钟周期)/106

(5)每秒百万个浮点操作(MFLOPS),与 MIPS 相似,针对的是浮点操作。

(6)字长(计算机参数)。

(7)总线宽度:每次脉冲通过的数据量。

(8)带宽:单位时间通过的数据量,带宽=数据总量/总时间

(9)吞吐量,某个时间段内完成的任务总数;吞吐率,单位时间内完成的任务总数,吞吐率=任务总数/总时间。

四、考点补充

1、逻辑运算
(1)运算符

较高优先级: <、<=、>、>=

较低优先级: ==、!=

逻辑运算符:逻辑或( ||、+ 、∪、∨、OR)、逻辑与(&&、*、•、∩、∧、AND )、逻辑异或(⊕、XOR )、逻辑非(!、﹃ 、~ 、NOT,—)

(2)优先级

! > && > ||

!> 算术运算符 > 关系运算符 > && > || > 赋值运算符

(3)短路原则

(1)a&&b&&c :只有 a 为真时,才需要判断 b 的值,只有 a 和 b 都为真时,才需要判断 c 的值。

(2)a||b||c: 只要 a 为真,就不必判断 b 和 c 的值,只有 a 为假,才判断 b。a 和 b 都为假才判断 c。

2、编译流程

        词法分析阶段处理的错误:非法字符、单词拼写错误等。

        语法分析阶段处理的错误:标点符号错误、表达式中缺少操作数、括号不匹配等有关语言结构上的错误。

        静态语义分析阶段(即语义分析阶段)处理的错误:运算符与运算对象类型不合法等错误。

        目标代码生成(执行阶段)处理的错误:动态语义错误,包括陷入死循环、变量取零时做除数、引用数组元素下标越界等错误等。

总 结

        总结不易,如果喜欢,请关注、点赞、收藏。

完整笔记下载地址:(后续完成后更新)

基础精讲课件地址:(请关注、点赞、收藏后,私信我)

基础精讲视频地址:(请私信我)

  • 43
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
### 回答1: 狂神在他的教程中提到了Java配套笔记和Nginx精讲。Java配套笔记是他为学习Java编程语言的学生准备的一套学习资料。这些笔记涵盖了Java的基础知识,包括语法、数据类型、运算符、流程控制等。此外,它还介绍了Java的面向对象编程概念,如类、对象、继承、多态等。这些笔记不仅提供理论知识,还包含了大量的实例和练习题,旨在帮助学生巩固所学的内容。 Nginx精讲是狂神为想要深入学习Nginx的人准备的教程。Nginx是一个高性能的Web服务器和反向代理服务器,广泛用于构建高并发、高可靠性的网络应用。在这个教程中,狂神详细介绍了Nginx的基本原理和使用方法。他解释了Nginx的配置文件结构和语法,以及如何使用Nginx处理静态资源、代理请求、负载均衡等常见任务。此外,他还分享了一些优化技巧和实战经验,帮助读者更好地理解和应用Nginx。 狂神的Java配套笔记和Nginx精讲都是他多年的学习和实践经验的总结。这些教程旨在帮助初学者更快地入门和掌握Java编程和Nginx的使用。他的讲解通俗易懂,配有大量的实例和练习,可以帮助读者更好地理解和应用所学的知识。无论是Java初学者还是想要深入学习Nginx的人,这些教程都是很有价值的学习资料。 ### 回答2: 狂神所说的「java配套笔记 nginx精讲」指的是一套关于Java和Nginx的学习笔记和教程。 首先,Java是一种跨平台的编程语言,广泛应用于开发各种类型的应用程序。学习Java需要理解其基本语法、面向对象编程、多线程、异常处理等方面的知识,并且熟练运用Java的核心类库和开发工具。Java配套笔记可以提供一些实践案例和相关的学习资料,帮助学习者逐步掌握Java的编程技巧和应用开发。 而Nginx是一款高性能的Web服务器和反向代理服务器软件,常用于构建高性能、可靠且可扩展的Web应用架构。学习Nginx需要了解其基本原理、配置文件的编写、常用模块的使用等方面的知识。Nginx精讲的内容可能包括Nginx的安装与配置、HTTP服务器配置、负载均衡、缓存、反向代理等相关技术。通过学习Nginx的使用,可以提高Web应用的性能和稳定性。 由于字数有限,无法详细阐述上述两方面内容的具体细节。总而言之,「java配套笔记 nginx精讲」提供了Java和Nginx学习的学习资料和教程,帮助学习者系统地学习和掌握Java编程和Nginx服务器的使用。学习者可以通过这些学习材料和实践案例,逐步提升自己的技术水平,并应用到实际的项目开发中。 ### 回答3: 狂神说Java配套笔记是一份针对Java开发学习者的学习指南,其中包含了Java语言的基础知识、常用的开发工具和框架、常见问题的解答等内容。这份笔记的编写者是狂神,他是一位在Java开发领域有丰富经验的专家,因此这份配套笔记具有很高的可信度和实用性。 在狂神说Java配套笔记中,作者通过详细的讲解和实例演示,帮助读者了解Java语言的基本语法和特性,包括变量、数组、流程控制、面向对象编程等。同时,笔记中还介绍了常用的开发工具,如Eclipse和IntelliJ IDEA,以及流行的框架,如Spring和MyBatis,帮助读者快速入门并掌握实际应用。 而关于Nginx的精讲,狂神也在这份配套笔记中有所涉及。Nginx是一种高性能的HTTP和反向代理服务器,常用于负载均衡、反向代理、静态文件服务等场景。笔记中介绍了Nginx的基本原理和使用方法,包括配置文件的编写、常见的配置示例和调优技巧等。读者可以通过学习这部分内容,更好地理解Nginx的工作原理,并能在实际项目中灵活应用。 总结来说,狂神说Java配套笔记是一份综合的学习资料,帮助Java开发者系统学习Java语言和相关工具,同时也包含了Nginx的精讲,帮助读者了解和应用这一常用的服务器软件。这份笔记的内容详实、实用,并且由经验丰富的专家亲自编写,因此对于想要学习Java开发和深入了解Nginx的人来说,是一份不可多得的学习资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ai安歌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值