Linux内核完全注释 阅读笔记:2.1、微型计算机组成原理
<p style="text-indent: 2em;">2018年9月1号,暑假已经结束了,同学们请收拾好心情,准备寒假<img src="/UEditor/dialogs/emotion/images/face/i_f29.gif"/>。今天的学习还算比较轻松,基本上就是概念,好好理解,然后洗洗睡吧<img src="/UEditor/dialogs/emotion/images/face/i_f03.gif"/>。<br/></p><p style="text-indent: 2em;">计算机系统可分为硬件部分和软件部分,但两者之间互相依存。硬件部分是计算机系统的可见部分,是软件运行和存储的平台。软件是一种控制操作和动作的指令流。<br/></p><p style="text-indent: 2em;">一个传统的微型计算机硬件组成结构图如下所示:</p><p style="text-align:center"><img src="/uploads/AilsonJack/2018.09.02/1535858444117919.png" onclick="preview_image('/uploads/AilsonJack/2018.09.02/1535858444117919.png')"/></p><p style="text-indent: 2em;">其中,CPU通过地址线、数据线和控制线组成的本地总线(或称为内部总线)与系统其它部分进行数据通信。地址线用于提供内存或I/O设备的地址,即指明需要读/写数据的具体位置。数据线用于在CPU和内存或I/O设备之间提供数据传输的通道,而控制线则负责指挥执行的具体读/写操作。对于使用80386 CPU的PC机,其内部地址线和数据线都分别有32根,即都是32位的。因此地址寻址空间范围有2^32字节,从0到4GB。<br/></p><p style="text-indent: 2em;">图中上部控制器和存储器接口通常都集成在计算机主板上,这些控制器分别都是以一块大规模集成电路芯片为主组成的功能电路。例如,中断控制器由Intel 8259A或其兼容芯片构成;DMA控制器通常采用Intel 8237A芯片构成;定时计数器的核心则是Intel 8253/8254定时芯片;键盘控制器使用的是Intel 8042芯片来与键盘中的扫描电路进行通信。<br/></p><p style="text-indent: 2em;">图中下方的控制卡(或者称为适配器)则是通过扩展插槽与主板上的系统总线连接。总线插槽是系统地址总线、数据总线和控制总线与扩展设备控制器的标准连接接口。这些总线接口标准通常有:工业标准结构ISA(Industry Standard Architecture)总线、扩展工业标准结构总线EISA(Extented ISA)、外围组件互联总线PCI(Peripheral Component Interconnect)、加速图形接口AGP(Accelerated Graphics Port)视频总线等。这些总线接口的主要区别在于数据传输速率和控制灵活性方面。<br/></p><p style="text-indent: 2em;">随着计算机技术的发展,现代PC机的组成结构通常可以用下图来进行描述:</p><p style="text-align:center"><img src="/uploads/AilsonJack/2018.09.02/1535858444251398.png" onclick="preview_image('/uploads/AilsonJack/2018.09.02/1535858444251398.png')"/></p><p style="text-indent: 2em;">除了CPU以外,现代PC机主板主要使用2个超大规模芯片构成的芯片组或者芯片集(Chipsets)组成:北桥(Northbridge)芯片和南桥(Southbridge)芯片。北桥芯片用于与CPU、内存和AGP视频接口,这些接口具有很高的传输速率。北桥芯片还起着存储器控制作用,因此Intel把该芯片标号为MCH(Memory Controller Hub)芯片。南桥芯片用了管理低、中速的组件,例如PCI总线、IDE硬盘接口、USB端口等,因此南桥芯片的名称为ICH(I/O Controller Hub)。<br/></p><p style="text-indent: 2em;">虽然总线接口发生了很大变化,甚至今后北桥和南桥芯片都将会合二为一,但是对于我们编程人员来说,这些变化仍然与传统PC机结构兼容。因此为传统PC机编制的程序仍然能够运行在现代的PC机上。为了便于学习,该书以传统PC机结构框架来讨论和学习PC的组成和编程方法,当然这些方法仍然适用于现代PC机结构。<br/></p>
你可能也喜欢:
暂无评论,要不要来个沙发
发表评论
JLink V9掉固件修复(灯不亮) 3Zephyr笔记2 - 在STM32F429上运行HelloWorld 2计算NandFlash要传入的行地址和列地址 1Linux MMC子系统 - 6.eMMC 5.1工作模式-设备识别模式 0Linux MMC子系统 - 5.eMMC 5.1工作模式-引导模式 0Linux MMC子系统 - 4.eMMC 5.1常用命令说明(2) 0
标签云
Linux嵌入式实用技巧ARM内核学习问题集合CC++编程语言阅读笔记汇编Linux内核完全注释Windows驱动开发计算机基础ARM11ARMv7-ASTM32IDESublimeLinux内核学习eMMCMMC子系统Ubuntu操作系统OfficeVMWareAPUEgccRTOS中断漫游世界随笔感悟开发工具软件应用编程VsCodearmccarmclang编译器ZephyrSPIJLink网卡驱动安装各种芯片库函数NFSμCOS内核sambaFlashUnix命令与脚本输入法Linux内核设计与实现gitRIFFWAVJATGFTPar8161安装centos有线上网μCGUI字库工程建立右键菜单网络文件系统Firefox百度NTFS文件系统CodeBlocksCentOS数据结构算法PhotoShop51KeilQTUltraEditscanfglibc宏定义UIDGID优先级娱乐天地SourceInsight磁盘扇区总线I2CPDFBComparePythonI2SFPUMakefileSWDCPUARP软件推荐FileZilla