前言
总结整理不易,希望大家点赞收藏。
给大家整理了一下计算机组成原理中的重点概念,以供大家期末复习和考研复习的时候使用。
参考资料是王道的计算机组成原理和西电的计算机组成原理。
计算机组成原理系列文章传送门:
第一/二章 概述和数据的表示和运算
第三章 存储系统
文章目录
- 前言
- 第一章 计算机组成原理 概述及各种码
- 1.1 计算机硬件的基本组成
- 1.1.1 存储器
- 1.1.2 运算器
- 1.1.3 控制器
- 1.2 计算机的工作过程
- 1.3 计算机的性能指标
- 1.4 各个字长区别与联系
- 第二章 数据的表示与运算
- 2.1 ASCII码
- 2.2 各种码
- 2.3 浮点数
- 总结
第一章 计算机组成原理 概述及各种码
1.1 计算机硬件的基本组成
计算机硬件系统由运算器、存储器、控制器、输入、输出设备五大部件构成。
1.1.1 存储器
存储器分为主存储器和辅助存储器,CPU能够直接访问主存储器。主存储器中MAR(Memory Address Register)地址寄存器存放访存地址,MDR(Memory Data Register)数据寄存器存放从存储器中读或写的信息。现代CPU中MAR和MDR也在CPU中。
1.1.2 运算器
运算器用于进行算术运算和逻辑运算。最重要的部件为ALU(Arithmetic and Logical Unit)算数逻辑单元。运算器包括累加器ACC、乘商计算器MQ、操作数寄存器X、基址寄存器BR、程序状态寄存器PSW等。
1.1.3 控制器
控制器由程序计数器PC、指令寄存器IR和控制单元CU组成。PC用来存放当前欲执行指令的地址,IR用来存放当前的指令其内容来自于主存的MDR。
CPU包含ALU、通用寄存器组GPRs、标志寄存器PSW、控制器、指令寄存器IR、程序计数器PC、存储器地址寄存器MAR和存储器数据寄存器MDR。
1.2 计算机的工作过程
hello.c->hello.i通过预处理器cpp,包括展开头文件、条件编译、删除注释等 gcc-e
hello.i->hello.s通过编译器ccl,检查语法规范,完成编译等 gcc-s
hello.s->hello.o通过汇编器as,将汇编指令翻译成机器指令 gcc-c
hello.o->hello.out通过链接器ld,将数据段合并,地址回填生成可执行文件
取数指令:
1、取指令 PC->MAR->M->MDR->IR
2、OP(IR)->CU
3、Ad(IR)->MAR->M->MDR->ACC
1.3 计算机的性能指标
CPU时钟周期:
即主频的倒数,它是CPU中最小的时间单位
主频(CPU时钟频率) :主频的倒数是CPU时钟周期,对于同一个型号的计算机,其主频越高,完成指令的一个执行步骤所用的时间越短,执行指令的速度越快。
CPI :执行一条指令所需的时钟周期数
CPU执行时间=CPU时钟周期数/主频 =(指令条数 *CPI )/主频
CPU 的性能(CPU 执行时间)取决于三个要素:主频,每条指令执行所用的时钟周期数( CPI )、指令条数
1.4 各个字长区别与联系
机器字长:计算机能直接处理的二进制数据的位数,一般等于内部寄存器的大小,决定了计算机的运算精度。与ALU直接相关。
指令字长:一个指令字中包含的二进制代码的位数。
存储字长:一个存储单元存储的二进制代码的长度。等于MDR的位数, 它们都必须是字节的整数倍。
数据字长:数据总线一次能传送信息的位数,它可以不等于MDR的位数。
第二章 数据的表示与运算
2.1 ASCII码
48=’0’ 65=’A’ 97=’a’ 大小写差32
2.2 各种码
补码、反码各种码知道怎么算就行,一两个例子练练手
我们懂的
2.3 浮点数
这里极其重要,公式我就不列举了,公式也是极其重要的,直接上题目
第二道题
不仅要知道浮点数怎么来的更要知道浮点是的具体操作,与整数相比,浮点数是如何加减的,对比记忆
总结
这些题肯定都是做过的,有些类似的题我就不放答案了。相信这一章的干货也是满满,这些题有不会的评论区留言,我也可以解答=v=