作为一名计算机专业的老师,计算机组成原理、计算机网络、操作系统这三门课程可以说是专业核心基础课,是至关重要的,其内容是一名合格的coder所必备的知识集;非科班出身的程序员要是想要有所提升,也需要认真学习这三门课程,可以快速形成计算机知识的结构体系,理解计算机底层原理,在工作实践中可以借鉴优秀的设计;而且很多互联网公司在笔试和面试中都会涉及到这三门课程的知识点,因此我通过视频学习对这三门课程进行复习巩固,同时分三篇博客记录总结。
计算机的发展历史
第一阶段(1946-1957):电子管计算机 特点:集成度低,体积大,功耗高,运行速度慢,操作复杂。
第二阶段(1957-1964):晶体管计算机 特点:相对电子管计算机,体积小,速度快,功耗低,可靠性高,配备显示器。
第三阶段(1964-1980):集成电路计算机 特点:操作系统诞生。
第四阶段(1980-至 今):超大规模集成电路计算机 特点:集成度高,速度快,体积小,价格低,用途广泛。
第五阶段( f u t u r e) :生物计算机&&量子计算机 …
计算机的分类
超级计算机、大型计算机、迷你计算机(普通服务器)、工作站、微型计算机(个人计算机)
计算机的体系与结构
冯·诺伊曼体系:将程序指令和数据一起存储的计算机设计概念结构,存储器+控制器+运算器+输入设备+输出设备。
现代计算机的结构:以存储器为核心,解决冯·诺伊曼体系瓶颈问题(CPU与存储设备之间的性能差异)。
计算机的层次
计算机的字符与编码集
计算机的总线与I/O设备
a.计算机的总线(Bus)
b.常见的输入输出设备
c.输入输出接口的通用设计
d.CPU与I/O设备的通信
程序中断:提供低速设备通知CPU的一种异步的方式,CPU可以在高速运转的同时兼顾低速设备的响应。
直接存储器访问(DMA):
计算机的存储器
a.存储器的分类:
b.存储器的层次结构
c.计算机的主存储器
d.计算机的辅助存储器
e.计算机的高速缓存
工作原理:命中率是衡量缓存的重要性能指标,理论上CPU每次都能从高速缓存取数据的时候,命中率为1。
计算机的CPU
a.计算机的指令系统
b.计算机的控制器
c.计算机的运算器
d.计算机指令执行的过程
指令执行过程:取指令-分析指令-执行指令
CPU的流水线设计:因运算器和控制器不能同时工作,CPU的综合利用率并不高,所以CPU的流水线设计可以提高CPU的利用率,提高大概3倍。
进制运算的基础知识
进位制:即进制,是一种计数方式,亦称进位计数法,有限种数字符号来表示无限的数值。
传送门——>关于进制转换推荐看文
二进制数据的表示方法
a.有符号数和无符号数
原码表示法:0表示正数,1表示负数,规定符号位位于数值的第一位;表达简单,容易理解,但运算复杂。
b.二进制的补码表示法
定义:
引入目的:为了消除减法(未完全实现)引入补码的概念,使用正数代替负数。
规律:负数的补码等于反码+1,如十进制数-7,反码表示为1,1000,补码表示为1,1001。
举个小例子做计算题:
c.二进制的反码表示法
定义:
引入目的:找出原码和补码之间的规律,消除转换过程中的减法操作。
规律:负数的反码等于原码除符号位外按位取反,如十进制数-7,原码表示为1,0111,反码表示为1,1000。
举个小例子做计算题:
d.小数的二进制补码表示
定义:
上述两个整数的反码补码计算规律同样适用。
二进制数据的运算
a.定点数与浮点数
定点数:小数点固定在某个位置。
浮点数的表示格式:符号、阶码、尾数
浮点数的表示范围:单精度± (2-2^-23) × 2127
双精度± (2-2^-52) × 21023 其中大于浮点数绝对值最大的数为上溢,小于绝对值最小的数据为下溢。
浮点数的规格化:尾数使用纯小数、尾数最高位必须是1。
b.定点数的加减法运算
加法运算:数值位与符号位一同运算,并将符号位产生的进位自然丢掉(模2^n舍去)。
举两个小栗子计算题(整数和小数):
减法运算:将B[补码]转换成-B[补码]来计算,其中-B[补码]=B[补码]连同符号按位取反,末尾加1,例如B[补码]=1,0010101 ,则-B[补码]=0,1101011。
举个小栗子计算题:
c.浮点数的加减法运算
步骤:对阶(使得阶码一致,尾数才可以运算)–>尾数求和–>尾数规格化–>舍入–>溢出判断
运算:先进行对阶,后与定点数的加减法相同。
举个小栗子计算题:
浮点数的乘除法运算
联系客服