计算机组成 -- 知识地图
|Word Count:15|Reading Time:1mins
参考资料
Author: zhongmingmao
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Related Articles

2020-01-01
计算机组成 -- First Draft
从输入设备读取输入信息,通过运算器和控制器来执行存储在存储器里的程序,最终把结果输出到输出设备中 参考资料深入浅出计算机组成原理
2020-01-08
计算机组成 -- ELF + 静态链接
代码拆分源代码add_lib.c12345// add_lib.cint add(int a, int b){ return a+b;} link_example.c1234567891011// link_example.c#include <stdio.h>int main(){ int a = 10; int b = 5; int c = add(a, b); printf("c=%d\n", c);} gcc + objdump123$ gcc -g -c add_lib.c link_example.c$ objdump -d -M intel -S add_lib.o$ objdump -d -M intel -S link_example.o add_lib.o1234567891011121314151617add_lib.o: 文件格式 elf64-x86-64Disassembly of section .text:0000000000000000 <add>...

2020-01-31
计算机组成 -- IO_WAIT
IO性能 硬盘厂商的性能报告:响应时间(Response Time)、数据传输率(Data Transfer Rate) HDD硬盘一般用的是SATA 3.0的接口;SSD硬盘通常会用两种接口,一部分用SATA 3.0接口,另一部分用PCI Express接口 数据传输率 SATA 3.0接口的带宽是6Gb/s ≈ 768MB/s 日常用的HDD硬盘的数据传输率,一般在200MB/s SATA 3.0接口的SSD的数据传输率差不多是500MB/s PCI Express接口的SSD,读取时的数据传输率能到2GB/s,写入时的数据传输率也能有1.2GB/s,大致是HDD的10倍 响应时间 程序发起一个硬盘的读取或写入请求,直到请求返回的时间 SSD的响应时间大致在几十微秒这个级别,HDD的响应时间大致在十几毫秒这个级别,相差几十倍到几百倍 IOPS 每秒读写的次数,相对于响应时间,更关注IOPS这个性能指标 在顺序读写和随机读写的情况下,硬盘的性能是完全不同的 IOPS和DTR才是IO性能的核心指标 在实际的应用开发当中,对于数据...

2020-01-22
计算机组成 -- CISC + RISC
历史 在早期,所有的CPU都是CISC 实际的计算机设计和制造会严格受到硬件层面的限制,当时的计算很慢,存储空间很小 为了让计算机能够尽量多地工作,每个字节乃至每个比特都特别重要 CPU指令集的设计,需要仔细考虑硬件限制,为了性能考虑,很多功能都直接通过硬件电路来完成 为了少用内存,指令长度也是可变的 常用的指令要短一些,不常用的指令要长一些 用尽量少的内存空间,存储尽量多的指令 计算机的性能越来越好,存储的空间也越来越大,70年代末,RISC出现 CPU运行程序,80%的运行代码都在使用20%的简单指令 对比 CISC RISC 以硬件为中心的指令集设计 以软件为中心的指令集设计 通过硬件实现各类程序指令 通过编译器实现简单指令组合,完成复杂功能 更高效地使用内存和寄存器 – 一开始都是CISC,硬件资源非常珍贵 需要更大的内存和寄存器,并更频繁地使用 可变的指令集,支持更复杂的指令长度 简单、定长的指令 大量指令数 少量指令数 CISC的缺点 在硬件层面,如果想要支持更多的复杂指令,CPU里面的电路就要更复杂,设计起来更困难 更复杂的电路,在散热和功...

2020-01-12
计算机组成 -- 电路
电报机 电报机的本质:蜂鸣器 + 电线 + 按钮开关 蜂鸣器装在接收方,开关留在发送方,双方通过电线连在一起 继电器 电线的线路越长,电线的电阻越大,当电阻很大,而电压不够时,即使按下开关,蜂鸣器也不会响的 继电器(Relay):为了实现接力传输信号 中继:不断地通过新的电源重新放大已经开始衰减的原有信号 中间所有小电报站都使用『螺旋线圈+磁性开关』的方式,来替代蜂鸣器+普通开关 只在电报的始发和终点用普通开关和蜂鸣器 这样就可以将长距离的电报线路,拆成一个个小的电报线路,接力传输电报信号 继电器别名:电驿,驿站的驿 二进制 有了继电器后,输入端通过开关的『开』和『关』表示1和0,输出端也能表示1和0 输出端的作用,不仅仅是通过一个蜂鸣器或者灯泡,提供一个供人观察的输出信号 还可以通过『螺旋线圈+磁性开关』,使得输出也有『开』和『关』两种状态,表示1和0,作为后续线路的输入信号 与(AND) 在输入端的电路上,提供串联的两个开关,只有两个开关都打开,电路才接通,输出的开关才能接通 或(OR) 在输入端的电路上,提供两条独立的线路到输出端 两条线路上各有一个开关,任意一个开关打...

2020-01-06
计算机组成 -- goto
CPU执行指令 CPU是由一堆寄存器组成的,而寄存器是由多个触发器(Flip-Flop)或者锁存器(Latches)组成的简单电路 触发器和锁存器是两种不同原理的数字电路组成的逻辑门 N个触发器或者锁存器,就可以组成一个N位的寄存器,能保存N位的数据,64位的Intel服务器,寄存器就是64位的 寄存器分类 PC寄存器(Program Counter Register),也称为指令地址寄存器(Instruction Address Register) 用来存放下一条需要执行的计算机指令的内存地址 指令寄存器(Instruction Register) 用来存放当前正在执行的指令 条件码寄存器(Status Register) 用里面的一个个标志位(Flag),存放CPU进行算术或者逻辑计算的结果 其它 整数寄存器、浮点数寄存器、向量寄存器、地址寄存器、通用寄存器 程序执行 CPU会根据PC寄存器里面的地址,从内存里把需要执行的指令读取到指令寄存器里面执行 然后根据指令长度自增,开始顺序读取下一条指令,一个程序的指令,在内存里面是连续保存的,也会一条条顺序加载 特殊指令,如J类指令...
Announcement
Things are always unexpected!




