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 ...
随机推荐
- python之路十一
RabbitMQ基本概念RabbitMQ , 是一个使用 erlang 编写的 AMQP (高级消息队列协议) 的服务实现. 简单来说, 就是一个功能强大的消息队列服务.通常我们谈到队列服务, 会有三 ...
- Linux IO模式及 select、poll、epoll详解
linux的IO调度文章==> https://segmentfault.com/a/1190000003063859?hmsr=toutiao.io&utm_medium=toutia ...
- Bootstrap3 CSS样式基本用法总结
按钮 a,input,button都可以设置为按钮 a标签按钮 button标签按钮 <a class="btn btn-default" href="#&qu ...
- WCF X.509验证
1.证书的制作 makecert.exe -sr LocalMachine -ss My -a sha1 -n CN=ParkingServer -sky exchange -pe makecert. ...
- sha256 C语言
/** * \file sha2.h * * \brief SHA-224 and SHA-256 cryptographic hash function * * Copyright (C) 2006 ...
- 根据字体计算CGRect
UILabel *label = [[UILabel alloc]init]; label.numberOfLines = ;//多行显示 label.backgroundColor = [UICol ...
- ImageView属性
一.结构 java.lang.Object android.view.View android.widget.ImageView 已知直接子类: ImageButton, QuickContactBa ...
- 开放封闭原则(Open Closed Principle)
在面向对象的设计中有很多流行的思想,比如说 "所有的成员变量都应该设置为私有(Private)","要避免使用全局变量(Global Variables)",& ...
- CentOS7安装Oracle 11gR2 安装
概述 Oracle 在Linux和window上的安装不太一样,公司又是Linux系统上的Oracle,实在没辙,研究下Linux下Oracle的使用,oracle默认不支持CentOS系统安装,所以 ...
- 【Java EE 学习 35 下】【struts2】【struts2文件上传】【struts2自定义拦截器】【struts2手动验证】
一.struts2文件上传 1.上传文件的时候要求必须使得表单的enctype属性设置为multipart/form-data,把它的method属性设置为post 2.上传单个文件的时候需要在Act ...