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 函数式编程学习笔记
函数基础 一个函数就是将一些语句集合在一起的部件,它们能够不止一次地在程序中运行.函数的主要作用: 最大化的代码重用和最小化代码冗余 流程的分解 一般地,函数讲的流程是:告诉你怎样去做某事,而不是让你 ...
随机推荐
- 高可用Kubernetes集群-5. 部署flannel网络
七.部署flannel网络 kubernetes支持基于vxlan方式的flannel与weave网络,基于BGP路由的Calico网络,本节采用flannel网络. Flannel网络采用etcd等 ...
- windows下对python的pip更新到最新版本
1->打开windows的命令窗口. 2->进入到pip.exe所在的文件夹下,我安装的python在G:\python3.6文件夹下,pip.exe则在G:\python3.6\Scri ...
- 基于C#的机器学习--面部和动态检测-图像过滤器
在本章中,我们将展示两个独立的例子,一个用于人脸检测,另一个用于动态检测,以及如何快速地将这些功能添加到应用程序中. 在这一章中,我们将讨论: 面部检测 动态检测 将检测添加到应用程序中 面部检测 人 ...
- Python3实现机器学习经典算法(二)KNN实现简单OCR
一.前言 1.ocr概述 OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗.亮的模式确定其形状,然 ...
- 华为笔试——C++特定位数比较
题目:特定位数比较 题目介绍:输入两行数据,第一行为 m 个正整数,以空格隔开:第二行为正整数 n ,且 n<= m:要求对第一行的数字的后三位大小进行排序,输出排行 n 的数字,其中,若不满三 ...
- 深入react技术栈解读
1. react实现virtual DOM ,如果要改变页面的内容,还是需要执行DOM操作,比原生操作DOM多了virtualDOM的操作(计算,对比等), 应该是更耗性能??? 2. react特点 ...
- ES6的新特性(11)——Class 的继承
Class 的继承 简介 Class 可以通过extends关键字实现继承,这比 ES5 的通过修改原型链实现继承,要清晰和方便很多. class Point { } class ColorPoint ...
- Python Requests库简单入门
我对Python网络爬虫的学习主要是基于中国慕课网上嵩天老师的讲授,写博客的目的是为了更好触类旁通,并且作为学习笔记之后复习回顾. 1.引言 requests 库是一个简洁且简单的处理HTTP请求的第 ...
- 改进意见的答复及bug重现
各组对本组的互评链接如下 Thunder:http://www.cnblogs.com/vector121/p/7905300.html 王者荣耀交流协会:http://www.cnblogs.com ...
- 咱们的team1序章
之前都参加了好多组织,这是第一次参加变成组织.首先要介绍团队名称了,为什么叫“咱们的team”呢,因为,我们需要每个人都认真的参与进来,只有每个人都十分投入地参与进来,这个team才能称之为一个tea ...