计算机基础(计算机组成原理)
文章平均质量分 54
x
兔头哥哥
正在积极治疗秃顶
展开
-
计算机基础:21、计算机基础实践-双向链表数据结构、FIFO算法、LRU算法
计算机基础:21、计算机基础实践-双向链表的原理与实践单向链表与双向链表的简介双向链表数据结构单向链表与双向链表的简介双向链表数据结构下方的代码实现了上图中的功能(双向链表数据结构)# node类表示在链表中的节点class Node: def __init__(self, key, value): self.key = key self.value = value self.prev = None # 用于存储上一个节点 self.next = None # 用于存储下一原创 2021-06-14 23:17:47 · 392 阅读 · 2 评论 -
计算机基础:20、二进制--浮点数的乘除法运算
计算机基础:20、二进制--浮点数的乘除法运算浮点数乘法公式浮点数的除法公式例子浮点数乘法公式浮点数的除法公式例子浮点数的乘除法运算也是分成阶码运算、尾数运算、尾数规格化、舍入、溢出判断这几个过程的。...原创 2021-06-14 21:28:42 · 3051 阅读 · 0 评论 -
计算机基础:19、二进制--浮点数的加减法运算
计算机基础:19、二进制--浮点数的加减法运算浮点数加减法1.1、对阶1.2、尾数求和1.3、尾数规格化(左移)1.4、尾数规格化(右移)1.4.1、舍入1.5、溢出判断2、浮点数加减法总结浮点数加减法浮点数加减法公式如下:1.1、对阶对阶的目的是让两个浮点数阶码一致,使尾数可以进行运算浮点数的尾数实际小数位与阶码有关,若阶码不整齐浮点数的尾数是无法进行运算的对阶操作是按小阶向大阶看齐对阶例子1.2、尾数求和尾数求和和定点数加减法一样,使用补码来进行运算下图为上方对阶例子进行尾数原创 2021-06-14 21:14:03 · 4713 阅读 · 0 评论 -
计算机基础:18、二进制--定点数的运算
计算机基础:18、二进制--定点数的运算1、定点数加法1.1、加法1.1.1、结果溢出的解决方法2、定点数减法1、定点数加法1.1、加法定点数加法运算方式如下:数值位与符号位一同运算,并将符号位产生的进位自然丢掉假设定点数A+B,在计算机里面则是:`A的补码+B的补码=结果补码`拿到结果的补码后再求原码。具体运算如下方例子:1.1.1、结果溢出的解决方法定点数加法结果溢出的例子:下方图片例子中A和B的运算结果发生了溢出,导致结果不对;因为二进制数1,10010000和1,11原创 2021-06-14 00:39:40 · 2345 阅读 · 0 评论 -
计算机基础:17、二进制--定点数与浮点数
计算机基础:17、二进制--定点数与浮点数1、定点数表示方法2、浮点数表示方法2.1、浮点数的表示格式2.2、浮点数的表示范围2.3、浮点数的规格化3、定点数与浮点数对比1、定点数表示方法什么是定点数?小数点固定在某个位置的数,称为定点数下方两张图片展示了纯整数和纯小数的定点数表达若不是纯小数也不是纯整数,这个时候就需要乘以一个比例因子以满足定点数保存格式,如:10.02表示为:0.1002*10^22、浮点数表示方法2.1、浮点数的表示格式数学中的科学记数法科学计数法要求尾数位于1原创 2021-06-13 15:13:22 · 4136 阅读 · 1 评论 -
计算机基础:16、二进制--有符号数和无符号数(二进制原码、补码、反码)
计算机基础:16、二进制--有符号数和无符号数1、有符号数和无符号数1.1、二进制原码表示法1.2、二进制的补码表示法1.3、二进制的反码1.4、小数的补码1.5、原码、补码、反码总结1、有符号数和无符号数1.1、二进制原码表示法规定符号位位于数字位的最前面;0表示正数,1表示负数;原码表示法中0有两种表示方法:00和10;原码表示法进行运算非常复杂,特别是两个操作符号不同的时候,需要以下面的方式来运算:判断两个操作数绝对值大小使用绝对值大的数减去绝对值小的数对于符号,以绝对值大的数为原创 2021-06-12 18:20:27 · 6760 阅读 · 0 评论 -
计算机基础:15、二进制--进制运算基础
计算机基础:15、二进制--进制运算基础1、进制概述1.1、进制定义和举例2、常见进制3、二进制运算基础3.1、按权展开法3.2、重复相除法3.3、重复相乘法1、进制概述1.1、进制定义和举例进制的定义进制是一种计数方式,也称为进位计数法或位值计数法。进制是一种用有限字数符号来表示无限数值的方式,比如日常生活中可以使用十进制来表示任何的数字。使用的数字符号的数目称为这种进制的基数或者说底数进制定义的举例十进制中使用0到9来表示任意数字,0到9一共有十个数字符号,所以称为十进制2、常见进原创 2021-06-12 12:06:39 · 1163 阅读 · 1 评论 -
计算机基础:14、计算机指令执行过程
计算机基础:14、计算机指令执行过程指令执行过程CPU的流水线设计指令执行过程指令执行过程主要细分为三个步骤:取指令分析指令执行指令@todoCPU的流水线设计原创 2021-06-12 10:21:10 · 17450 阅读 · 1 评论 -
计算机基础:13、计算机CPU--运算器
计算机基础:13、计算机CPU--运算器CPU的运算器CPU的运算器运算器主要是用来进行数据运算加工的,主要由以下部分组成:数据缓冲器ALU通用寄存器状态寄存器总线原创 2021-06-12 00:15:48 · 3175 阅读 · 0 评论 -
计算机基础:12、计算机CPU--控制器
计算机基础:12、计算机CPU--控制器1、CPU的控制器1.1、程序计数器1.2、时序发生器1.3、指令译码器1.4、指令寄存器1.5、主存地址寄存器1.6、主存数据寄存器1.7、通用寄存器1、CPU的控制器控制器是协调和控制计算机运行的,控制器主要有一下几个部分组成:程序计数器时序发生器指令译码器各种寄存器总线其中寄存器分为以下几类:指令寄存器主存地址寄存器主存数据寄存器通用寄存器1.1、程序计数器程序计数器用来存储下一条指令的地址,CPU工作的时候会循环从程序计数器中原创 2021-06-11 00:35:56 · 4987 阅读 · 0 评论 -
计算机基础:11、计算机的指令系统
11、计算机的指令系统1、机器指令的形式1.1、操作码:1.2、地址码:1.2.1、三地址指令:1.2.2、二地址指令:1.2.3、一地址指令:1.2.4、零地址指令2、机器指令的操作类型3、机器指令的寻址方式3.1、指令寻址:3.2、数据寻址:3.2.1、立即寻址3.2.2、直接寻址3.2.3、间接寻址3.2.4、三种寻址方式的对比1、机器指令的形式机器指令由操作码、地址码组成1.1、操作码:机器指令本质上是对数据进行操作,所以地址码指定数据或者说数据的地址,使CPU可以根据数据或者数据地址来进原创 2021-06-11 00:18:51 · 836 阅读 · 0 评论 -
计算机基础:10、计算机的高速缓存
计算机基础:10、计算机的高速缓存1、高速缓存的工作原理2、高速缓存的替换策略1、高速缓存的工作原理字:存放在存储单元中的二进制代码组合,一个字可以表示一个数据,可以表示一个指令,可以表示一个字符串。字是内存中存储单元的最小单位字块:连续的字,一组字(字块包含了多个字)。存储在连续的存储单元中,从而被看做是一个单元的一组字主存与字以及字块的关系如下图内存寻址的过程:对于字的寻址,字的地址可以包括两个部分字块的部分,用来指示当前寻址的字属于哪个字块的字的部分,用来寻找字块里面哪一个字是这个原创 2021-06-09 23:10:32 · 1290 阅读 · 0 评论 -
计算机基础:9、计算机主存和辅存
计算机主存和辅存概念主存内存为什么断点会丢失主存结构以及主存和cpu如何通信操作系统位数与主存的关系辅存辅存结构磁盘调度算法先来先服务最短寻道时间优先算法扫描算法(电梯算法)循环扫描算法概念主存:内存(RAM,随机存取存储器)辅存:磁盘主存内存为什么断点会丢失主存结构以及主存和cpu如何通信操作系统位数与主存的关系32位系统和64位系统分别支持的内存容量辅存磁盘表面是可磁化的硬磁特性材料读取数据的方法是移动磁头,径向运动来读取磁道信息辅存结构磁盘调度算法先来先服务最短寻道时间原创 2020-09-16 13:40:32 · 1749 阅读 · 0 评论 -
计算机基础:8、计算机存储器
1、存储器分类1.1、按照存储介质分类存储器按照存储介质分类分为:半导体存储器、磁存储器半导体存储器由半导体元器件组成的存储器,如:内存、U盘、固态硬盘都是半导体存储器磁存储器在金属或者塑料表面涂抹一层磁性材料的存储器,如:磁带、磁盘1.2、按存取方式分类随机存储器(RAM)随机存储区也叫主存,是与CPU直接交换数据的内部存储器。 它可以随时读写,工作时可以随时从任何一个指定的地址读写数据。通常作为操作系统或其他正在运行中的程序的临时数据存储介质。串行存储器与位置有关系只读存储器(原创 2020-09-13 16:51:58 · 548 阅读 · 0 评论 -
计算机基础:7、计算机的输入输出设备
1、常见输入输出设备1.1、字符输入设备键盘(薄膜键盘、机械键盘)1.2、图形输入设备鼠标、数位板(输入板,压感笔,用于绘图设计创作)、扫描仪(将图形信息转换为数字信号)1.3、图像输出设备显示器、打印机、投影仪2、输入输出接口的通用设计2.1、输入输出接口需要完成的工作读取数据功能向设备发送数据设备有没有被占用(被占用如何处理未被占用如何处理)设备是否已经连接设备是否已经启动2.2、接口通用线的分类数据线、命令线、状态线、设备选择线数据线IO设备与主机之间进行数据交换的传原创 2020-09-13 13:49:33 · 3664 阅读 · 0 评论 -
计算机基础:6、计算机的总线
计算机总线计算机仲裁原创 2020-09-13 11:50:18 · 807 阅读 · 0 评论 -
计算机基础:5、计算机的字符与编码集
ASCII码使用7个bits就可以完全表示ASCII码,包含95个可打印字符,33个不可打印字符ASCII码因为很多应用或者国家中的符号都无法表示(数学的乘除、大于等于等符号),因此后续对ASCII码进行了扩充,扩充的编码称为extended ascii码Extend ASCII码在ASCII码的基础上的拓展,但是还是无法表示全部国家的编码字符编码集的国际化因为欧洲、中亚、东亚、拉丁美洲国家的语言多样性语言体系不一样,不以有限字符组合的语言(如中文、韩文、日文)等问题,因此编码开始国际化中原创 2020-09-06 22:44:28 · 174 阅读 · 0 评论 -
计算机基础:3、计算机层次与编程语言
程序翻译由高级语言编写一段逻辑代码,经过编译器生成逻辑等价的低级语言,而计算机则执行该段低级语言的逻辑。由高级语言转换成低级语言的过程就称为程序翻译,生成低级语言的工具称为编译器翻译型语言:C/C++、Object-C、Golang程序解释高级语言的每一句代码都会通过由低级语言编写的解释器转换成对应的一句低级语言来进行执行解释性语言:Python、PHP、javascript翻译+解释型语言计算机层次与编程语言硬件逻辑层由门、电路、触发器等逻辑电路组成,属于电子工程的领域微程序该原创 2020-09-05 21:31:17 · 182 阅读 · 0 评论 -
计算机基础:2、冯诺依曼结构
起因初期的计算机使用操作复杂,仅能运行固定用途的程序,不同的程序无法兼容,如果需要运行不同的程序就需要更改电路,整个计算机都需要重新制造。冯诺依曼体系计算机能力1、能够把需要的程序可数据送至计算机中(比如鼠标和键盘)2、能够长期记忆程序、数据、中间结果以及最终运算结果的能力(存储器来实现)3、能够具备运算、逻辑运算和数据传输等数据加工处理的能力(运算器和控制器来完成,cpu就是由运算器和控制器组成的)4、能够按照要求将处理结果输出给用户(输出设备来实现,如显示器、打印机)冯诺依曼瓶颈cpu和原创 2020-09-05 21:28:53 · 474 阅读 · 0 评论 -
计算机基础:1、计算机发展史与计算机分类
计算机发展阶段1946年至1957年:电子管计算机埃尼阿克计算机1957年至1964年:晶体管计算机贝尔实验室的三个科学家发明了晶体管,用于代替电子管,比电子管集成度更高,空间占用更小,功耗相对较低,操作相对简单,交互更加方便TX-0计算机PDP-1计算机1964年至1980年:集成电路计算机德州仪器的工程师发明了集成电路(IC)此时的计算机体积变得更小,功耗更低,计算速度更快,具备了进入千家万户的条件此时IBM公司因为出售的两款电脑7094、1401软件无法兼容,而其他公司又不愿投入两原创 2020-09-05 21:27:35 · 602 阅读 · 0 评论 -
计算机基础:4、计算机的计算单位
计算机的计算单位计算机容量单位网络速度CPU速度赫兹计算机容量单位网络速度CPU速度1、CPU速度一般提现为CPU的时钟频率2、CPU的时钟频率的单位一般是赫兹(Hz)3、主流CPU的时钟频率都在2GHz以上计算机中是使用高低电频来表示0和1,所以对于CPU的频率表达的就是高低电频每秒变换的次数赫兹Hz其实就是秒分之一,它是每秒的周期性变动重复次数的计量。如蝴蝶一秒震动15次那就是15Hz,蜜蜂翅膀一秒震动400次就是400Hz...原创 2020-09-05 21:23:31 · 461 阅读 · 0 评论