python并行编程学习之并行计算存储体系结构
基于指令和可被同时处理的存储单元的数目,计算机系统可以分为以下四种类目:
- 单指令,单数据单元(SISD)在该体系结构中,计算机是单处理器机器,一次只能用单一的指令来操作单一的数据流。在SISD中,机器指令按照顺序被处理。在一个计算机的时钟周期里,CPU执行三个操作,匹配、译指(decode,解码)和执行。
所谓匹配,指的是CPU从寄存器中读取需要进行操作处理的数据以及需要执行的指令;
所谓译指,是指CPU对指令的解码,使得计算机能够将指令转换为机器所能读懂的二进制码;
所谓执行,是指指令在数据上执行,所得的计算结果,存储到另一个寄存器中。
以上三个操作,不只是在SISD结构中存在,它们是所有计算机运行执行的基本操作。
在这种体系结构中,CPU按照顺序执行相应的程序,该架构主要包含三个部分,中心存储单元、CPU以及I/O系统,中心存储单元用于存储指令和程序数据;CPU用于从存储单元中获取数据和指令,并且 对指令进行译指,然后按照程序既定的顺序执行它。I/O系统则是用来输入和输出程序的数据。
- 单指令,多数据单元(SIMD)SIMD结构的计算机,由n个相同的处理器构成,每个处理器拥有其独有的存储单元,用于存储数据。所有处理器在单一指令流的控制下工作,另外,每个处理器处理相对应的一条数据流。每个处理器对不同的数据,同时执行同一条指令。这种架构比MISD架构功能更为全面和强大。在这种结构的计算机中,结合并行算法,适合解决涵盖多种功能的问题,此外,在这种计算机结构中,算法更容易设计、分析以及嵌入。唯一的限制是,需要将一个大问题分成多个子问题,要求每个子问题都是相同性质的,这样每个子问题才能通过相同的指令被同时处理。
- 多指令,单数据单元(MISD)在这个结构中,计算机拥有多个处理器核,每个处理器拥有其自己的控制单元,它们共享存储单元。在每个时钟周期中,每个处理器根据从自己的控制单元中读取的指令,同时处理从存储器中读取的数据。在这个结构下,并行性(指令层面的并行性)是通过对同一段数据执行多种操作而获得的。在这个结构中,能够解决的问题类型相当特殊,比如与数据加密有关的问题。
- 多指令,多数据单元(MIMD)。
python并行编程学习之并行计算存储体系结构的更多相关文章
- python并行编程学习之绪论
计算机科学的研究,不仅应该涵盖计算处理所基于的原理,还因该反映这些领域目前的知识状态.当今,计算机技术要求来自计算机科学所有分支的专业人员理解计算机处理的基础的关键,在于知道软件和硬件在所有层面上的交 ...
- python并行编程
一.编程思想 并行编程的思想:分而治之,有两种模型 1.MapReduce:将任务划分为可并行的多个子任务,每个子任务完成后合并得到结果 例子:统计不同形状的个数. 先通过map进行映射到多个子任务, ...
- 转:Python语言编程学习资料(电子书+视频教程)下载汇总
开发工具: Python语言集成开发环境 Wingware WingIDE Professional v3.2.12 Python语言集成开发环境 Wingware WingIDE Professio ...
- Python并行编程的几个要点
一.基于线程的并行编程 如何使用Python的线程模块 如何定义一个线程 如何探测一个线程 如何在一个子类中使用线程 Lock和RLock实现线程同步 信号实现线程同步 条件(condition)实现 ...
- Python并行编程(十四):异步编程
1.基本概念 除了顺序执行和并行执行的模型以外,还有异步模型,这是事件驱动模型的基础.异步活动的执行模型可以只有一个单一的主控制流,能在单核心系统和多核心系统中运行. 在并发执行的异步模型中,许多任务 ...
- Python并行编程(二):基于线程的并行
1.介绍 软件应用中使用最广泛的并行编程范例是多线程.通常一个应用有一个进程,分成多个独立的线程,并行运行.互相配合,执行不同类型的任务. 线程是独立的处理流程,可以和系统的其他线程并行或并发地执行. ...
- python面向对象编程学习
python面向对象编程 基本概念理解 面向对象编程--Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作 ...
- python 面向对象编程学习
1. 问题:将所有代码放入一个py文件:无法维护 方案:如果将代码才分放到多个py文件,好处: 1. 同一个名字的变量互相不影响 2.易于维护 3.引用模块: import module 2.包:解决 ...
- python 函数式编程学习笔记
函数基础 一个函数就是将一些语句集合在一起的部件,它们能够不止一次地在程序中运行.函数的主要作用: 最大化的代码重用和最小化代码冗余 流程的分解 一般地,函数讲的流程是:告诉你怎样去做某事,而不是让你 ...
随机推荐
- JAVA学习笔记--正则表达式
正则表达式是一种强大而灵活的文本处理工具.使用正则表达式,可以让我们以编程的方式构造复杂的文本,并对输入的字符串进行搜索. 一.基础正则表达式语法(表格来自J2SE6_API) 字符 x 字符 x \ ...
- 《机器学习实战》6.2小节,KKT条件代码理解
<机器学习实战>6.2小节 #这句是检测 当前样本点i 是否满足KKT条件的 if (alphas[i, :] < C and E_i * labelMat[i, :] < - ...
- Tensorflow、Pytorch、Keras的多GPU使用
Tensorflow.Pytorch.Keras的多GPU的并行操作 方法一 :使用深度学习工具提供的 API指定 1.1 Tesorflow tensroflow指定GPU的多卡并行的时候,也是可以 ...
- Scrum立会报告+燃尽图(十月十三日总第四次):前期宣传相关工作
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2194 Scrum立会master:刘欣 一.小组介绍 组长:付佳 组员: ...
- 【探路者】团队Alpha周贡献分数分配结果
经本组成员商议,根据老师提供的分数,(每人携带10分进入团队,[探路者]团队7人,共计35分). 本周每位同学携带10分进入组内,7人共计70分.分数公布如下: 吴雨丹 15分 贾雅杰 12分 蔺依铭 ...
- Android连接SQLServer详细教程(数据库+服务器+客户端)
摘星 标签: android连接sql http://blog.csdn.net/haoxingfeng/article/details/9111105
- 福大软工1816:Alpha事后诸葛
福大软工·第十一次作业-Alpha事后诸葛亮 组长博客链接 本次作业博客链接 项目Postmortem 模板 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描 ...
- 第13章 学习shell script
由于博客园中dollar符号有别的意义,所以文中的dollar符号使用¥表示 第一个script [root@localhost script]# cat -n sh01.sh #!/bin/bash ...
- cobbler-web 网络安装服务器套件 Cobbler(补鞋匠)
Cobbler作为一个预备工具,使部署RedHat/Centos/Fedora系统更容易,同时也支持Suse和Debian系统的部署. 它提供以下服务集成: * PXE服务支持 * DHCP服务管 ...
- 转 Maven常用仓库地址以及手动添加jar包到仓库
转自:http://blog.csdn.net/kqygww/article/details/12837783 共有的仓库 http://repository.sonatype.org/content ...