Organization SYMMETRIC MULTIPROCESSORS
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION

Figure 17.4 depicts in general terms the organization of a multiprocessor system.
There are two or more processors. Each processor is self-contained, including a
control unit, ALU, registers, and, typically, one or more levels of cache. Each pro-
cessor has access to a shared main memory and the I/O devices through some form
of interconnection mechanism. The processors can communicate with each other
through memory (messages and status information left in common data areas). It
may also be possible for processors to exchange signals directly. The memory is
often organized so that multiple simultaneous accesses to separate blocks of mem-
ory are possible. In some configurations, each processor may also have its own pri-
vate main memory and I/O channels in addition to the shared resources.
The most common organization for personal computers, workstations, and
servers is the time-shared bus. The time-shared bus is the simplest mechanism for
constructing a multiprocessor system (Figure 17.5). The structure and interfaces are
basically the same as for a single-processor system that uses a bus interconnection.
The bus consists of control, address, and data lines. To facilitate DMA transfers
from I/O subsystems to processors, the following features are provided:
• Addressing: It must be possible to distinguish modules on the bus to deter-
mine the source and destination of data.
• Arbitration: Any I/O module can temporarily function as “master.” A mecha-
nism is provided to arbitrate competing requests for bus control, using some
sort of priority scheme.
• Time-sharing: When one module is controlling the bus, other modules are
locked out and must, if necessary, suspend operation until bus access is achieved.
hese uniprocessor features are directly usable in an SMP organization. In
this latter case, there are now multiple processors as well as multiple I/O processors
all attempting to gain access to one or more memory modules via the bus.

The bus organization has several attractive features:
• Simplicity: This is the simplest approach to multiprocessor organization. The
physical interface and the addressing, arbitration, and time-sharing logic of
each processor remain the same as in a single-processor system.
• Flexibility: It is generally easy to expand the system by attaching more proces-
sors to the bus.
• Reliability: The bus is essentially a passive medium, and the failure of any
attached device should not cause failure of the whole system.
The main drawback to the bus organization is performance. All memory ref-
erences pass through the common bus. Thus, the bus cycle time limits the speed
of the system. To improve performance, it is desirable to equip each processor
with a cache memory. This should reduce the number of bus accesses dramatically.
Typically, workstation and PC SMPs have two levels of cache, with the L1 cache
internal (same chip as the processor) and the L2 cache either internal or external.
Some processors now employ a L3 cache as well.
The use of caches introduces some new design considerations. Because each
local cache contains an image of a portion of memory, if a word is altered in one
cache, it could conceivably invalidate a word in another cache. To prevent this, the
other processors must be alerted that an update has taken place. This problem is
known as the cache coherence problem and is typically addressed in hardware rather
than by the operating system. We address this issue in Section 17.4.
Organization SYMMETRIC MULTIPROCESSORS的更多相关文章
- SYMMETRIC MULTIPROCESSORS
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION As demands for perfor ...
- Multiprocessor Operating System Design Considerations SYMMETRIC MULTIPROCESSORS
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION An SMP operating syst ...
- parallelism
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION Traditionally, the co ...
- Massively parallel supercomputer
A novel massively parallel supercomputer of hundreds of teraOPS-scale includes node architectures ba ...
- QEMU中smp,socket,cores,threads几个参数的理解
在用QEMU创建KVM guest的时候,为了指定guest cpu资源,用到了-smp, -sockets, -cores, -threads几个参数, #/usr/bin/qemu-system- ...
- c++多线程同步使用的对象
线程的同步 Critical section(临界区)用来实现“排他性占有”.适用范围是单一进程的各线程之间.它是: · 一个局部性对象,不是一个核心对象. · 快速而 ...
- 第4章 同步控制 Synchronization ----同步机制的摘要
同步机制摘要Critical Section Critical section(临界区)用来实现"排他性占有".适用范围是单一进程的各线程之间.它是: 一个局部性对象,不是一个核 ...
- 线程的同步控制(Synchronization)
临界区(Critical Sections) 摘要 临界区(Critical Section) 用来实现"排他性占有".适合范围时单一进程的各线程之间. 特点 一个局部对象,不是一 ...
- 分布式计算课程补充笔记 part 1
▶ 高性能计算机发展历程 真空管电子计算机,向量机(Vector Machine),并行向量处理机(Parallel Vector Processors,PVP),分布式并行机(Parallel Pr ...
随机推荐
- Spring预处理
当需要在某些Spring项目一启动,就执行某些操作时,需要实现改接口ApplicationListener,重写onApplicationEvent方法,将需要的预处理操作全部写在该方法中 当初始化完 ...
- jquery--常用的函数2
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- WEB API异常处理
当一个web api抛出一个异常后 此异常会被转化成一个HTTP响应 错误代码为500的服务错误 但是如果你不想让客户端看到500的错误码 你也可以自定义错误码 如下代码当用户输入的ID没有与之相关的 ...
- JS date常用代码积累
Date.prototype.Format = function(fmt) { var o = { "M+" : this.getMonth()+1, //月份 "d+& ...
- win8 app内存溢出检测工具PerfView.exe的使用
PerfView使用教程:https://msdn.microsoft.com/en-us/magazine/jj721593.aspx PerfView下载地址:https://www.micros ...
- MediaElement.js对不同浏览器的支持
目前已经有很多html5播放器可以使用,使用html5播放器可以轻松的在页面中插入媒体视频,从而使我们的web页面变得更加丰富多彩,所以今天向大家推荐一款非常优秀的html5播放器MediaEleme ...
- (转)EClipse插件推荐
http://www.importnew.com/4707.html 来自非营利性Eclipse基金会的Eclipse IDE以其插件生态系统著称.Eclipse市场拥有海量插件可供下载,你可以通过插 ...
- Yii2的urlManager URL美化
Yii1.*与Yii2中配置路由规则rules是几乎是一样的,但还是有细微的差别. 在Yii1.*中开启path路由规则直接使用 'urlFormat' => 'path', 但在Yii2中已经 ...
- myeclipse eclipse 使用git插件访问github 的解决方案
具体的步骤很多帖子都有写,这里不再赘述,需要说明的一点,git插件的版本很重要,在官网上下载的最新版本在MyEclipse8.5,MyEclipse9.1,MyEclipse10上面都没有成功. 这里 ...
- win10休眠选项在哪里设置?如何设置?
本人以前安装的Win7也是碰到这个问题 http://www.jb51.net/os/win10/373383.html 查询.打开休眠命令 1.右键开始菜单,选择命令提示符(管理员) 或 win+R ...