`
totoxian
  • 浏览: 1103545 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

计算机系统和中断的概念

 
阅读更多

概念:
cpu:特指处理器核心,而不是处理器封装,因为很多处理器将桥芯片和内存控制器芯片都封装在一起,造成一种误解,实际上处理器核心并不包含这些内容。
外设:带有处理逻辑的集成电路核心。

一、CPU和外设芯片

1、功能对等性和地位的不平等
外设芯片也可以处理数据,因此和cpu在功能上是对等的,GPU概念的提出加深了我们对这种对等性的理解。cpu是相对比较通用的芯片,而外设呢是功能比较专一的芯片。有时候,外设在某方面的处理能力要远远高于cpu。
冯.诺依曼机器是以处理器即CPU为中心的,因此在编程层面上cpu和外设是不平等的。由于历史原因,在那个年代,计算机主要用于科学计算,cpu足以胜任全部任务,因此外设几乎是不存在的,加上设计的简单性,软件指令统一由cpu发出和执行,因此软件意义上的不平等是历史原因和设计原因造成的。
2、通信机制
不管怎样,外设连接于系统上,cpu和外设必然需要相互通信。由于编程的不平等性,一般意义上所有指令由cpu发出,cpu可以主动读写或者操作外设,而外设却很难直接操作cpu,因此提出中断的概念。外设通过硬件逻辑,而不是软件逻辑(软件逻辑一般全部由cpu负责)来通知cpu有事情要做,cpu必然需要一种机制被动得到这种通知,这就是中断。
二、主板架构
1、以cpu为中心
由于历史原因和设计原因,主板都是以cpu为中心的,然后通过硬件连线逻辑连接各种外设。最简单的连接方式就是外设们和cpu连接在一条共享的线路上(由于它们的平等性)。
2、以各种桥连接各种总线
然而外设们的速率和通信协议彼此并不一定相同,和cpu之间的协议也有所不同,那么必然需要一种设备来进行协议转换和数据缓冲,以适配速率不同,协议不同的各种外设之间以及外设和cpu之间的通信。因此提出总线的概念,连接在一种总线上的所有设备的速率和底层通信协议是一致的。
3、外设连接在各种总线上
相同协议和相同速率的外设连接在一类总线之上。注意,系统中某一种总线并不一定只有一条,每一条总线(注意,不是一种,而是一条)都定了一个地址空间,也就是一个地址命名空间,在这个意义上,cpu访问的地址x和pci设备的地址x并不是一个地址,因此桥设备必须可以提供一个地址映射机制,可以将一端的地址映射到另一端的y(可以直接等于x,然而意义却不一样)。
4、中断引脚
cpu核心为了可以被外设中断,它必须有一个中断引脚。外设为了可以中断cpu,也必须有一种机制使它和cpu中断引脚直接或者间接相连接。
4.1、基于硬连线的中断

外设要想能中断cpu,最直接的方式是引出一根线,和cpu的唯一的中断引脚相连,然而cpu只有一个引脚,所以cpu需要在后续的总线周期中查询是谁发送了中断信号,因此外设需要有机制告知这个信息,这个信息就是中断向量号,然而很多设备会共享一个向量号,这就需要cpu在基于中断向量号的中断处理程序中遍历所有的设备进行确认了。
5.协议软化
早期很多的总线都是并行的,芯片除了片选引脚外,地址线/数据线都是并行的,这样的话不利于通信协议的更改,因为并行总线的通信协议(总线事务)完全基于时序,而时序是硬件设计时定义的,比如对于地址/数据复用线,第一个总线周期发出地址,然后后续周期发出数据等,这些都是硬连线确定的,另外,并行线路,频率越高干扰越大,离得越近干扰越大,然而事情却在向高频,小型化发展,这明显是一个矛盾,因此设计出了串行总线,将处理逻辑集中于芯片,总线线路只负责传输基于frame的数据,这就是协议软化,也叫总线事务软化。当需要更新协议的时候,只需要更换芯片即可,线路无需更改。
5.1、基于消息的中断
pci/pcie总线使用基于消息的中断,即msi/msi-x,这种中断机制无需设备的中断线引脚,只需要在串行总线发出一个中断事务,然后会有芯片接管这个事务,这个事务消息中有中断向量号信息,然后该芯片会代理设备向cpu发出中断事务,具体如何向cpu转发设备的中断,有很多种方式,一种古老的方式用于使用8259的系统中,8259会向cpu的intr引脚发送中断,然后到cpu查询向量号的时候8259会将从msi中得到的向量号发给cpu。一种更新的方式是使用apic,msi向一个存储器地址空间写一个中断消息,该地址在pcie桥处被转换为cpu的存储空间地址,该地址就是local-apic的映射地址,然后在fsb上发送中断事务,由于地址被映射到处理器封装中的local-apic,该事务被local-apic接管,然后local-apic再向处理器核心即cpu发送中断。这种方式完全由消息事务完成,丝毫不需要任何硬连线。
三、系统软件相关
系统软件并不仅仅是操作系统,实际上操作系统并不直接管理硬件。fireware和硬件接口,而操作系统和用户接口。
1、fireware定义硬连线拓扑
这种fireware和主板硬件接口,在x86平台上,这种fireware称为bios,在bios定义了丰富的信息。主板上电后,bios执行,bios中保存了E820映射信息,也就是cpu的地址空间的什么地址映射到什么总线,接下来的一种可能实现是bios根据这些信息检测并初始化总线设备,实际上是一种遍历,为各个设备分配基地址,也就是写入配置空间基地址信息。这些信息由操作系统读出并使用。(当然也可以将这信息写死到设备的rom中)
2、操作系统
和用户接口,操作完全是为了管理用户进程的,它对硬件的管理完全是基于fireware的。操作系统根据fireware的信息得到主板拓扑信息,设置中断向量,得到设备的基地址等信息。
附:软化
不知以太网以及tcp/ip的设计思想有没有影响主板设计,以太网的802.3设计就是一个串行协议设计的成功例子,tcp/ip的设计也是类似的一个例子,网络协议的设计几乎都是串行的,这和计算机早期的并口不同,串口有着简单性和抗干扰性的优点,这点意义上,双绞线最终淘汰了并口线,同轴线等...
不管怎样,串行线路是软的,而不像并行线路那样硬,这样就可以将处理逻辑集中于端点而不是线路本身,比如再也不用定义哪根线是数据准备好信号,那些根线是地址信号了,只需要定义一个frame的格式,然后按照这个格式发送数据就可以了,这样在串行线路上,甚至都不再区分什么地址线和数据线了,地址和数据都包含在数据包本身了,这样分层协议和封装协议就容易设计出来了,芯片本身使用软件或者硬件处理数据包,和线路没有关系,正如ipv6的数据包和ipv4的包都可以跑在一条线路上一样,虽然它们的地址信息一点都不同。
串行线路将更多的事交给了端点的软件或者硬件,这就解耦了线路和线路载荷。一般意义上,并行线路在低频率时钟情况下比串行线路快,然而当这种优势达到极端时,当时钟频率发展到使并行线路不再可以提升性能时反而降低性能时,串行线路取代了并行了线路,此时由于时钟频率足够高,串行线路也已经足够快了,前仆后继,善莫大焉!我们的主板将越来越像一个网络了,实际上,最终,我们的互联网和主板将归于一种设计,那就是串行线路连接各端点。人们一直以为软件处理效率不如硬件直接处理,说不定最终接替摩尔定律的恰恰的软件的设计思想而不再是单纯的硬件,这里的软件并不是编程意义上的软件,而是设计意义上的软件,也就是将处理逻辑集中于端点的设计思想。
笑声中说一句,串行总线中可以轻松实现中断的动态配置,操作系统可以参与中断向量的配置,而在并行线路中,操作系统只能使用fireware的信息。

分享到:
评论

相关推荐

    中断系统中断概念一中断的概念中断是指在计算机执行PPT.ppt

    "中断系统中断概念" 中断系统是计算机系统中的一种机制,允许CPU在执行主程序时响应外部设备的中断请求,从而实现对外部设备的实时处理。本节将详细介绍中断系统的概念、中断的定义、现场保护、单片机中断源的结构...

    《计算机系统结构》概念汇总

    这里我们将根据提供的标题和描述,对《计算机系统结构》中的核心概念进行详细的阐述。 一、计算机系统架构基础 计算机系统结构的基础包括计算机的五大组成部分:运算器、控制器、存储器、输入设备和输出设备。运算...

    计算机系统概念课后习题答案全

    《计算机系统概念》是计算机科学领域的一本经典教材,涵盖了计算机系统的基础理论和核心概念。这份资源包含了该课程的所有课后习题答案,包括实践习题和理论习题,为学习者提供了深入理解和掌握计算机系统原理的重要...

    计算机组成原理实验报告——中断实验,高分报告

    在计算机科学领域,中断是计算机硬件与操作系统交互的重要机制,它是计算机系统中处理突发事件和实现多任务调度的基础。本实验报告将深入探讨“计算机组成原理”中的中断实验,旨在帮助理解中断的工作原理及其在实际...

    《计算机操作系统》 进程的软中断通信

    "《计算机操作系统》进程的软中断通信" ...我们了解了软中断信号的概念和技术,并学习了如何使用系统调用 kill() 和 signal() 来传递和接受软中断信号。通过实验,我们证明了软中断信号可以成功地实现进程之间的通信。

    计算机系统结构(华中科技大学)

    计算机系统结构的基本概念包括数据表示、寻址方式、寄存器组织、指令系统、存储系统、中断机构、机器工作状态、输入/输出子系统结构与管理、信息保护手段及其实现等。 4. 计算机系统性能评价 计算机系统性能评价是...

    计算机体系结构:第1章 计算机系统结构的基本概念.ppt

    在本章中,我们将详细介绍计算机系统结构的基本概念,包括计算机系统的定义、计算机系统结构的概念、计算机系统的多级层次结构、虚拟机、语言实现技术、计算机系统结构的经典定义、透明性、Amdahl提出的系统结构、...

    中断概念和外部中断PPT学习教案.pptx

    中断概念是计算机系统实现多任务并行处理、实时响应和故障处理的关键技术。 中断分为内部中断和外部中断。内部中断是由处理器内部状态变化引发的,例如,定时器溢出或者数据错误等。外部中断则是由处理器外部设备,...

    计算机硬件基础课件中断技术

    中断技术是计算机硬件基础中的重要组成部分,它在计算机系统中起着至关重要的作用,使得计算机能够高效、实时地处理各种事件。在这个“计算机硬件基础课件中断技术”中,我们将深入探讨中断系统的原理、类型以及它...

    计算机系统结构01(概念_定量)1

    "计算机系统结构01(概念_定量)" 计算机系统结构是计算机科学与技术的一级学科,二级学科之一。...只有充分理解计算机系统结构的概念和原理,才能更好地设计和实现计算机系统,提高计算机系统的性能和可靠性。

    全国自考计算机系统结构02325 汇总(2004——2015全).doc

    10. 中断处理:中断处理是指计算机系统中中断的处理过程,包括中断的类型、中断的处理过程、中断的应用等。 十一、微程序控制:微程序控制是指计算机系统中微程序的控制技术,包括微程序的概念、微程序的类型、微...

    计算机系统结构的基本概念优秀文档.ppt

    计算机系统结构是研究计算机硬件、固件和软件交互方式的学科,它定义了计算机系统的基本概念和功能特性,是程序员理解和操作计算机的基础。本篇文档将深入探讨这一领域的重要概念和发展历程。 首先,计算机系统结构...

    计算机操作系统基本概念总结.docx

    操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理的组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境的程序集合。 二、并发和并行 并发是指两个或多个事件在同一时间间隔...

    计算机中断的概念PPT学习教案.pptx

    计算机中断是计算机系统中一种非常重要的机制,它允许硬件或软件在执行过程中暂停当前任务,以便处理更重要的事件或请求。...理解中断的概念、分类、处理流程以及中断向量表对于理解和维护计算机系统至关重要。

    清华大学计算机系统结构课后习题部分答案

    本资源摘要信息是根据清华大学计算机系统结构课后习题部分答案编译的知识点总结,涵盖了计算机系统结构的主要概念和知识点。 一、计算机系统结构概述 计算机系统结构是计算机科学的一门基础学科,研究计算机系统的...

    计算机操作系统基本概念集合

    操作系统是计算机系统中的基础软件,提供了三种类型的使用接口:命令方式、系统调用和图形用户界面。操作系统的主要功能是管理和控制计算机软硬件资源,提供了一个方便用户、管理和控制计算机软硬件资源的系统软件。...

    03计算机系统结构自考通简答题目录.pdf

    本文档提供了计算机系统结构自考通简答题目录,涵盖了计算机系统结构的基本概念、计算机系统设计、计算机系统的并行性和可移植性、数据表示和指令系统、总线、中断与输入输出系统、存储体系等方面的知识点。...

    《计算机系统的体系结构》课后答案_李学干_清华大学出版社.doc

    本资源摘要信息主要讲解计算机系统的体系结构,涵盖计算机系统结构的基本概念、硬件和软件的等效性、计算机系统结构、计算机组成与计算机实现之间的相互关系与影响、透明性概念等方面。 计算机系统结构的基本概念 ...

    计算机系统结构(概念汇总及问答题答案)

    这个压缩包文件包含的内容显然旨在帮助学生或学习者深入理解和掌握计算机系统的基本概念,同时也提供了对课后问题的解答。让我们逐一探讨这些知识点。 首先,"概念汇总"部分很可能是对计算机系统结构基础概念的全面...

    微机原理CH9 微型计算机中断系统.ppt

    一、中断概念 中断是一种机制,允许外设和 CPU 之间的通信。在 CPU 正常运行程序时,由于 CPU 的内部事件或外设请求,引起 CPU 暂时中断正在运行的程序,转去执行相应的外设(或内部事件)的服务程序,服务程序执行...

Global site tag (gtag.js) - Google Analytics