1 Star 3 Fork 4

Kuangcp / Memo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
Computer.md 6.50 KB
一键复制 编辑 原始数据 按行查看 历史
Kuangcp 提交于 2022-08-10 18:01 . cpu:
title: 计算机组成
date: 2018-11-21 10:56:52
tags: 
    - 基础
categories: 
    - 计算机基础

目录 start

  1. 计算机历史
    1. 起源
  2. 硬件系统
    1. 内存
    2. 硬盘
    3. CPU
      1. MESI
    4. 键盘
  3. 操作系统
  4. 编程语言
    1. 语言的的演化
  5. 通用概念
    1. 缓存

目录 end|2020-04-30 14:20|


计算机历史

起源

硬件系统

博客:【不周山之读薄 CSAPP】零 系列概览 CSAPP:深入理解计算机系统

内存

硬盘

存储单位 kb kilobyte; kib kibibyte 的区别: wikipedia

CPU

码农翻身:CPU阿甘 梳理了CPU 内存 操作系统 BIOS 硬盘之间的关系和特性

中断

最早的CPU设计是轮询设备去处理事件(轮询键盘 鼠标 网卡等等),导致多设备多任务无法并行,响应速度也会慢

TODO 时钟周期

中断模式设计

  1. 硬件中断
    1. 可屏蔽中断:常由计算机的外设或一些接口功能产生,如键盘、打印机、串行口等这种类型的中断可以在CPU要处理其它紧急操作时,被软件屏蔽或忽略
    2. 非屏蔽中断:由意外事件导致,如电源断电、内存校验错误等 对于这种类型的中断事件,无法通过软件进行屏蔽,CPU必须无条件响应
  2. 软件中断(又称内部中断 软中断 异常): 在程序中调用INTR中断指令引起的中断
    1. 陷阱 是一种有意的,预先安排的异常事件,一般是在编写程序时故意设下的陷阱指令,而后执行到陷阱指令后,CPU将会调用特定程序进行相应的处理,处理结束后返回到陷阱指令的下一条指令。如系统调用,程序调试功能等。
    2. 故障 故障是在引起故障的指令被执行,但还没有执行结束时,CPU检测到的一类的意外事件。出错时交由故障处理程序处理,如果能处理修正这个错误,就将控制返回到引起故障的指令即CPU重新执这条指令。如果不能处理就报错。
    3. 终止 执行指令的过程中发生了致命错误,不可修复,程序无法继续运行,只能终止,通常会是一些硬件的错误。终止处理程序不会将控制返回给原程序,而是直接终止原程序

中断处理过程

  1. 中断请求触发: 中断请求是由中断源向CPU发出中断请求信号。外部设备发出中断请求信号要具备以下两个条件:
    1. 外部设备的工作已经告一段落。 例如输入设备只有在启动后,将要输入的数据送到接口电路的数据寄存器(即准备好要输入的数据)之后,才可以向CPU发出中断请求。
    2. 系统允许该外设发出中断请求。 如果系统不允许该外设发出中断请求,可以将这个外设的请求屏蔽。当这个外设中断请求被屏蔽,虽然这个外设准备工作已经完成,也不能发出中断请求。
  2. 中断响应、处理、返回
    1. 关闭中断信号接收器
    2. 保存现场(或称 Context、上下文)
    3. 给出中断入口,转入中断服务程序执行
    4. 处理完成,返回并恢复现场
    5. 开启中断信号接收器

中断排队和中断判优

中断申请是随机的,有时会出现多个中断源同时提出中断申请, CPU每次只能响应一个中断源的请求。 CPU不可能对所有中断请求一视同仁,它会根据各中断源工作性质的轻重缓急,预先安排一个优先级顺序。当多个中断源同时申请中断时,即按此优先级顺序进行排队,等候CPU处理。

多核CPU的中断处理和单核有很大不同。多核的各处理器核心之间需要通过中断方式进行通信,所以CPU芯片内部既有各处理器核心的本地中断控制器,又有负责仲裁各核之间中断分配的全局中断控制器。
现今的多核处理器在中断处理和中断控制方面主要使用的是APIC(Advanced Programmable Interrupt Controllers),即高级编程中断控制器。它是基于中断控制器两个基础功能单元——本地单元以及I/O单元的分布式体系结构。在多核系统中,多个本地和I/O APIC单元能够作为一个整体通过APIC总线互相操作

作用和优点

  1. 可以使CPU和外设同时工作,使系统可以及时地响应外部事件。
  2. 可允许多个外设同时工作,大大提高了CPU的利用率,也提高了数据输入、输出的速度。
  3. 可以使CPU及时处理各种软硬件故障(比如计算机在运行过程中,出现了难以预料的情况或一些故障,如电源掉电、存储出错、运算溢出等等。计算机可以利用中断系统自行处理,而不必停机或报告工作人员。)

MESI

MESI(Modified Exclusive Shared Or Invalid)


键盘

Keyboard input

go evdev
Python evdev

https://keyboardtestt.com/在线测试键盘无冲


操作系统

码农翻身:操作系统是个大骗子? 描述了程序从硬盘中读取到内存执行的整个过程


编程语言

语言的的演化

码农翻身:一个翻译家族的发家史 低级语言到高级语言的演化


通用概念

缓存

常见缓存淘汰策略 先进先出策略 FIFO(First In,First Out)、最少使用策略 LFU(Least Frequently Used)、最近最少使用策略 LRU(Least Recently Used)

Tips

死机

计算机死机的时候,它在干什么?

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/gin9/Memo.git
git@gitee.com:gin9/Memo.git
gin9
Memo
Memo
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891