《Linux内核完全剖析》读书笔记——第二章 微机组成结构

第二章 微型计算机组成结构

仅个人笔记(请大家不要吐槽)

计算机系统分为硬件和软件,两者相互依存。硬件是计算机系统可见的部分,是软件运行和存储的平台。软件是控制和操作硬件动作的指令流。本章主要说基于80x86CPU的硬件系统。

CPU是通过总线(地址线,数据线,控制信号线)与控制器和控制卡相连。计算机技术发展后,集成规模越来越大,出现南桥和北桥芯片。南桥芯片控制 I/O接口(ICH),北桥芯片控制存储器和显示器等,数据交换速度远大于南桥的速度。至今南北桥合二为一又集成在一起,但功能来说依然与传统PC结构兼容。

I/O端口

CPU访问I/O时最先要确认地址,端口的地址设置方法主要有两种:统一编址和独立编址。统一编址是将端口的地址归入存储器寻址空间范围内,独立编址是将I/O控制器的寻址空间单独出来作为I/O 地址空间。用cat /proc/ioports查看系统的地址分配。接口访问控制一般用中断处理的控制方式,这需要中断控制器的支持,CPU通过访问中断向量表来寻址相应的中断服务过程的入口地址。其余两种程序循环查询和DMA传输方式较少应用。

存储器

主存储器(内存)在32位的机子中最大寻址范围是4G。BIOS是基本输入输出程序,主要用于计算机开机时系统自检,建立操作系统需要的各种配置表。CMOS存储器用来存放计算机实时时钟信息和系统硬件配置信息,通常和Real Time Chip集合在一起,访问时需要通过I/O进行访问。
控制器

中断控制器

8259A芯片控制中断服务,现在利用集成电路模拟该芯片的功能。在启动时BIOS对其进行初始化,在Linux中不使用默认设置的中断向量号,会在开机后重新设置。

DMA控制器

让外部设备直接与内存传输数据,可以不受CPU控制条件下运行。
定时器/计数器,8253/8254是可编程的定时计数器芯片,可以通过程序员控制其中一个计数器达到精准延时的作用。

键盘控制器

将键盘按下和松开时的扫描码解码并传输到操作系统的键盘数据队列中,根据扫描码集来确认那个键被按下和抬起。

串行控制卡

利用UART 协议在计算机中进行异步串行通信,通信时通常包括起始同步信息,数据和校验信息。信息以帧为单位传输。

显示控制器

分为黑白和彩色,此处不进行详细说明。

软盘,硬盘控制器

软盘现在已经不存在了(haha),硬盘此处只介绍机械硬盘(在写书的时候可能还没有什么固态硬盘),硬盘是靠一个磁头在硬盘上扫描,硬盘高速旋转,比如在读取的时候磁头相当于在切割磁感线产生电流,根据磁盘上0、1不同电流的方向发生变化,就能读出位数据流。控制器可以向CPU接受指令,向驱动发送寻道,读写和控制信号,并且控制和转换数据流形式(数据串转并,编码校验等)。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值