avatar
Articles
675
Tags
207
Categories
99
Home
Archives
Tags
Categories
About
ByteCoding计算机组成 -- 知识地图 Back to Home
Home
Archives
Tags
Categories
About

计算机组成 -- 知识地图

Created2020-01-01|Computer BasicsComputer Organization
|Word Count:15|Reading Time:1mins

参考资料

深入浅出计算机组成原理

Author: zhongmingmao
Link: https://blog.zhongmingmao.top/2020/01/01/computer-organization-knowledge-map/
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Computer BasicsComputer OrganizationKnowledge Map
cover of previous post
Previous
计算机组成 -- First Draft
从输入设备读取输入信息,通过运算器和控制器来执行存储在存储器里的程序,最终把结果输出到输出设备中 参考资料深入浅出计算机组成原理
cover of next post
Next
Linux使用 -- awk
awk sed awk更像是脚本语言 awk:用于比较规范的文本处理,用于统计数量并输出指定字段 sed:用于将不规范的文本,处理为比较规范的文本 控制流程 输入数据前例程**BEGIN{}** 主输入循环**{}** 所有文件读取完成例程**END{}** 记录和字段 每行称为AWK的记录 使用分隔符(可以自定义,默认是空格和制表符)分隔开的单词称为字段 字段的引用 $1 $2 ... $n:表示每一个字段 -F:自定义分隔符,可以使用正则表达式 1234567[root@localhost ~]# awk -F"'" '/^menu/{print $2}' /boot/grub2/grub.cfgCentOS Linux (3.10.0-1062.el7.x86_64) 7 (Core)CentOS Linux (0-rescue-6a299ef164734d338007f5e88cee6be0) 7 (Core)[root@localhost ~]# awk...
Related Articles
cover
2020-01-19
计算机组成 -- Superscalar + VLIW
吞吐率 程序的CPU执行时间 = 指令数 × CPI × Clock Cycle Time CPI = Clock Per Instruction IPC = 1/CPI = Instruction Per Clock 一个时钟周期内能够执行的指令数,代表了CPU的吞吐率 最佳情况下,IPC只能到1 无论做了哪些流水线层面的优化,即使做到了指令执行层面的乱序执行 CPU仍然只能在一个时钟周期内取一条指令!! 无论指令后续无论优化得多好,一个时钟周期也只能执行一条指令,IPC只能是1 但Intel CPU或者ARM CPU,一般IPC能做到2以上 多发射 + 超标量 整数计算过程和浮点数的计算过程差异比较大 整数计算和浮点数计算的电路,在CPU层面是分开的 一直到80386,CPU都是没有专门的浮点数计算的电路的,当时的浮点数计算,都是通过软件进行模拟的 在80386时代,Intel给386配了单独的387芯片,专门用来做浮点数运算 386dx:带387浮点数计算芯片 386sx:不带387浮点数计算芯片 CPU会有多个ALU,在...
cover
2020-01-27
计算机组成 -- MESI协议
缓存一致性问题 iPhone降价了,要把iPhone最新的价格更新到主内存里,为了性能问题,采用写回策略 先把数据写入到L2 Cache里,然后把Cache Block标记为脏的 此时数据其实没有被同步到L3 Cache或主内存里 1号核心希望在这个Cache Block要被交换出去的时候,数据才写入到主内存里 此时2号核心尝试从内存里读取iPhone的价格,就会读取一个错误的价格 缓存一致性问题:1号核心和2号核心的缓存,此时是不一致的 同步机制能够达到的目标 写传播(Write Propagation) 在一个CPU核心里面的Cache数据更新,必须能够传播到其他对应节点的Cache Line里 事务串行化(Transaction Serialization) 在一个CPU核心里面的读取和写入,在其他节点看起来,顺序是一样的 事务串行化 1号核心先把iPhone的价格改成5000,差不多时间,2号核心把iPhone的价格改成6000,这两个修改会传播到3号核心和4号核心 3号核心先收到2号核心的写传播,再收到1号核心的写传播;4号核心刚好相反 虽然写传播做到了,...
cover
2020-01-29
计算机组成 -- 总线
设计来源:降低复杂度 计算机内部有很多不同的硬件设备,除了CPU和内存,还有大量的输入输出设备 如果各个设备间的通信,都是互相之间单独进行的,如果有N个不同的设备,他们之间需要各自单独连接,那么系统复杂度为**$N^2$** 为了简化系统的复杂度,引入了总线,把**$N^2$复杂度,变成了$N$**的复杂度 CPU想要和什么设备通信,通信的指令是什么,对应的数据是什么,都发送到这个线路上 设备想要向CPU发送什么消息,也发送到这条线路上 这条线路好像一个高速公路,各个设备和其他设备之间,不需要单独建公路,只需要建一条小路通向这条高速公路即可 总线(Bus),其实就是一组线路,CPU、内存、输入输出设备,都是通过这组线路,进行相互间通信的 设计模式:事件总线 在大型系统开发的过程中,经常会用到一种叫作事件总线(Event Bus)的设计模式 系统中的各个组件之间需要相互通信,如果两两之间单独去定义协议,复杂度为**$N^2$** 各个模块触发对应的事件,并把事件对象发送到总线上,即每个模块都是一个发布者(Publisher) 各个模块也会把自己注册到总线上,去监听总线上的事件 并根据事件的对...
cover
2020-02-02
计算机组成 -- SSD
对比 访问类型 机械硬盘(HDD) 固态硬盘(SSD) 随机读 慢 非常快 随机写 慢 快 顺序写 快 非常快 耐用性(重复擦写) 非常好 差 读写原理 CPU Cache用的SRAM是用一个电容来存放一个比特的数据 对于SSD硬盘,由一个电容加上一个电压计组合在一起,就可以记录一个或多个比特 分类 SLC:Single-Level Cell MLC:Multi-Level Cell TLC:Triple-Level Cell QLC:Quad-Level Cell QLC 想要表示15个不同的电压,充电和读取的时候,对精度的要求就会更高,这会导致充电和读取的时候更慢 QLC的SSD的读写速度要比SLC慢上好几倍 PE擦写问题 控制电路 常用的是SATA或者PCI Express接口,里面有一个很重要的模块:FTL(Flash-Translation Layer),即内存转换层 FTL是SSD的核心模块,SSD性能的好坏很大程度上取决于FTL的算法好不好 实际的IO设备 新的大容量SSD都是3D封装的,即由很多裸片(Die)叠在一起(跟HDD有点类似)...
cover
2020-01-24
计算机组成 -- 存储层次结构
SRAM CPU类比成计算机的大脑;而正在思考的东西,可以类比成CPU中的寄存器(Register) 寄存器更像是CPU本身的一部分,存放极其有限的信息,但速度非常快,和CPU同步 大脑中的记忆,类比成CPU Cache(高速缓存) CPU Cache使用的芯片是SRAM(Static Random-Access Memory,静态随机存取存储器) 静态:只要处于通电状态,里面的数据就能保持存在,而一旦断电,里面的数据就会丢失 在SRAM里,1个比特的数据,需要6~8个晶体管 所以SRAM的存储密度不高,同样的物理空间下,能够存储的数据有限 SRAM的电路简单,所以访问速度非常快 在CPU里,通常会有L1、L2、L3这三层高速缓存 L1 Cache 每个CPU核心都有一块独占的L1 Cache,通常分为指令缓存和数据缓存 L1 Cache通常嵌在CPU核心的内部 L2 Cache L2 Cache同样是每个CPU核心都有,但往往不在CPU核心的内部,因此L2 Cache的访问速度会比L1 Cache稍慢 L3 Cache L3 Cache通常是多个CPU核心共用的,尺寸更大,访问速度...
cover
2020-01-01
计算机组成 -- First Draft
从输入设备读取输入信息,通过运算器和控制器来执行存储在存储器里的程序,最终把结果输出到输出设备中 参考资料深入浅出计算机组成原理
avatar
zhongmingmao
Focus on Infrastructure.
Articles
675
Tags
207
Categories
99
Announcement
Things are always unexpected!
Contents
  1. 1. 参考资料
Recent Posts
Microservices - MSE V1
Microservices - MSE V12026-09-01
Agent Infra - Agentic Database V1
Agent Infra - Agentic Database V12026-08-23
Agent Infra - Cloud Agents V8
Agent Infra - Cloud Agents V82026-08-22
Agent Infra - Cloud Agents V7
Agent Infra - Cloud Agents V72026-08-22
Agent Infra - Cloud Agents V6
Agent Infra - Cloud Agents V62026-08-21
© 2015 - 2026 By zhongmingmao
Life is like a box of chocolates. You can't know what you'll eat until you open it.