计算机组成
Contents
💠
💠 2024-09-30 00:05:08
计算机历史
起源
硬件系统
博客:【不周山之读薄 CSAPP】零 系列概览
CSAPP:深入理解计算机系统
内存
硬盘
存储单位 kb kilobyte; kib kibibyte 的区别: wikipedia
CPU
码农翻身:CPU阿甘
梳理了CPU 内存 操作系统 BIOS 硬盘之间的关系和特性
versus 中央处理器对比
CPU对比和天梯图
cpu.userbenchmark.com用户基准测试公开数据
中断
最早的CPU设计是轮询设备去处理事件(轮询键盘 鼠标 网卡等等),导致多设备多任务无法并行,响应速度也会慢
TODO 时钟周期
中断模式设计
- 硬件中断
- 可屏蔽中断:常由计算机的外设或一些接口功能产生,如键盘、打印机、串行口等这种类型的中断可以在CPU要处理其它紧急操作时,被软件屏蔽或忽略
- 非屏蔽中断:由意外事件导致,如电源断电、内存校验错误等 对于这种类型的中断事件,无法通过软件进行屏蔽,CPU必须无条件响应
- 软件中断(又称内部中断 软中断 异常): 在程序中调用INTR中断指令引起的中断
- 陷阱 是一种有意的,预先安排的异常事件,一般是在编写程序时故意设下的陷阱指令,而后执行到陷阱指令后,CPU将会调用特定程序进行相应的处理,处理结束后返回到陷阱指令的下一条指令。如系统调用,程序调试功能等。
- 故障 故障是在引起故障的指令被执行,但还没有执行结束时,CPU检测到的一类的意外事件。出错时交由故障处理程序处理,如果能处理修正这个错误,就将控制返回到引起故障的指令即CPU重新执这条指令。如果不能处理就报错。
- 终止 执行指令的过程中发生了致命错误,不可修复,程序无法继续运行,只能终止,通常会是一些硬件的错误。终止处理程序不会将控制返回给原程序,而是直接终止原程序
中断处理过程
- 中断请求触发: 中断请求是由中断源向CPU发出中断请求信号。外部设备发出中断请求信号要具备以下两个条件:
- 外部设备的工作已经告一段落。 例如输入设备只有在启动后,将要输入的数据送到接口电路的数据寄存器(即准备好要输入的数据)之后,才可以向CPU发出中断请求。
- 系统允许该外设发出中断请求。 如果系统不允许该外设发出中断请求,可以将这个外设的请求屏蔽。当这个外设中断请求被屏蔽,虽然这个外设准备工作已经完成,也不能发出中断请求。
- 中断响应、处理、返回
- 关闭中断信号接收器
- 保存现场(或称 Context、上下文)
- 给出中断入口,转入中断服务程序执行
- 处理完成,返回并恢复现场
- 开启中断信号接收器
中断排队和中断判优
中断申请是随机的,有时会出现多个中断源同时提出中断申请, CPU每次只能响应一个中断源的请求。 CPU不可能对所有中断请求一视同仁,它会根据各中断源工作性质的轻重缓急,预先安排一个优先级顺序。当多个中断源同时申请中断时,即按此优先级顺序进行排队,等候CPU处理。
多核CPU的中断处理和单核有很大不同。多核的各处理器核心之间需要通过中断方式进行通信,所以CPU芯片内部既有各处理器核心的本地中断控制器,又有负责仲裁各核之间中断分配的全局中断控制器。
现今的多核处理器在中断处理和中断控制方面主要使用的是APIC(Advanced Programmable Interrupt Controllers),即高级编程中断控制器。它是基于中断控制器两个基础功能单元——本地单元以及I/O单元的分布式体系结构。在多核系统中,多个本地和I/O APIC单元能够作为一个整体通过APIC总线互相操作
作用和优点
- 可以使CPU和外设同时工作,使系统可以及时地响应外部事件。
- 可允许多个外设同时工作,大大提高了CPU的利用率,也提高了数据输入、输出的速度。
- 可以使CPU及时处理各种软硬件故障(比如计算机在运行过程中,出现了难以预料的情况或一些故障,如电源掉电、存储出错、运算溢出等等。计算机可以利用中断系统自行处理,而不必停机或报告工作人员。)
MESI
MESI(Modified Exclusive Shared Or Invalid)
键盘
https://keyboardtestt.com/
在线测试键盘无冲
操作系统
码农翻身:操作系统是个大骗子?
描述了程序从硬盘中读取到内存执行的整个过程
编程语言
语言的的演化
码农翻身:一个翻译家族的发家史
低级语言到高级语言的演化
通用概念
缓存
常见缓存淘汰策略 先进先出策略 FIFO(First In,First Out)、最少使用策略 LFU(Least Frequently Used)、最近最少使用策略 LRU(Least Recently Used)
Tips
死机
Author Kuangcp
LastMod 2018-11-21