Skip to main content

系统总线

系统总线英语System Bus),是一个单独的电脑总线,连接电脑系统中的主要元件。这个技术被开发用来降低成本和促进模组化。系统总线结合资料总线的功能来搭载资讯,位址总线来决定将资讯送往何处,控制总线来决定如何动作。虽然系统总线于1970年代至1980年代广受欢迎,但是现代的电脑却使用不同的分离总线来做更多特定需求用途。

背景

许多早期的电子式计算机都以1945年所公布的《EDVAC报告书的第一份草案》为基础。在此份报告中有着为人所熟知的范纽曼型架构,一个中央控制单元和算术逻辑单元被与电脑内存输入输出功能一起组合形成一个储存程式计算机[1]这份报告揭示了计算机的通用结构与理论模型,然而此一模型并未付诸实行。[2]很快的,有设计将控制单元与算术逻辑单元整合起来而成为后来为人所熟知的中央处理器
在1950年代到1960年代,计算机的建构特别的风行。举例来说,中央处理器、内存与输入输出单元的元件中,将其中的每个或多个元件用导线所连接。工程师们使用一般性标准化导线捆绑技术并延伸其观念而成为回路基板,进而将印刷电路板应用于早期的机器里。
"总线"这个名称早先就已经被使用于母线,它乘载并输送电力到电子机器的不同部分的元件,包含早期的机械式计算器。[3]
集成电路的出现极大的缩小了计算机元件的大小,而且总线也变得更标准化。标准化模组可以用更有秩序的方式来连接,也更容易开发与维护。

描述

为了提供更多低成本的模组化元件,内存与输入输出总线(和所需的控制与电力总线)有时会被组合成单独一体的系统总线。[4]电脑要小到可以塞进一个柜子中,模组化与成本就变得很重要(就如同顾客对于降价的期待)。迪吉多使用大量生产迷你电脑来进一步降低成本,将存储器映射输入输出放入内存总线,如此一来,装置就可以对应到内存中的位置。在大约1969年时,这被实现在PDP-11Unibus中,排除了分离式输入输出总线的需求。[5]即使电脑没有存储器映射输入输出,如PDP-8,也很快的与系统总线被实现出来,也允许模组被插入任意的插槽中。[6]一些作者声称这是新式流线型电脑架构的样式。[7]许多早期的微电脑(一般有着单独一颗集成电路型式的中央处理器)拥有单一的系统总线被建造出来,起始于大约1975年的Altair 8800电脑系统上的S-100总线[8] IBM PC在1981年使用工业标准结构总线为其系统总线。早期的被动式回路基板机型被标准放置中央处理器的主板所取代,在系统总线的插槽上,可选择性的插上子板或是扩充卡
使用系统总线的简单对称多处理
于1983年,Multibus成为电机电子工程师学会的标准规格:IEEE standard 796。[9]于1989年,升阳电脑开发SBus用来支援更小的扩充卡。[10]实现对称多处理的最容易的方式是插入更多的中央处理器于共享的系统总线上,这个方法被使用于1980年代。然而,共享总线很快的就变成瓶颈所在,并且有更多更复杂的连接技术被探索。[11]

双独立总线

CPU设计发展更快的区域总线和更慢的周边总线Intel采用双独立总线英语Dual Independent Bus,DIB)术语,使用外部的前端总线到主系统内存,和内部的后端总线于一个或多个中央处理器、CPU快取间。这个方式在1990年代中后期被使用于Pentium ProPentium II产品上。[12]
主要总线的作用是在中央处理器、主内存、输入输出装置间沟通资料,被称为前端总线,而后端总线则是用来存取第二阶快取。现代的个人及伺服电脑使用高效率的内部连接技术,如HyperTransportIntel QuickPath Interconnect,当系统总线架构继续使用于简单的嵌入式微处理器时。系统总线也可以单独成为一个集成电路而产生系统单芯片,例子有高级微控制器总线架构(AMBA),CoreConnectWishbone[13]

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...