常规计算机硬件体系结构

合集下载

计算机硬件系统

计算机硬件系统

硬件系统2.2.1硬件系统组成硬件是组成计算机的物理实体,它提供了计算机工作的物质基础,人通过硬件向计算机系统发布命令、输入数据,并得到计算机的响应,计算机内部也必须通过硬件来完成数据存储、计算及传输等各项任务。

无论是那一种计算机,一个完整的硬件系统从功能角度而言必须包括运算器、控制器、存储器、输入设备和输出设备五部分,每个功能部件各尽其职、协调工作。

微型计算机也是基于这五部分组成的,根据微型计算机的特点将硬件分为主机和外部设备两部分,如下图所示。

2.2.2主机系统主机是安装在一个主机箱内所有部件的统一体,是微型计算机系统的核心,主要由CPU、内存、输入/输出设备接口(简称I/O接口)、总线和扩展槽等构成,通常被封装在主机箱内,制成一块或多块印刷电路板,称为主机板,简称主板或系统板。

主机内部结构示意图主机箱内部实物图主板从功能上讲主板就是主机,是一个插槽的集合体,也是整个硬件系统的平台,无论是奔腾、赛扬还是毒龙,所用主板在工作原理、主要器件的设置上都差不多。

按结构分为AT主板和ATX主板,按其大小分为标准板、Baby、Micro板等几种。

主板是微型计算机系统的主体和控制中心,它几乎集合了全部系统的功能,控制着各部分之间的指令流和数据流。

随着计算机的不断发展,不同型号的微型计算机的主板结构是不一样的,典型的主板外观示例如下图所示。

主板外观主机板及其部分配件主板主要由以下部件组成:·芯片组芯片组是主板的灵魂,由一组超大规模集成电路芯片构成。

芯片组控制和协调整个计算机系统的正常运转和各个部件的选型,它被固定在主板上,不能像CPU、内存等进行简单的升级换代。

芯片组的作用是在BIOS和操作系统的控制下,按照统一规定的技术标准和规范为计算机中的CPU、内存、显卡等部件建立可靠的安装、运行环境,为各种接口的外部设备提供可靠的连接。

·CPU插座用于固定连接CPU芯片。

由于集成化程度和制造工艺的不断提高,越来越多的功能被集成到CPU上。

计算机硬件体系结构

计算机硬件体系结构

1.计算机硬件体系结构:未配置任何软件的计算机称为裸机。

美籍匈牙利数学
家冯●诺依曼 1946年提出储存程序原理。

→输入设备→存储器→输出设备→

运算器控制器
2.中央处理器:(1)运算器(2)控制器(3)存储器
3.输入输出设备:鼠标.键盘.扫描仪.数码相机.条码阅读器。

输出:
显示器.打印机.音响.绘图仪等。

4.计算机软件体系结构:(1)操作系统软件:(DOS.Linux.Windows.
等)。

5.认识计算机主板:主板又名主机板.母板.系统板等。

主板一般为
矩形电路板。

主要组装计算机的电路系统 BIOS芯片.io控制芯片。

6.电路板各个部件:插槽.芯片.电阻.电容等。

内存插槽:AGP插
槽.PCI插槽.IDE接口.以及主办边缘的串口.并口.PS/2接口等。

7.主板主要结构:ATX版型:扩展插槽较多.PCI插槽数量为4~6个。

8.主板芯片:(1)BIOS芯片:BIOS是一组被固化到计算机中.为计
算机提供最低级.最直接的硬件控制程序.是连通软件程序和硬件设备之间的枢纽.负责解决硬件的及时要求.并按照软件对硬件的操作要求来具体执行。

9.主板插槽:SIMM.DIMM.RIMM.。

计算机硬件系统的组成剖析

计算机硬件系统的组成剖析

计算机硬件系统的组成剖析1.中央处理器(CPU):中央处理器是计算机的核心部件,负责执行指令并控制计算机的运行。

它包括运算器、控制器和寄存器等多个组件,是计算机进行各种计算和控制操作的重要组成部分。

2.主板:主板是计算机硬件系统的主要电路板,连接着各种硬件设备。

它提供了连接中央处理器、内存、硬盘和其他外部设备的接口,同时还包含了芯片组、总线、扩展槽和连接器等多种组件。

3.内存:内存是计算机用来存储数据和指令的地方,它是中央处理器访问和操作数据的重要部件。

内存有多种类型,最常见的是随机存取内存(RAM),它可以快速读写数据。

4.硬盘:硬盘是计算机用来存储和读取数据的设备,通常具有较大的容量。

硬盘分为机械硬盘和固态硬盘两种类型,前者通过旋转磁盘和读写头来存储和读取数据,而后者不含移动部件,使用了固态存储器。

5.显卡:显卡是计算机的图形处理单元(GPU),负责处理和输出计算机的图形显示。

显卡通常包含图形处理核心、显存和输出接口等组件,能够提供高质量的图形效果和流畅的视频播放。

6.输入设备:输入设备用于将外部信息输入到计算机中。

常见的输入设备包括键盘、鼠标、扫描仪、摄像头和麦克风等,它们通过不同的方式将用户的操作或者外部信息传递给计算机。

7.输出设备:输出设备用于将计算机处理后的信息展示给用户。

常见的输出设备有显示器、打印机、音频设备和投影仪等,可以将计算机产生的图像、声音或者文本信息以不同形式输出。

8.扩展设备:扩展设备包括各种可选的硬件组件,用于扩展计算机的功能和性能。

例如,网卡可以为计算机提供网络连接,声卡可以提供高品质的声音效果,而电源、风扇和散热器等则是确保计算机正常运行的关键组件。

以上是计算机硬件系统的基本组成部分,不同计算机的硬件配置和性能各不相同,也会有一些其他的硬件设备和组件加入进来。

计算机硬件系统的良好组合和协调运作,能够有效提升计算机的性能和使用体验。

简述计算机系统的硬件结构

简述计算机系统的硬件结构

简述计算机系统的硬件结构计算机系统是现代社会不可或缺的一部分,无论是个人使用还是商业运营,都需要计算机系统的支持。

计算机系统包括硬件和软件两部分,其中硬件是计算机系统的基础,也是支撑计算机系统运行的重要组成部分。

本文将简述计算机系统的硬件结构,为读者提供一些基础的计算机硬件知识。

一、计算机系统硬件结构概述计算机系统的硬件结构可以分为五个部分:中央处理器(CPU)、存储器、输入设备、输出设备和通信设备。

其中,中央处理器是计算机系统的核心部件,负责控制计算机系统的运行、执行指令、进行算术和逻辑运算等。

存储器用于存储计算机系统的程序和数据,包括随机存储器(RAM)和只读存储器(ROM)两种类型。

输入设备用于将外界信息输入到计算机系统中,包括键盘、鼠标、扫描仪、摄像头等。

输出设备用于将计算机系统处理的信息输出到外界,包括显示器、打印机、扬声器等。

通信设备用于计算机系统之间或计算机系统与外界进行通信,包括调制解调器、网卡、路由器等。

二、中央处理器中央处理器是计算机系统的核心部件,也是计算机系统的重要组成部分。

中央处理器包括控制器和算术逻辑单元(ALU)两个部分。

控制器负责控制计算机系统的运行,执行指令、管理存储器等。

算术逻辑单元(ALU)负责进行算术和逻辑运算,包括加、减、乘、除、与、或、非等运算。

中央处理器的运行过程可以分为取指、译码、执行和存储四个步骤。

取指是指从存储器中读取指令,译码是指将指令翻译成机器语言,执行是指将指令转换成操作,并进行算术和逻辑运算,存储是指将运算结果存储到存储器中。

三、存储器存储器是计算机系统的重要组成部分,用于存储计算机系统的程序和数据。

存储器分为随机存储器(RAM)和只读存储器(ROM)两种类型。

随机存储器(RAM)是一种易失性存储器,用于存储计算机系统的程序和数据,但当计算机系统关闭或断电时,存储器中的数据会丢失。

只读存储器(ROM)是一种非易失性存储器,用于存储计算机系统的程序和数据,但它的内容只能被读取,不能被写入或修改。

计算机硬件的基本结构

计算机硬件的基本结构

计算机硬件的基本结构计算机硬件的基本结构通常由以下几个主要组件组成:1.中央处理器(Central Processing Unit,CPU):CPU是计算机的大脑,执行程序指令并处理数据。

它包括算术逻辑单元(ALU)和控制单元(CU),用于执行算术运算、逻辑操作和控制指令流程。

2.存储器(Memory):存储器用于存储数据和指令。

计算机中常见的存储器包括主存储器(主内存)和辅助存储器。

主存储器(RAM)是临时存储数据和程序的地方,而辅助存储器(例如硬盘驱动器或固态硬盘)用于永久性地存储数据。

3.输入设备(Input Devices):输入设备用于将数据和指令输入计算机系统。

常见的输入设备包括键盘、鼠标、扫描仪、摄像头等。

4.输出设备(Output Devices):输出设备用于显示计算机处理后的结果或将数据输出到外部介质。

常见的输出设备包括显示器、打印机、音频扬声器等。

5.主板(Motherboard):主板是计算机内部的主要电路板,连接和支持各种硬件组件。

它包含了中央处理器插槽、内存插槽、扩展插槽(如PCIe插槽)、各种接口(如USB、Ethernet等),以及连接这些组件的电路和总线。

6.显卡(Graphics Card):显卡负责处理和渲染计算机的图形和图像。

它包含图形处理器(GPU),用于执行复杂的图形计算和渲染,并将结果发送到显示器上显示。

7.硬盘驱动器(Hard Disk Drive,HDD)或固态硬盘(Solid State Drive,SSD):硬盘驱动器或固态硬盘用于永久性地存储数据。

它们是计算机的主要存储介质,用于存储操作系统、应用程序和用户文件。

除了上述组件之外,还有其他辅助组件和接口,如电源供应器、扩展卡、USB接口、显示器接口等,它们都在计算机硬件的基本结构中发挥着重要的作用。

计算机硬件的主要组成部分解析

计算机硬件的主要组成部分解析

计算机硬件的主要组成部分解析计算机硬件是指计算机系统中的电子元件和物理设备,包括主机、显示器、输入设备以及各种存储设备等。

它们共同协作,构成了计算机系统的基础。

本文将对计算机硬件的主要组成部分进行详细解析,并介绍它们的功能和作用。

一、主机主机是计算机硬件的核心部分,它包含了处理器(CPU)、内存(RAM)、主板、显卡以及电源等。

1. 处理器(CPU)处理器是计算机的大脑,负责执行各种计算和控制指令。

它由运算器、控制器和寄存器等组成。

处理器的性能决定了计算机的运行速度和处理能力。

2. 内存(RAM)内存是计算机用来存储数据和程序的地方,可以快速读写数据。

RAM的大小决定了计算机可以同时处理的任务数量和速度。

3. 主板主板是计算机各个硬件组件的连接中枢,它提供了电源、数据和信号传输的接口。

主板上还集成了BIOS(基本输入输出系统)芯片,负责计算机启动和系统设置。

4. 显卡显卡负责计算机图像的处理和显示。

它可以将处理器产生的图像数据转化为可见的图像信号,并通过显示器显示出来。

5. 电源电源为计算机提供电能,供各个硬件组件正常工作。

二、显示器显示器是计算机的输出设备,用于显示计算机处理的图像和文字信息。

根据显示技术的不同,显示器可以分为液晶显示器、LED显示器和CRT显示器等。

1. 液晶显示器(LCD)液晶显示器是目前最常见的显示器类型,它使用液晶面板通过调节像素的透光性来显示图像。

2. LED显示器LED显示器是使用LED(发光二极管)作为背光源的显示器,它具有更低的能耗和更高的亮度。

3. CRT显示器CRT显示器是传统的显像管显示器,现在已经较少使用。

三、输入设备输入设备用于将用户提供的数据和指令输入到计算机中,常见的输入设备有键盘、鼠标、触摸屏和扫描仪等。

键盘是最常用的输入设备,用来输入文字和命令。

2. 鼠标鼠标通过控制指针的移动和点击来操作计算机。

3. 触摸屏触摸屏是一种触摸敏感的输入设备,可以通过手指或触摸笔直接操作屏幕。

计算机硬件体系结构_图文

计算机硬件体系结构_图文

3.2 微型计算机主机结构
3.2.4 内存储器 内存储器在主机内部(简称内存),一般由半
导体材料构成。内存储器可分为只读存储器和 随机读写存储器。
内存储器分类
3.2 微型计算机主机结构
1. 只读存储器 •特点:存储的信息只能读出,不能随机改写或 存入,断电后信息不会丢失,可靠性高。 •ROM分类
3.1 计算机系统的构成 典型的计算机硬件体系结构如下 :
CPU
(含运算 器和控制
器)
地址总线(AB )
数据总线(DB)
控制总线(CB)
RAM
ROM
I/O接口
I/O设备
3.1计算机系统的构成
冯·诺依曼计算机体系结构的主要特点是: (1) 采用二进制形式表示程序和数据。 (2) 计算机硬件是由运算器、控制器、存储器、输 入设备和输出设备五大部分组成 。 (3) 程序和数据以二进制形式存放在存储器中。 (4) 控制器根据存放在存储器中的指令 (程序) 工作 。
② 数据总线。传输的是数据,一般是双向传输 。CPU进行“读”时,数据由外设流向CPU,当CPU进 行“写”时,数据由CPU流向外设。
③ 控制总线。传输的是对外设进行控制和状态 检测的信号,有的是CPU向内存或外部设备发出的信 号;有的是内存或外部设备向CPU发出的信号。对每 条控制线而言信号是单向传送,但作为整体是双向的 。
3.2 微型计算机主机结构
3.2.5 总线 总线:是一组连接各个部件的公共通信线路,是计 算机内部传输指令、数据和各种控制信息的高速通 道,是计算机硬件的一个重要组成部分。 总线按所传输信号不同可分为: 数据总线 地址总线 控制总线。
3.2 微型计算机主机结构
① 地址总线。传输的是地址信号,一般是单向 传输。当CPU需要访问某个外设时,它向地址总线发 出相应外设的地址信号,以选择某个外设。

计算机硬件架构

计算机硬件架构

计算机硬件架构计算机硬件架构是指计算机中各个硬件组件之间的布局、连接和工作原理的结构。

它决定了计算机的性能、可扩展性和可靠性。

一个好的硬件架构可以提高计算机的效率和稳定性,从而为用户提供更好的使用体验。

一、计算机硬件架构的基本要素计算机硬件架构的基本要素包括中央处理器(CPU)、内存(RAM)、存储器(硬盘和固态硬盘)、输入设备(键盘、鼠标等)、输出设备(显示器、打印机等)和总线(用于连接各个硬件组件的数据传输通道)等。

1. 中央处理器(CPU)中央处理器是计算机的核心部件,负责执行各种计算任务。

它由控制单元和算术逻辑单元组成,控制单元负责指令的解码和执行,算术逻辑单元负责进行基本的数学运算和逻辑运算。

2. 内存(RAM)内存是计算机用来存储数据和程序的地方。

它具有读写速度快、易于修改的特点,但是断电后数据会丢失。

内存的大小会直接影响计算机的运行速度和多任务处理能力。

3. 存储器(硬盘和固态硬盘)存储器用于长期保存数据和程序。

硬盘是一种机械存储介质,具有容量大、价格低的特点,但是读写速度相对较慢;固态硬盘则采用闪存芯片进行数据存储,具有读写速度快、耐用性高的特点。

4. 输入设备和输出设备输入设备用于将外部信息输入计算机,常见的有键盘、鼠标、摄像头等;输出设备用于将计算机处理后的结果输出给用户,常见的有显示器、打印机、音响等。

5. 总线总线是计算机各个硬件组件之间的传输通道。

它分为系统总线、扩展总线和高速总线等。

系统总线用于连接中央处理器、内存和主板上的各个硬件设备;扩展总线用于连接扩展卡;高速总线用于连接高速设备,如固态硬盘等。

二、计算机硬件架构的发展趋势随着计算机技术的不断发展,计算机硬件架构也在不断演进。

以下是目前计算机硬件架构的主要发展趋势:1. 多核处理器为了提高计算机的性能和处理能力,现代计算机趋向于采用多核处理器。

多核处理器可以同时执行多个任务,提高计算机的并行处理能力。

2. 高速缓存缓存是提高计算机运行速度的重要因素。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章常规计算机硬件体系结构早期的包处理系统是建立在常规计算机系统之上的,这也是最廉价的包处理系统。

我们定义一个常规的计算机系统由四个基本部件组成:一个CPU,一个内存,一个或多个I/O设备,一条总线。

总线连接另外的三个基本部件,并允许它们相互通信。

PC机是一个常规计算机系统,因为它包括了以上所有四个部件。

为了将一台常规的计算机转换成一个可以处理数据包的网络系统,必须在计算机上增加一些硬件和软件。

增加的硬件用来发送和接收数据包,增加的软件用来处理数据包。

2.1 早期的NIC将一个计算机系统连接到一个网络的硬件设备称为网络接口卡(Network Interface Card,NIC)。

对于计算机来说,NIC和其它I/O设备一样连接到计算机的总线并由CPU控制,CPU 控制NIC的方法与控制其它I/O设备的方法也相同。

对于网络来说,NIC表现得像一台主机,即NIC可以发送和接收数据包。

主机和包分析器只连接到一个网络上,这样的系统只需要一块NIC。

复杂一些的系统,像网桥、路由器等,要求多个网络连接。

当系统需要多个网络连接时,有两种可能的实现方法。

一种方法是将多块网卡插入到总线扩展槽中,每块网卡连接一个网络;另一种方法是在一块电路板上提供多个独立的网络接口,电路板插入扩展槽中,每个网络接口连接一个网络,目前已经出现了这种商用的NIC硬件。

从计算机的角度来看,这两种方法没有什么区别。

但是由于总线扩展槽的数量是有限的,因此后一种方法更好,可以节省扩展槽。

网络接口由CPU操作,这意味着CPU控制着所有数据包的发送和接收。

为发送一个数据包,CPU首先在内存中组装好数据包,然后将包传递给NIC,NIC再将数据包发送到网络上。

在系统接收一个数据包前,CPU必须先允许NIC,指明数据包存放的位置。

NIC等待从网络上到来的数据包,将其存放到指定的位置,然后通知CPU。

NIC中通常包含实现物理层协议标准的物理接口芯片组,它们保证每个输出的帧具有正确的格式并且产生出符合物理层协议标准的信号波形;类似地,它们检查每个到来的帧以保证每个帧是有效的。

数据总线上一次可以传输的数据量由数据总线的宽度(即数据线的数目)决定。

一般来说,数据总线的宽度不足以一次传输一个完整的帧,因此一个帧必须分成许多较小的片段(如32比特)分多次传递给NIC。

由于NIC是由CPU操作的,这意味着CPU必须参与到这种传输过程中。

事实上,早期的NIC硬件依赖于计算机系统的CPU完成帧的收发。

在帧的接收过程中,CPU反复地访问NIC取得下一个片段的数据,然后存放到内存中。

在帧的发送过程中,CPU反复地将帧的片段发送给NIC。

使用CPU传输数据包的主要优点是代价低,因为NIC硬件不需要做很多事,因此可以做得很简单。

主要的缺点是开销大和可扩展性差,使用CPU处理输入输出意味着它不能做别的事;更重要的是,一个CPU无法适应高速网络,特别是当系统有多个网络接口时。

2.2 现代的NIC为了支持多个网络接口和适应高速网络,必须将输入/输出和包处理分离开来,并尽可能避免使用CPU,因此现代的NIC都包含独立于CPU操作的复杂硬件。

以下四种技术用来优化数据传输和减少开销:(1)卡上地址识别和过滤;(2)卡上包缓存;(3)直接内存访问DMA;(4)操作链。

(1)卡上地址识别和过滤以太网使用共享媒体进行传输,每个节点实际上可以收到所有的帧,只是丢弃哪些不是发给自己的帧。

这意味着,每个节点必须接收网络上传输的每一个帧,然后检查帧头中的目的地址以决定是否要处理这个帧。

如果目的地址匹配节点的单播地址或者广播地址,就处理该帧,否则丢弃。

卡上地址识别和过滤的想法很简单,就是不用计算机的CPU检查帧的目的地址,而是用NIC的硬件来测试。

也就是说,设计能够独立操作并能检查帧头中目的地址的NIC硬件。

当一个帧到达时,NIC检查帧的目的地址;如果目的地址不匹配节点的单播地址或广播地址,则丢弃帧,并且不中断CPU。

卡上地址识别可极大减轻CPU的负担,因为所有的帧都在共享网络上传输,而其中只有很少的帧是需要一个特定节点来处理的。

卡上多播地址的识别增加了NIC的复杂度。

每个多播地址对应一个多播组,一个节点可以加入到多个多播组中,并且节点可以动态地加入或离开一个多播组,因此节点应识别的多播地址集合是动态改变的,这与固定不变的单播地址及广播地址完全不同。

只要多播帧匹配多播地址集合中的任何一个地址,节点就应处理该帧,否则丢弃该帧。

早期的NIC不过滤多播帧,而是将所有的多播帧都接收下来,交给CPU去检查和判断。

然而,接收所有的多播帧会导致很高的开销,因为多播经常被音/视频这样的应用用来发送连续的数据流。

更糟糕的是,网络上所有的节点都要产生这个开销,即使它们不参加任何一个多播组。

为减小开销,现代的NIC提供卡上多播地址识别和过滤。

由于多播组是动态的,因此NIC允许CPU描述或改变多播地址集。

当NIC加电时,它只识别节点的单播地址和网络广播地址。

在任何时候,CPU都可以指示NIC开始接收某个多播地址的帧或者停止接收某个多播地址的帧。

一旦CPU指定了地址,NIC就负责所有的识别工作,即接收那些匹配指定地址的帧,并丢弃其余的帧。

由于NIC的存储空间是有限的,因此计算机不能指定任意数目的多播地址,事实上,许多NIC限定多播地址集合的大小为32或64。

实际上,一个典型的应用在任何时候只加入一到两个多播组(如接收一个音频流和/或一个视频流),而一个节点上任何时候最多只有几个应用加入多播,因此大多数计算机系统只同时使用几个多播地址。

当一个多播帧到来时,将帧头中的多播地址与地址集合中的64个地址逐一比较是一件费时的工作,一般的NIC都没有足够的计算能力在短时间内完成。

为此,NIC硬件采用了一种优化的实现方法。

NIC维护一个64比特的矢量,并用一个哈希函数将多播地址映射成[0,63]之间的一个数。

从本质上说,这是将所有可能的多播地址划分成64个组,每个组对应矢量中的一个比特。

对于CPU指定要监听的每个多播地址计算一个哈希值,并将矢量中对应比特的值置为1。

当一个多播帧到达时,NIC计算该地址的哈希值,然后检查矢量中对应比特的值。

若该比特的值为1,则接收该帧,否则丢弃。

在这个方案中,NIC不会漏掉任何一个该接收的多播帧,但可能会收下一个地址不匹配的帧,虽然这种概率是很低的。

进一步的检查工作由CPU完成,即CPU收到一个多播帧后要检查其目的地址是否匹配。

由于多个地址可能会映射到矢量的同一个比特上,因此当节点离开一个多播组时,不能简单地将该多播地址对应的比特位置1。

解决的办法是用一个引用计数器统计有多少个地址对应矢量中的同一个比特,当删除一个多播地址时,只是将该地址在矢量中对应比特的引用计数值减1,当值减为0时,将矢量中该比特位置0。

(2)卡上包缓存NIC的另一个优化措施是在NIC上增加足够的内存空间,用于缓存到来的包。

卡上包缓存的必要性来自以下两个事实:1)包的传输是突发的;2)总线是共享的。

网络流量的最大特点是突发性,即链路可能在一段时间里是空闲的,然后在一段时间里突然有持续的数据流出现。

NIC必须能够处理连续到来的数据包,因为这些包可能都是送往同一个节点的。

如果NIC来不及处理,就有一些包会丢失。

总线共享以及与CPU交互均会影响NIC的接收速度。

比如,NIC可能需要等待总线,因为其它高优先级的设备正在使用总线;与CPU的交互可能被推迟,因为CPU正在处理较高优先级的中断请求。

因此,如果NIC为了每个包都向CPU请求中断,则NIC可能会因遭遇延迟而丢包。

卡上缓存允许NIC处理突发的流量,因为NIC可以不用等待总线或CPU就能接收包。

用于卡上缓存的NIC硬件允许两种同时的操作:从网络接口接收一个帧并存到NIC的缓冲区,以及将NIC缓冲区中的一个帧通过总线传输到计算机。

在NIC上设计一个较大的缓冲区是非常重要的,因为如果缓冲区能够容纳全部突发的流量,则没有包会丢失。

(3)直接存储器访问NIC的第三个优化措施是在NIC和计算机内存之间提供高速的数据传输,一种优化的方法是采用直接存储器访问DMA。

由于数据总线的宽度不足以一次传输一个完整的包,因此一个包必须分成若干较小的片段,每个总线周期传输一个片段。

许多早期的I/O接口采用PIO(Programmed I/O)技术,要求CPU处理每一次总线传输,这样既加重了CPU的负担,又影响了传输速度。

DMA技术允许I/O直接访问计算机的内存,而不需要CPU的干预。

特别是,DMA可以和CPU并行操作。

为了采用DMA方式传输,NIC将每个包分成长度与数据总线宽度相同的片段,执行一系列的总线操作将每个片段传送到计算机内存,然后向CPU发出中断。

NIC如何知道应将数据包存放到哪个位置呢?NIC等待CPU的指令,CPU在总线上给出内存中一个缓冲区的位置,然后允许NIC接收包。

NIC将收到的包传送到指定的计算机内存位置,然后产生一个中断通知CPU操作完成。

发送数据包时也可以使用DMA。

CPU在内存中组装好一个包后,利用总线将包存放的位置告诉NIC,然后CPU可以转而去做其它的事情。

NIC利用DMA从内存中读取所有的片段,通过网络接口发送出去,然后产生一个中断通知CPU。

(4)操作链和数据链DMA允许NIC在网络和计算机内存之间传输包而不需要CPU的介入。

有些NIC提供一种称为数据链(data chaining)或缓冲区链(buffer chaining)的机制。

当使用数据链时,CPU提供给NIC一个由较小的缓冲区形成的链表,而不是一个较大的缓冲区。

当NIC要向内存传输一个较大的帧时,它首先将数据写入第一缓冲区;当该缓冲区满时,NIC自动将数据写入第二个缓冲区,依次类推。

作为进一步的优化,高速NIC使用一种称为操作链(operation chaining)或命令链(command chaining)的技术,它允许NIC自动地执行一系列的包传输。

操作链可以和数据链结合起来使用,也可以单独使用。

为启动一个操作链,CPU在内存中创建一个“命令”链表,然后将链表的地址传递给NIC。

NIC依次执行每一个命令,并在执行完最后一个命令后停止。

图2-1是包含一系列传输命令的一个链表,每一个表项包含四个域:传输命令(发送或接收),指向内存中一个缓冲区(或一个缓冲区链)的指针,同步比特,指向下一个命令的指针。

同步比特是为了告诉CPU哪个输入缓冲区已经填充了数据或者哪个输出缓冲区的数据已经发送完毕。

当CPU创建命令链表时,清除每个表项中的同步比特(即置0);当NIC完成一个操作后,将该表项的同步比特置1,并向CPU发出中断。

如CPU不能及时处理中断,这期间NIC可能完成了多个命令。

相关文档
最新文档