第11章 计算机系统 计算机系统概述 分类方法、计算机系统性能评测方法 2. 微机系统 3. 他体系结构处理机 第11章 计算机系统 计算机系统概述 分类方法、计算机系统性能评测方法 2. 微机系统 3. 他体系结构处理机 超标量处理机、超级流水线处理机、超长指令字处理机 向量处理机 阵列处理机 多处理机系统 数据流计算机 4. 嵌入式计算机系统
11.1 计算机系统概述 计算机系统分类 按“并行级”和“流水线”分类:汉德勒分类法- 在三个层次上按并行程度及流水线处理程度分类 弗林分类(Micheal Flynn ):按照指令流和数据流的数量进行分类。 单指令流单数据流(SISD)计算机系统 单指令流多数据流(SIMD)计算机系统 多指令流单数据流(MISD)计算机系统 多指令流多数据流(MIMD)计算机系统 随着计算机系统结构的发展,出现了各种复杂程度不同,运算速度、处理能力各异的计算机系统,同时也出现了对计算机系统进行分类的各种方法。目前常用的是1966年弗林(Michaael J.Flynn)根据指令流和数据流数量进行分类的方法。其中指令流是机器执行的指令序列,数据流是由指令流调用的数据序列。可将计算机系统分成下列四类。 从MIMD到SISD性能逐步下降。 参见“计算机系统结构”课程. 按流分类。缺点:对流水线处理机分类不明确 其他分类方法:库克,冯则云 按“并行级”和“流水线”分类:汉德勒分类法- 在三个层次上按并行程度及流水线处理程度分类 按“最大并行度”分类 :冯氏分类法——按照系统的最大并行程度进行分类。 按控制方式分类;按系统结构风格分类 ;
1.单指令流单数据流计算机系统 SISD -Single Instruction stream Single Data stream CU IS PU MM SISD SIMD CU IS PU1 MM1 PUn … MMm DS1 DSn 通常由一个处理器和一个存储器组成。典型的 SISD 计算机每次执行一条指令,每次从存储器取(或存)一个数据,为了提高运算速度,有些 SISD 计算机设置了指令流水线和运算操作流水线,有些还设置了多个功能部件和多体交叉存储器。 通常由一个指令控制部件、多个处理器和多个存储器组成。各处理器和各存储器之间通过互联网络进行通信。在程序运行时由指令控制部件向各个处理器“播送”同一条指令,所有“活动的”处理器在同一时刻执行同样的指令,这就是单指令流(各处理器可由程序分别设置成“活动的”或“不活动的”,“不活动的”处理器不执行指令规定的操作);各“活动的”处理器执行指令时所需的数据是从它本身专用的存储器存储器。中取的,所以各处理器所处理的数据是各不相同的,这就是多数据流。为各个处理器所专用的存储器又叫局部, 本地存储器,通信网络。阵列处理机属于此类。矩阵相乘应用等。 2. 单指令流多数据流计算机系统 SIMD -Single Instruction stream Multiple Data stream
3. 多指令流单数据流计算机系统 MISD - Multiple Instruction stream Single Data stream MIMD CU1 PU1 MM1 PUn … MMm DS1 DSn IS1 CUn ISn MISD 计算机系统在同一时刻执行多条指令,但处理同一个数据。大多数人认为能列在这一系统中的计算机很少或根本不存在。 典型的 MIMD 计算机系统由多台处理器(包括指令控制部件和处理器)和多个存储器组成,并有一个互联网络实现各处理器和各存储器之间的通信。每台处理器执行各自的指令,存取各自的数据(各不相同)。 多处理机(multiprocessors)或多计算机的系统通常是MIMD计算机 4. 多指令流单数据流计算机系统 MIMD - Multiple Instruction stream Multiple Data stream
开放系统和专有系统 专有系统:计算机软硬件都由一个公司设计,不向外提供技术说明。 开放系统:计算机体系结构、总线标准、软硬件设计规范都是开放的,符合国际标准。 遵循标准接口:硬件、软件 用户可从不同公司购买产品,保护软件投资 产生了大量第三方软件提供商 提高器件的性能。提高器件的性能一直是提高整机性能的重要途径,计算机的发展史就是按器件把计算机分为电子管、晶体管、集成电路和大规模集成电路这四代的。器件的每一次更新换代都使计算机的软硬件技术和计算机性能获得突破性进展。特别是大规模集成电路的发展,由于其集成度高、体积小、功耗低、可靠性高、价格便宜等特点,使人们可采用更复杂的系统结构造出性能更高、工作更可靠、价格更低的计算机。但是由于半导体器件的集成度越来越接近物理极限,机器速度的提高越来越馒。 改进器件工艺,减少芯片线宽,提高集成度与工作频率 改进系统的结构,开发系统的并行性。所谓并行包含同时性和并发性两个方面。前者是指两个或多个事件在同一时刻发生,后者是指两个或多个事件在同一时间段发生。也就是说,在同一时刻或同一时间段内完成两种或两种以上性质相同或不同的功能,只要在时间上互相重叠,就存在并行性。 三、流水线中的多发技术 流水线技术使计算机系统结构产生重大革新,为了进一步发展,除了采用好的指令调度算法、重新组织指令执行顺序、降低相关带来的干扰以及优化编译外,还可开发流水线中的多发技术,设法在一个时钟周期(机器主频的倒数)内,产生更多条指令的结果。常见的多发技术有超标量技术、超流水线技术和超长指令字技术。假设处理一条指令分四个阶段:,取指(FI)、译码(ID)、执行(EX)和回写(WR)。下图是三种多发技术与普通四级流水线的比较,其中(a)为普通四级流水线,一个时钟周期出一个结果。 一般流水处理机:一条流水线,一个多操作功能部件,每个时钟周期平均执行指令小于1 多操作部件处理机:多个独立的操作部件,可以采用或不流水。指令平行度小于1 超标量处理机:多条指令流水线,多个功能部件,指令并行度大于1 先进的超标机有定点处理部件CPU,浮点处理部件FPU,图形加速部件GPU,大量通用寄存器和两个一级高速Cache
提高计算机系统的速度的方法 MIPS、MFLOPS 改进工艺,提高集成度和工作频率 改进计算机体系结构 采用多个通用寄存器来暂存运算的中间结果 采用多体交叉存储器和cache CPU 和输入输出设备并行工作 操作重叠的流水线工作方式 提高器件的性能。提高器件的性能一直是提高整机性能的重要途径,计算机的发展史就是按器件把计算机分为电子管、晶体管、集成电路和大规模集成电路这四代的。器件的每一次更新换代都使计算机的软硬件技术和计算机性能获得突破性进展。特别是大规模集成电路的发展,由于其集成度高、体积小、功耗低、可靠性高、价格便宜等特点,使人们可采用更复杂的系统结构造出性能更高、工作更可靠、价格更低的计算机。但是由于半导体器件的集成度越来越接近物理极限,机器速度的提高越来越馒。 改进器件工艺,减少芯片线宽,提高集成度与工作频率 改进系统的结构,开发系统的并行性。所谓并行包含同时性和并发性两个方面。前者是指两个或多个事件在同一时刻发生,后者是指两个或多个事件在同一时间段发生。也就是说,在同一时刻或同一时间段内完成两种或两种以上性质相同或不同的功能,只要在时间上互相重叠,就存在并行性。 三、流水线中的多发技术 流水线技术使计算机系统结构产生重大革新,为了进一步发展,除了采用好的指令调度算法、重新组织指令执行顺序、降低相关带来的干扰以及优化编译外,还可开发流水线中的多发技术,设法在一个时钟周期(机器主频的倒数)内,产生更多条指令的结果。常见的多发技术有超标量技术、超流水线技术和超长指令字技术。假设处理一条指令分四个阶段:,取指(FI)、译码(ID)、执行(EX)和回写(WR)。下图是三种多发技术与普通四级流水线的比较,其中(a)为普通四级流水线,一个时钟周期出一个结果。 一般流水处理机:一条流水线,一个多操作功能部件,每个时钟周期平均执行指令小于1 多操作部件处理机:多个独立的操作部件,可以采用或不流水。指令平行度小于1 超标量处理机:多条指令流水线,多个功能部件,指令并行度大于1 先进的超标机有定点处理部件CPU,浮点处理部件FPU,图形加速部件GPU,大量通用寄存器和两个一级高速Cache 超标量处理机、超流水处理机、超长指令字处理机 向量处理机、阵列处理机、数据流机等
计算机系统性能评测方法 CPI:传统上通过CPI来评价计算机性能,但是其不能反映计算机系统的动态特性(指令频度、cache、流水线、)。 计算处理速率PDR:指令操作数平均位数除以指令平均执行时间。(偏重于cpu和内存) PDR=L/R L=0.85G+0.15H+0.4J+0.15K 定点、浮点指令位数, 定点、浮点操作数位数 R=0.85M+0.09N+0.06P 定点加法、浮点加法、浮点乘法平均时间 提高器件的性能。提高器件的性能一直是提高整机性能的重要途径,计算机的发展史就是按器件把计算机分为电子管、晶体管、集成电路和大规模集成电路这四代的。器件的每一次更新换代都使计算机的软硬件技术和计算机性能获得突破性进展。特别是大规模集成电路的发展,由于其集成度高、体积小、功耗低、可靠性高、价格便宜等特点,使人们可采用更复杂的系统结构造出性能更高、工作更可靠、价格更低的计算机。但是由于半导体器件的集成度越来越接近物理极限,机器速度的提高越来越馒。 改进器件工艺,减少芯片线宽,提高集成度与工作频率 改进系统的结构,开发系统的并行性。所谓并行包含同时性和并发性两个方面。前者是指两个或多个事件在同一时刻发生,后者是指两个或多个事件在同一时间段发生。也就是说,在同一时刻或同一时间段内完成两种或两种以上性质相同或不同的功能,只要在时间上互相重叠,就存在并行性。 三、流水线中的多发技术 流水线技术使计算机系统结构产生重大革新,为了进一步发展,除了采用好的指令调度算法、重新组织指令执行顺序、降低相关带来的干扰以及优化编译外,还可开发流水线中的多发技术,设法在一个时钟周期(机器主频的倒数)内,产生更多条指令的结果。常见的多发技术有超标量技术、超流水线技术和超长指令字技术。假设处理一条指令分四个阶段:,取指(FI)、译码(ID)、执行(EX)和回写(WR)。下图是三种多发技术与普通四级流水线的比较,其中(a)为普通四级流水线,一个时钟周期出一个结果。 一般流水处理机:一条流水线,一个多操作功能部件,每个时钟周期平均执行指令小于1 多操作部件处理机:多个独立的操作部件,可以采用或不流水。指令平行度小于1 超标量处理机:多条指令流水线,多个功能部件,指令并行度大于1 先进的超标机有定点处理部件CPU,浮点处理部件FPU,图形加速部件GPU,大量通用寄存器和两个一级高速Cache
计算机系统性能评测方法 核心程序法:代码短,cache命中率偏高 基准程序法:为了测试计算机系统某一部分性能而人为选择一组典型指令组成的,也可能是从实际应用中选一部分作为测试程序。 Dhrystone基准程序:测试编译器和cpu处理整数指令合控制功能的有效性。 Linpack基准程序:是一组测试密集线性代数方程组的程序包。 Spec测试程序 提高器件的性能。提高器件的性能一直是提高整机性能的重要途径,计算机的发展史就是按器件把计算机分为电子管、晶体管、集成电路和大规模集成电路这四代的。器件的每一次更新换代都使计算机的软硬件技术和计算机性能获得突破性进展。特别是大规模集成电路的发展,由于其集成度高、体积小、功耗低、可靠性高、价格便宜等特点,使人们可采用更复杂的系统结构造出性能更高、工作更可靠、价格更低的计算机。但是由于半导体器件的集成度越来越接近物理极限,机器速度的提高越来越馒。 改进器件工艺,减少芯片线宽,提高集成度与工作频率 改进系统的结构,开发系统的并行性。所谓并行包含同时性和并发性两个方面。前者是指两个或多个事件在同一时刻发生,后者是指两个或多个事件在同一时间段发生。也就是说,在同一时刻或同一时间段内完成两种或两种以上性质相同或不同的功能,只要在时间上互相重叠,就存在并行性。 三、流水线中的多发技术 流水线技术使计算机系统结构产生重大革新,为了进一步发展,除了采用好的指令调度算法、重新组织指令执行顺序、降低相关带来的干扰以及优化编译外,还可开发流水线中的多发技术,设法在一个时钟周期(机器主频的倒数)内,产生更多条指令的结果。常见的多发技术有超标量技术、超流水线技术和超长指令字技术。假设处理一条指令分四个阶段:,取指(FI)、译码(ID)、执行(EX)和回写(WR)。下图是三种多发技术与普通四级流水线的比较,其中(a)为普通四级流水线,一个时钟周期出一个结果。 一般流水处理机:一条流水线,一个多操作功能部件,每个时钟周期平均执行指令小于1 多操作部件处理机:多个独立的操作部件,可以采用或不流水。指令平行度小于1 超标量处理机:多条指令流水线,多个功能部件,指令并行度大于1 先进的超标机有定点处理部件CPU,浮点处理部件FPU,图形加速部件GPU,大量通用寄存器和两个一级高速Cache
计算机系统性能评测方法 基准程序法:SPEC 美国标准性能评价协会制定了一组基准程序,全部取自实际程序。有SPEC89、 SPEC92、 SPEC95、 SPEC2000。 SPEC95重点评测cpu、存储系统、编译器的性能。在SUN SPARC station 10/40机器上预先运行SPEC程序作为基准,然后在其他机器上运行同一程序,并对二者做比较。 提高器件的性能。提高器件的性能一直是提高整机性能的重要途径,计算机的发展史就是按器件把计算机分为电子管、晶体管、集成电路和大规模集成电路这四代的。器件的每一次更新换代都使计算机的软硬件技术和计算机性能获得突破性进展。特别是大规模集成电路的发展,由于其集成度高、体积小、功耗低、可靠性高、价格便宜等特点,使人们可采用更复杂的系统结构造出性能更高、工作更可靠、价格更低的计算机。但是由于半导体器件的集成度越来越接近物理极限,机器速度的提高越来越馒。 改进器件工艺,减少芯片线宽,提高集成度与工作频率 改进系统的结构,开发系统的并行性。所谓并行包含同时性和并发性两个方面。前者是指两个或多个事件在同一时刻发生,后者是指两个或多个事件在同一时间段发生。也就是说,在同一时刻或同一时间段内完成两种或两种以上性质相同或不同的功能,只要在时间上互相重叠,就存在并行性。 三、流水线中的多发技术 流水线技术使计算机系统结构产生重大革新,为了进一步发展,除了采用好的指令调度算法、重新组织指令执行顺序、降低相关带来的干扰以及优化编译外,还可开发流水线中的多发技术,设法在一个时钟周期(机器主频的倒数)内,产生更多条指令的结果。常见的多发技术有超标量技术、超流水线技术和超长指令字技术。假设处理一条指令分四个阶段:,取指(FI)、译码(ID)、执行(EX)和回写(WR)。下图是三种多发技术与普通四级流水线的比较,其中(a)为普通四级流水线,一个时钟周期出一个结果。 一般流水处理机:一条流水线,一个多操作功能部件,每个时钟周期平均执行指令小于1 多操作部件处理机:多个独立的操作部件,可以采用或不流水。指令平行度小于1 超标量处理机:多条指令流水线,多个功能部件,指令并行度大于1 先进的超标机有定点处理部件CPU,浮点处理部件FPU,图形加速部件GPU,大量通用寄存器和两个一级高速Cache
计算机系统性能评测方法 事务处理测试程序 行业基准测试 提高器件的性能。提高器件的性能一直是提高整机性能的重要途径,计算机的发展史就是按器件把计算机分为电子管、晶体管、集成电路和大规模集成电路这四代的。器件的每一次更新换代都使计算机的软硬件技术和计算机性能获得突破性进展。特别是大规模集成电路的发展,由于其集成度高、体积小、功耗低、可靠性高、价格便宜等特点,使人们可采用更复杂的系统结构造出性能更高、工作更可靠、价格更低的计算机。但是由于半导体器件的集成度越来越接近物理极限,机器速度的提高越来越馒。 改进器件工艺,减少芯片线宽,提高集成度与工作频率 改进系统的结构,开发系统的并行性。所谓并行包含同时性和并发性两个方面。前者是指两个或多个事件在同一时刻发生,后者是指两个或多个事件在同一时间段发生。也就是说,在同一时刻或同一时间段内完成两种或两种以上性质相同或不同的功能,只要在时间上互相重叠,就存在并行性。 三、流水线中的多发技术 流水线技术使计算机系统结构产生重大革新,为了进一步发展,除了采用好的指令调度算法、重新组织指令执行顺序、降低相关带来的干扰以及优化编译外,还可开发流水线中的多发技术,设法在一个时钟周期(机器主频的倒数)内,产生更多条指令的结果。常见的多发技术有超标量技术、超流水线技术和超长指令字技术。假设处理一条指令分四个阶段:,取指(FI)、译码(ID)、执行(EX)和回写(WR)。下图是三种多发技术与普通四级流水线的比较,其中(a)为普通四级流水线,一个时钟周期出一个结果。 一般流水处理机:一条流水线,一个多操作功能部件,每个时钟周期平均执行指令小于1 多操作部件处理机:多个独立的操作部件,可以采用或不流水。指令平行度小于1 超标量处理机:多条指令流水线,多个功能部件,指令并行度大于1 先进的超标机有定点处理部件CPU,浮点处理部件FPU,图形加速部件GPU,大量通用寄存器和两个一级高速Cache
11.2 微机系统 微机系统的性能 内存总线、地址总线、数据总线 浮点处理器 Cache MMX技术:数据类型、寄存器、指令 多核技术 微机的主板结构 RISC(reduced instruction set computer):精简指令集计算机-CISC(complex instruction set computer) 取地,译码,执行,写回四级流水 在超级标量处理机中,配置了多个功能部件和指令译码电路,采取了多条流水线,还有多个寄存器端口和总线,因此可以同时执行多个操作,以并行处理来提高机器速度。它可以同时从存储器中取出几条指令,并对这几条指令进行译码,把能够并行执行的指令同时送入不同的功能部件。例如,Intel 80960A配置3条流水线,分别执行整数运算、转移处理和访存操作,能同时对四条指令进行译码,但最多将3条能并行执行的指令分别送入3条流水线。 超级标量机的硬件是不能重新安排指令的前后次序的,但可以在编译程序时采取优化的办法对指令的执行次序进行精心安排,把能并行执行的指令搭配起来。超级标量处理机能与同一系列的原有机器保持指令兼容。
改进制程:降低电压、发热量,提高主频、集成度 笔记本的结构特点 笔记本的结构:一体化vs模块化 散热:降低发热量、通风措施 显示器:轻薄型平面显示器 外设:PCMCIA接口 键盘:超薄键盘 无线局域网和蓝牙技术 无线局域网WLAN:802.11 GPRS Bluetooth:1Mbps、10cm-10m 电池技术:锂电池、记忆效应 改进制程:降低电压、发热量,提高主频、集成度 RISC(reduced instruction set computer):精简指令集计算机-CISC(complex instruction set computer) 取地,译码,执行,写回四级流水 在超级标量处理机中,配置了多个功能部件和指令译码电路,采取了多条流水线,还有多个寄存器端口和总线,因此可以同时执行多个操作,以并行处理来提高机器速度。它可以同时从存储器中取出几条指令,并对这几条指令进行译码,把能够并行执行的指令同时送入不同的功能部件。例如,Intel 80960A配置3条流水线,分别执行整数运算、转移处理和访存操作,能同时对四条指令进行译码,但最多将3条能并行执行的指令分别送入3条流水线。 超级标量机的硬件是不能重新安排指令的前后次序的,但可以在编译程序时采取优化的办法对指令的执行次序进行精心安排,把能并行执行的指令搭配起来。超级标量处理机能与同一系列的原有机器保持指令兼容。
主要基于ARM芯片,具有存储器、显示部件、电池 一般具有WLAN、蓝牙、GSM/GPRS/CDMA等无线功能 PDA 商务、消费 主要基于ARM芯片,具有存储器、显示部件、电池 一般具有WLAN、蓝牙、GSM/GPRS/CDMA等无线功能 具有笔记本的某些标准接口:usb、ieee1394、蓝牙 RISC(reduced instruction set computer):精简指令集计算机-CISC(complex instruction set computer) 取地,译码,执行,写回四级流水 在超级标量处理机中,配置了多个功能部件和指令译码电路,采取了多条流水线,还有多个寄存器端口和总线,因此可以同时执行多个操作,以并行处理来提高机器速度。它可以同时从存储器中取出几条指令,并对这几条指令进行译码,把能够并行执行的指令同时送入不同的功能部件。例如,Intel 80960A配置3条流水线,分别执行整数运算、转移处理和访存操作,能同时对四条指令进行译码,但最多将3条能并行执行的指令分别送入3条流水线。 超级标量机的硬件是不能重新安排指令的前后次序的,但可以在编译程序时采取优化的办法对指令的执行次序进行精心安排,把能并行执行的指令搭配起来。超级标量处理机能与同一系列的原有机器保持指令兼容。
应用处理器、文本显示、多媒体播放、外设接口管理、液晶显示、蓝牙、红外、摄像头USB、CF卡 智能手机 普通手机:主板、显示器、sim卡、键盘 应用处理器、文本显示、多媒体播放、外设接口管理、液晶显示、蓝牙、红外、摄像头USB、CF卡 操作系统:Palm OS、Windows CE、 Symbian、 linux等 一般采用ARM 芯片 RISC(reduced instruction set computer):精简指令集计算机-CISC(complex instruction set computer) 取地,译码,执行,写回四级流水 在超级标量处理机中,配置了多个功能部件和指令译码电路,采取了多条流水线,还有多个寄存器端口和总线,因此可以同时执行多个操作,以并行处理来提高机器速度。它可以同时从存储器中取出几条指令,并对这几条指令进行译码,把能够并行执行的指令同时送入不同的功能部件。例如,Intel 80960A配置3条流水线,分别执行整数运算、转移处理和访存操作,能同时对四条指令进行译码,但最多将3条能并行执行的指令分别送入3条流水线。 超级标量机的硬件是不能重新安排指令的前后次序的,但可以在编译程序时采取优化的办法对指令的执行次序进行精心安排,把能并行执行的指令搭配起来。超级标量处理机能与同一系列的原有机器保持指令兼容。
11.3 嵌入式系统 嵌入式系统概述 嵌入式系统组成 嵌入式系统的应用 嵌入式系统的学习方法 硬件:处理器、外围电路 软件:操作系统、应用软件 嵌入式系统的应用 嵌入式系统的学习方法
1。嵌入式系统概述 以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
嵌入式系统的分类 非实时:PDA 软实时:航空定票系统 硬实时:工业控制系统
嵌入式系统的特点 硬件简单、系统内核小 专用性强 系统精简、软件界限模糊 实时性 软件开发逐渐走向标准性 交叉开发环境
2。 嵌入式系统的组成 A。硬件组成:
嵌入式处理器 微控制器MCU 内部集成ROM、RAM、FLASH、串口、定时器、看门狗、AD、DA。常用在工业控制领域。典型产品是intel 51系列、atmel avr系列。 数字信号处理器DSP 适合进行数字滤波、FFT、谱分析等运算,常用在音频、视频、图象处理领域。典型产品是TI公司的TMS320系列。
嵌入式处理器 微处理器MPU 片上系统SOC 由微处理器演变而来,去掉了多余部分。常用的有80186、68K、MIPS、power PC、ARM 片上系统SOC 由各种功能模块组成,例如处理器模块、GPRS、GSM、usb、TCP/IP、1394、蓝牙
ARM嵌入式处理器 ARM公司是全球领先的嵌入式16/32位RISK处理器知识产权设计供应商。 小体积、高性能、低功耗、低成本 16/32位双指令集 全球众多合作伙伴
ARM处理器分类 ARM处理器分类: 指令集分类: 软件学院嵌入式设备 ARM7、ARM9、ARM9E、ARM10、ARM10E、ARM11、StrongARM、SecurCore 指令集分类: v4、v5、v6 软件学院嵌入式设备 S3C44B0X、S3C2410
B。嵌入式系统的软件
嵌入式操作系统的分类 顺序、分时、实时 常见嵌入式操作系统 商用、免费 软实时:嵌入式linux、wince 硬实时:vxworks、OSE、Nuclear 开源操作系统:uC/OS II、linux、RTEMS 自主知识产权:Hopen、delta OS 商用、免费
嵌入式系统软件设计 交叉开发环境 嵌入式工具链(以linux为例) vi、gcc/g++、gdb、make、rcs/cvs
嵌入式工程师应具备的能力 解决交叉学科的能力:嵌入式系统大多是交叉学科综合运用的结果 系统集成能力:最大限度的利用他人成果 多种编程语言能力:汇编、c/c++、java 掌握市场应用导向:市场分析、自身设计能力、成本、人机界面 丽娜
3。嵌入式系统的应用 丽娜
4。嵌入式系统的学习步骤 数字电路、模拟电路(最好能看看) 计算机组成原理(重要基础) 单片机技术与接口(51系列八位微控制器) Linux操作系统 ARM体系结构 嵌入式操作系统:uC/OS II、uClinux、wince 嵌入式程序设计 J2ME
11.4 其他体系结构处理机 1. 超标量(superscalar)处理机 多条流水、多功能部件、多操作并行进行,由编译器负责优化指令次序 RISC(reduced instruction set computer):精简指令集计算机-CISC(complex instruction set computer) 取地,译码,执行,写回四级流水 在超级标量处理机中,配置了多个功能部件和指令译码电路,采取了多条流水线,还有多个寄存器端口和总线,因此可以同时执行多个操作,以并行处理来提高机器速度。它可以同时从存储器中取出几条指令,并对这几条指令进行译码,把能够并行执行的指令同时送入不同的功能部件。例如,Intel 80960A配置3条流水线,分别执行整数运算、转移处理和访存操作,能同时对四条指令进行译码,但最多将3条能并行执行的指令分别送入3条流水线。 超级标量机的硬件是不能重新安排指令的前后次序的,但可以在编译程序时采取优化的办法对指令的执行次序进行精心安排,把能并行执行的指令搭配起来。超级标量处理机能与同一系列的原有机器保持指令兼容。 多条流水、多功能部件、多操作并行进行,由编译器负责优化指令次序
2.超级流水线(super pipeline)处理机 周期较短、 编译优化 超级流水线处理机的周期比其他机器短,在图11.3(d)所示的流水线中,周期缩短到1/3。执行一个操作需要3个周期,每个周期对一条指令进行译码。与超级标量计算机一样,硬件不能调整指令的执行顺序,而由编译程序解决优化问题,因此这类机器可与同一系列的原有机器的指令系统保持兼容。超级流水线结构的CPU很少。 超流水线(Super pipe lining) 技术是将一些流水线寄存器插入到流水线段中,好比将流水线再分道,如上图 (c)所示。图中将原来的一个时钟周期又分成三段,使超级流水线的处理器周期比一般流水线的处理器周期短,这样,在原来的时钟周期内,功能部件被使用三次,使流水线以3倍于原来时钟频率的速度运行。 与超标量计算机一样,硬件不能调整指令的执行顺序,靠编译程序解决优化问题。 VLIW是一种单指令流多操作码多数据的系统结构,由编译程序在编译时,把多个能并行执行的操作组合在一起,成为一条有多个操作段的超长指令,由这条超长指令控制VLIW机中多个互相独立工作的功能部件,每个操作段控制一个功能部件,相当于同时执行多条指令。 超长指令字(VLIW)技术和超标量技术都是采用多条指令在多个处理部件中并行处理的体系结构,在一个时钟周期内能流出多条指令。但超标量的指令来自同一标准的指令流,VLIW则是由编译程序在编译时挖掘出指令间潜在的并行性后,把多条能并行操作的指令组合成一条具有多个操作码字段的超长指令(指令字长可达几百位),由这条超长指令控制VLIW机中多个独立工作的功能部件,由每一个操作码字段控制一个功能部件,相当于同时执行多条指令,如上图(d)所示。 VLIW较超标量具有更高的并行处理能力,但对优化编译器的要求更高,对Cache的容量要求更大。 3.超长指令字(VLIW)处理机 单指令流多操作码多数据的系统结构
4. 向量处理机 应用于科研和工程领域 巨大数组高精度计算 进行向量处理 多个存储模块 分类: 巨型机:通用、标量、向量、数据处理 4. 向量处理机 应用于科研和工程领域 巨大数组高精度计算 进行向量处理 多个存储模块 分类: 巨型机:通用、标量、向量、数据处理 向量协处理机:只能进行向量计算,不独立 在科学研究和工程设计中的很多应用领域,如空气动力学、气象学、天体物理学、原子物理和地震学等,需要对巨大的数组进行高精度计算,为此发展了向量处理机。向量数据是一个含有N个元素的有序数组,N称为“向量的长度”,向量中的每一个元素是一个标量,它可以是浮点数、定点数、逻辑值或字符。因此,向量处理机是一种具有向量数据表示,并设置相应的硬件能对向量的各个元素进行并行处理的处理机。 向量处理:对这样一组N个相互独立的数 的运算称向量处理,其效率比标量指令处理高的多。一条指令可以处理N个或N对操作数 向量处理机有巨型计算机和向量协处理机两种类型。巨型计算机能对巨大的数组进行浮点运算,同时它还是一种可以进行标量计算和一般数据处理的通用计算机。向量协处理机专门用于向量计算,它不是一台独立的计算机,需要联到另外一台通用计算机上。
Example 横向处理 向量处理方法:横向处理;纵向处理; 横纵处理-分组处理 避免流水功能的切换和数据相关
Example 横向处理 纵向处理 向量处理方法:横向处理;纵向处理; 横纵处理-分组处理 避免流水功能的切换和数据相关
在主机上连接专门处理浮点和向量运算的数组处理机。在这种系统中,主机管理整个系统,控制全部输入输出操作。 向量协处理机 主机管理控制系统,连接专用浮点和向量处理机 向量处理机包含以下部分: 流水线和多功能部件; 多个存储器; 多个缓冲寄存器; 并行的数据通路,设置有多套可同时工作的内部总线; 2. 向量协处理机 在主机上连接专门处理浮点和向量运算的数组处理机。在这种系统中,主机管理整个系统,控制全部输入输出操作。 数组处理机为了提高运算速度,除了采用高速器件以外,在系统硬件结构上还可采取下列并行工作的措施: (1) 流水线和多功能部件; (2) 多个存储器; (3) 多个缓冲寄存器; (4) 并行的数据通路,设置有多套可同时工作的内部总线;
高度并行的计算机系统 SIMD并行处理机 MIMD多处理机 多处理机由网络互连 数据流计算机 非顺序执行指令 即阵列处理机,多EU单CU MIMD多处理机 多处理机由网络互连 数据流计算机 非顺序执行指令 并行处理机定义: 多个PU按照一定方式互连,在同一个CU控制下,对各自的数据完成同一条指令规定的操作。 从CU看,指令是串行执行的,从PU看,数据是并行处理的。 并行处理机也称为阵列处理机。按照佛林分类法,它属于SIMD计算机。 并行处理机的应用领域:主要用于高速向量或矩阵运算中。 多处理机: 两个或两个以上处理机(包括PU和CU),通过高速互连网络连接起来,在统一的操作系统管理下,实现指令以上级(任务级、作业级)并行。按照Flynn分类法,多处理机系统属于MIMD计算机。 多处理机系统由多个独立的处理机组成,每个处理机都能够独立执行自己的程序。 数据流计算机:冯-控制流计算机法 由美国MIT实验室的Jack Dennis及其助手于1992年首先提出模型,并证明其技术的优越和可行性。它的工作原理与传统冯·诺依曼计算机根本不同,它的指令不是在中央控制器控制下顺序执行,而是在数据的可用性控制下并行执行,任何指令只要它所需的数据全部齐备且可用时都可同时执行,有人把这种称为被动控制,即计算机设有控制的主动权,而是在数据准备好后才执行指令完成控制功能。
H·J·Siegel提出的并行处理机模型 阵列处理机系统 SIMD 并行处理机系统 P0 M0 PE0 P1 M1 PE1 P2 M2 PE2 Pn-1 Mn-1 Pen-1 互连网络 控制器 …… H·J·Siegel提出的并行处理机模型 阵列处理机是以大量相同的处理单元按规则的几何形状排列成阵列而得名的,由在同一控制器CU控制下的多个处理单元PE组成。PE是不带指令控制部件的运算单元。在CU控制下,各PE对各自的数据并行地执行同一条指令所规定的操作。 阵列处理机的指令也是顺序执行的,指令分成两类:一类是通常的标量指令,由CU执行;另一类是并行处理指令,CU把它同时传送到所有的处理单元,那些处于“活动”状态的处理单元并行地执行指令,至于哪些处理机处于“活动”状态可事先指定,也可由本条指令规定。 在PE之间设置互连网络ICN,规定了各PE之间的连接方式,是传送数据的通路。系统中还设置有一个管理机SC,完成系统控制以及I/O操作。 根据存储器的不同组成形式,有分布存储器与共享存储器两种阵列处理机结构,分别如图11.8(a)和图11.8(b)所示。
两种SIMD计算机的基本结构: CU:控制器 PE:处理器 PEM:局部存储器 SC:管理机 ICN:互联网络 标量指令由CU执行 分布存储器并行处理机,共享存储器并行处理机 一台并行处理机由五个部分组成: 多个处理单元PE、多个存储器模块M、一个控制器CU、一个互连网络ICN、一台输入输出处理机IOP 目前的大部分并行处理机是基于分布式存储器模型的系统。 比较容易构成MPP(Massively Parallel Processor),几十万个PE。 必须依靠并行算法来提高PE的利用率。因此,应用领域很有限。 CU是控制部件,执行标量指令,并把向量指令广播到各个PE中。在CU中通常有一个较大容量的存储器。 IOP是输入输出处理机,或称为主机。在IOP上安装操作系统,它除了负担输入输出工作外,还负责程序的编辑、编译和调试等工作。 数据在局部存储器中的分布是一个很关键的问题。 标量指令与向量指令可以并发执行。 共享的多体并行存储器 SM 通过互连网络与各处理单元PE相连。 存储模块的数目等于或略大于处理单元的数目。 同时在存储模块之间合理分配数据,通过灵活、高速的互连网络,使存储器与处理单元之间的数据传送在大多数向量运算中都能以存储器的最高频率进行,而最少受存储冲突的影响。 共享存储器模型的处理单元数目一般不多,几个至几十个。 Burroughs Scientific Processor (BSP)采用了这种结构。16个PE通过一个16×17的对准互连网络访问17个共享存储器模块。 存储器模块数与PE数互质可以实现无冲突并行访问存储器。
并行处理机的主要特点 资源重复-多处理单元,速度快 连接模式-ICN,改变互联网络模式可以改变系统结构,对应了不同算法 复合性-多个处理单元、高性能控制部件、高性能管理机三部分复合而成。 专用性-向量数组处理 资源重复。 它机利用众多的处理单元对向量所包含的各个分量同时进行运算,获得很高处理速度。SIMD依靠的是资源重复,而不是时间重叠。它依靠增加PE个数,与流水线处理机主要依靠缩短时钟周期相比,其提高速度的潜力要大得多。 连接模式。 它的处理单元间是通过ICN来通信的。不同的连接模式确定了它的不同结构。依赖于互连网络和并行算法。互连网络决定了PE之间的连接模式,也决定了并行处理机能够适应的算法。 专用性。 它直接与一定的算法相联系,其效率取决于在多大程度上把计算问题归结为向量数组处理。 SIMD基本上是一台向量处理专用计算机。尽管它有一个功能很强的控制部件实际上起作标量处理机的作用,但仍然必须和一台高性能单处理机配合工作,使后者担负系统的全部管理功能。 复合性。整个系统是由三部分复合起来的一个多机系统,即多个处理单元组成阵列并行地处理向量;功能极强的控制部件实际上是一台标量处理机;系统的管理功能则由高性能单处理机担负。 速度快,特别适于高速数值计算。 需要有一台高性能的标量处理机。如果一台机器的向量处理速度极高,但标量处理速度只是每秒一百万次,那么对于标量运算占10%的题目来说,总的有效速度就不过是每秒一千万次。 重复设置许多个同样的处理单元PE(Process Element);由ICN(Inter Connection Network)按照一定的方式相互连接; 在统一的控制部件CU(Control Unit)作用下;各PE对分配来的数据并行地完成同一条指令所规定的操作。
多处理机系统 多处理机作定义: 包含两个或两个以上功能大致相同的处理器; 所有处理器共享公共内存; 所有处理器共享I/O通道、控制器和外围设备; 整个系统由统一的操作系统控制,在处理器和程序之间实现作业、任务、程序段、数组和数组元素等各级的全面并行。 P.H.Enslow对
每个处理机都有自己的 存储器和I/O的 多处理机系统 访存冲突少,便于扩充,速度快,编程困难 ICN M 处理机1 I/O M 处理机2 I/O 处理机N M 处理机1 M I/O 处理机2 处理机N ICN 具有通过互连网络 共享存储器和I/O的 多处理机系统 系统资源管理方便 速度受到ICN限制
多处理机系统的特点 多处理机的优点 结构灵活性 程序并行性 进程同步 资源分配和进程调度 很高的性能价格比 很高的可靠性 很高的处理速度运算 很好的模块性 1、结构灵活性 并行处理机:专用,PE数很多(几千个),固定有限的通信 多处理机: 通用,几十个,高速灵活的通信 2、程序并行性 并行处理机的并行性存在于指令内部,识别比较容易。 多处理机的并行性存在于指令外部,在多个任务之间,识别难度较大。 3、并行任务派生 并行处理机把同种操作集中在一起,由指令直接启动各PE同时工作。 多处理机用专门的指令来表示并发关系,一个任务开始执行时能够派生出与它并行执行的另一些任务,如果任务数多于处理机数,多余的任务进入排队器等待。 4、进程同步 并行处理机仅一个CU,自然是同步的 多处理机执行不同的指令,工作进度不会也不必保持相同,先做完的要停下来等待。有数据相关和控制相关也要停下来等待,要采取特殊的同步措施来保持程序所要求的正确顺序。 5、资源分配和进程调度 并行处理机的PE是固定的,采用屏蔽手段改变实际参加操作的PE数目 多处理机执行并发任务,需用处理机的数目不固定,各个处理机进入或退出任务的时刻不相同,所需共享资源的品种、数量又随时变化 提出资源分配和进程调度问题,它对整个系统的效率有很大的影响。 很高的性能价格比 : 单处理机的性能价格比随其规模的增大而下降 很高的可靠性 :冗余度大、可维护性、可用性 很高的处理速度:多个处理器并行运算 很好的模块性:大量重复设置,结构灵活性、可扩充性、可重构性
多处理机系统的互联结构 总线结构 交叉开关 多端口存储器 1、结构灵活性 2、程序并行性 并行处理机:专用,PE数很多(几千个),固定有限的通信 多处理机: 通用,几十个,高速灵活的通信 2、程序并行性 并行处理机的并行性存在于指令内部,识别比较容易。 多处理机的并行性存在于指令外部,在多个任务之间,识别难度较大。 3、并行任务派生 并行处理机把同种操作集中在一起,由指令直接启动各PE同时工作。 多处理机用专门的指令来表示并发关系,一个任务开始执行时能够派生出与它并行执行的另一些任务,如果任务数多于处理机数,多余的任务进入排队器等待。 4、进程同步 并行处理机仅一个CU,自然是同步的 多处理机执行不同的指令,工作进度不会也不必保持相同,先做完的要停下来等待。有数据相关和控制相关也要停下来等待,要采取特殊的同步措施来保持程序所要求的正确顺序。 5、资源分配和进程调度 并行处理机的PE是固定的,采用屏蔽手段改变实际参加操作的PE数目 多处理机执行并发任务,需用处理机的数目不固定,各个处理机进入或退出任务的时刻不相同,所需共享资源的品种、数量又随时变化 提出资源分配和进程调度问题,它对整个系统的效率有很大的影响。 很高的性能价格比 : 单处理机的性能价格比随其规模的增大而下降 很高的可靠性 :冗余度大、可维护性、可用性 很高的处理速度:多个处理器并行运算 很好的模块性:大量重复设置,结构灵活性、可扩充性、可重构性
容错处理机 当硬件发生一定程度的故障或者偶然性差错时,仍能保证计算机继续运行。基于冗余技术。 双机系统:冷备份 双工系统:热备份 主机定期设置检查点,拷贝关键数据到备份机。 双工系统:热备份 双机同时运行,只有主机输出信息 1、结构灵活性 并行处理机:专用,PE数很多(几千个),固定有限的通信 多处理机: 通用,几十个,高速灵活的通信 2、程序并行性 并行处理机的并行性存在于指令内部,识别比较容易。 多处理机的并行性存在于指令外部,在多个任务之间,识别难度较大。 3、并行任务派生 并行处理机把同种操作集中在一起,由指令直接启动各PE同时工作。 多处理机用专门的指令来表示并发关系,一个任务开始执行时能够派生出与它并行执行的另一些任务,如果任务数多于处理机数,多余的任务进入排队器等待。 4、进程同步 并行处理机仅一个CU,自然是同步的 多处理机执行不同的指令,工作进度不会也不必保持相同,先做完的要停下来等待。有数据相关和控制相关也要停下来等待,要采取特殊的同步措施来保持程序所要求的正确顺序。 5、资源分配和进程调度 并行处理机的PE是固定的,采用屏蔽手段改变实际参加操作的PE数目 多处理机执行并发任务,需用处理机的数目不固定,各个处理机进入或退出任务的时刻不相同,所需共享资源的品种、数量又随时变化 提出资源分配和进程调度问题,它对整个系统的效率有很大的影响。 很高的性能价格比 : 单处理机的性能价格比随其规模的增大而下降 很高的可靠性 :冗余度大、可维护性、可用性 很高的处理速度:多个处理器并行运算 很好的模块性:大量重复设置,结构灵活性、可扩充性、可重构性
多处理机系统主要包括: 多向量处理机系统 如CRAY YMP-90, NEC SX-3和FUJITSU VP-2000 MPP (massively parallel processing)大规模并行处理机 如Intel Paragon, CM-5, Cray T3D SMP (Symmetry MultiProcessors)对称多处理机 (Shared Memory mulptiProcessors)共享存储多处理机 如SGI Challenge,Sun SparcCenter 2000 PVP向量型超级计算机,如国防科技大学研制的银河I(1亿次/秒)、银河II(10亿次/秒)。 MPP大规模并行处理超级计算机,如国防科技大学研制的银河III(130亿次/秒)、中国科学院计算机技术研究所研制的曙光1000(25亿次/秒)、中国江南计算机技术研究所研制的神威I(3840亿次/秒)。 Cluster集群计算机,中国科学院计算机技术研究所研制的曙光2000-II(1100亿次/秒)、 曙光3000(4030亿次/秒)、清华大学研制的THNPSC-1(320亿次/秒)、,上海大学研制的自强2000(4500亿次/秒)。 1979年,美国NASA-Goddard中心与Goodyear宇航公司合作研制一台用于处理遥感卫星图片的大规模SIMD阵列机获得成功。由于这台机器用了128*128=16384个可并行工作的微处理机,因此被定名为大规模并行处理机MPP(Massively Parallel Processor)。 COM (Cluster of workstation) 机群系统 NOW (Network of workstation)
世界上最大的多计算机系统 http://setiathome.berkeley.edu/index.php
阿雷西博射电望远镜 伯克利 波多黎各