美文网首页
计算机硬件概览

计算机硬件概览

作者: 天之見證 | 来源:发表于2019-03-26 00:00 被阅读0次
hardware_ogranization

1. 总线

各个组件之间来回传送字节信息的电子管道称为总线

衡量传输信息多少的单位: word (一个固定大小的bytes块)

一个word中有多少个byte由系统来决定, 一般为4字节/8字节

2. IO设备

上图中有4个IO设备,分别是鼠标,键盘,显示器和硬盘

从上可以看出这4个设备并不是直接连接到总线的,而是通过2类不同的方式连接到IO总线

  1. controller: 置于IO设备本身的芯片组或者主板上的芯片组
  2. adapter: 一块插在主板上的卡槽上的卡

3. 主存

临时的存储设备,用于存储程序和程序用到的数据

  • 物理上: 由一堆DRAM组成

  • 逻辑上: 可以看做是一个数组

4. 处理器

用于执行存储于主存中的指令,它的核心在于一个叫做PC的寄存器,在任何时间PC总是指向主存中的一个机器指令

5. hello 代码是如何加载执行的

#include <stdio.h>
int main()
{
    printf("hello, world\n");
}

5.1 从键盘读入hello 这个命令

具体组件流: (hello读入内存)

  1. usb controller
  2. I/O bridge
  3. bus interface
  4. register file
  5. I/O bridge
  6. main memory
hello_read_command.png

5.2 从硬盘加载可执行代码到主存

具体组件流: (使用到了DMA,数据的copy没有cpu参与)

  1. Disk
  2. Disk controller
  3. I/O bridge
  4. main memory
hello_load.png

5.3 将字符串从寄存器堆输出到显示器

  1. 将字符串hello, world\n 从内存copy到寄存器堆
  2. 将数据从寄存器堆输出到显示器

具体组件流:

  1. main memory
  2. bus interface
  3. register file
  4. bus interface
  5. I/O bridge
  6. graphics adapter
hello_display.png

ref:

  1. csapp chap1.4
  2. IO设备的控制器 适配器

相关文章

网友评论

      本文标题:计算机硬件概览

      本文链接:https://www.haomeiwen.com/subject/tkxwvqtx.html