系统架构设计师

一、分值分布

系统架构设计师

计算机组成与体系结构

系统架构设计师

Flynn体系结构分类

计算机系统结构的分类方法之一,1966年M.J.Flynn提出了如下定义:
指令流(Instruction Stream):机器执行的指令序列。
数据流(Data Stream):指令调用的数据序列,包括输入数据和中间结果。
多倍性(Multiplicity):在系统最受限制的元件上同时处于同一执行阶段指令或数据执行的最大可能个数。

系统架构设计师
系统架构设计师
SISD:早期的计算机都是SISD机器,如冯诺.依曼架构,如IBM PC机,早期的巨型机和许多8位的家用机等。
SIMD:我们用的单核计算机基本上都属于SIMD机器。
MISD:只是作为理论模型出现,没有投入到实际应用之中。
MIMD:机器可以同时执行多个指令流,这些指令流分别对不同数据流进行操作。最新的多核计算平台就属于MIMD的范畴,例如Intel和AMD的双核处理器等都属于MIMD。

系统架构设计师

主要考点

阵列处理器(array processor)又称为并行处理机、SIMD计算机。其核心是一个由多个处理单元构成的阵列,用单一的控制部件来控制多个处理单元对各自的数据进行相同的运算和操作。

CISC与RISC

系统架构设计师

层次化存储结构

系统架构设计师

Cache命中率计算

系统架构设计师

局部性原理

系统架构设计师
时间局部性指的是,程序在运行时,最近刚刚被引用过的一个内存位置容易再次被引用,比如在调取一个函数的时候,前不久才调取过的本地参数容易再度被调取使用。
空间局部性指的是,最近引用过的内存位置以及其周边的内存位置容易再次被使用。空间局部性比较常见于循环中,比如在一个数列中,如果第3个元素在上一个循环中使用,则本次循环中极有可能会使用第4个元素。

主存分类

系统架构设计师
ROM,只读存储器,(顾名思义,只是读取调用,不能更改) 一旦储存资料就无法再将之改变或删除,也就是断电之后不会丢失。
RAM,随机存储器,存储单元的内容可按需随意取出或存入, 断电后数据就丢失。

主存的编址

编址的意思是把内存内存分成一个个块,按字节编址的意思就是按每块1B=8bit去分块。
系统架构设计师
1.先计算有多少个内存地址,并转换成10进制
(C7FFFH + 1) - AC000H = 1C000H = 12 * 16^3 + 1 * 16^4 = 28 * 16^3 = 7 * 2^2 * (24)3 = 7 * 2^14
在计算多少K,用幂运算计算才可以,硬算算不出来。
1K = 1024 = 2^10
7 * 2^14 / 2^10 = 7 * 2^4 = 112个。

2.内存地址编址(16bit) * 地址单元个数 = 内存容量总量 = 28 * 16K * 存储单元位数

总结

地址单元个数 = 内存容量 / 内存编址方式(字节或字)
内存容量 = 内存编址(16bit) * 地址单元个数

例: 设有一个1MB容量的存储器,字长32位,问:按字节编址,字编址的寻址范围以及各自的寻址范围大小?

1.如果按字节编址,则
1MB = 2^20B
1字节=1B=8bit
2^20B/1B = 2^20
地址范围为0~(220)-1,也就是说需要二十根地址线才能完成对1MB空间的编码,所以地址寄存器为20位,寻址范围大小为220=1M

2.如果按字编址,则
1MB=2^20B
1字=32bit=4B
2^20B/4B = 2^18
地址范围为0~218-1,也就是说我们至少要用18根地址线才能完成对1MB空间的编码。因此按字编址的寻址范围是218

也可以统一换成bit做运算
总容量1M = 2^20B = 2^20 * 8 bit
按字节编址
2^20 * 8 bit /8 bit
按字编址
2^20 * 8 bit /32 bit
按双字编址
2^20 * 8 bit /32*2 bit
算出来是2^n次方,就需要n根地址线。

磁盘结构与参数

系统架构设计师

系统架构设计师
旋转周期为33ms -> 读取每个物理块的时间为3ms
1.前十个为33+3,最后一个为3+3。
(33+3)10 + (3+3) = 366
2.(3+3)
11 = 66

系统配置与性能评价

性能指标

系统架构设计师

时钟频率f : 又称主频f,它是指CPU内部晶振的频率,常用单位为MHz,它反映了CPU的基本工作节拍,例如3.0GHz主频意思就是每秒晶振310001000*1000次。

时钟周期t : t=1/f; 主频的倒数,计算机中最小的时间单位,每次晶振所用的时间(3GHz主频的时钟周期就是1/3 000 000 000)。

机器周期 : m * t ; 也称为CPU周期,一条指令的执行过程划分为若干个阶段(如取指、译码、执行等),每一阶段所需要的时间称为机器周期,一个机器周期包含若干个(m个)时钟周期,也是时间单位。

指令周期 :m * t * n 执行一条指令所需要的时间(取指、译码、执行等所有机器周期的总和),一般包含若干个(n个)机器周期,也是时间单位。

CPI :(clock per instruction)= m * n; 平均每条指令的平均时钟周期个数。
指令周期 = CPI×时钟周期 = n×m×时钟周期 = n*m/主频f, 注意指令周期单位是s或者ns

IPC:(instruction per clock) 表示每(时钟)周期运行多少个指令.

MIPS = 每秒执行百万条指令数 = 1/(CPI×时钟周期×10的6次方)= 1/(指令周期×10的6次方) = 主频/(CPI×10的6次方) = 频率*IPC/10的6次方

MFLOPS 每秒百万浮点运算次数。代表了CPU处理浮点运算的能力。与MIPS不能相互转换

系统性能设计-阿姆达尔解决方案

系统架构设计师
系统架构设计师

性能评价方法

系统架构设计师
前三种只考虑CPU的运算能力,其中第三中考虑指令比例不同的问题。
PDR除了运算能力,还考虑数据存储交互的问题,考虑CPU+存储
CTP首先算出处理部件每个计算单元的有效计算率,再按不同字长加以调整,得出该计算单元的理论性能,所有组成该处理部件的计算单元的理论性能之和即为CTP。
基准程序法(即现在的跑分软件): 把应用程序中用得最多、最频繁的那部分核心程序作为评估计算机系统性能的标准程序,称为基准测试程序(benchmark)。基准程序法是目前一致承认的测试系统性能的较好方法。 考虑了诸如IVO结构、操作系统、编译程序的效率对系统性能的影响。
系统架构设计师

性能检测方法

系统架构设计师

操作系统基本原理

进程管理

进程的状态

系统架构设计师
五态模型新增了人为干预的挂起操作(例如听歌时突然有语音,在接听语音时人为挂起歌曲进程),运行、活跃就绪、活跃阻塞对应三态模型中的运行、就绪、等待。

前趋图

precedence graph
系统架构设计师

进程的同步与互斥

进程同步是一个操作系统级别的概念,是在多道程序的环境下,存在着不同的制约关系,为了协调这种互相制约的关系,实现资源共享和进程协作,从而避免进程之间的冲突,引入了进程同步。同步的反义是异步。

进程互斥是一个进程正在访问临界资源,另一个要访问该资源的进程必须等待。互斥的反义是共享。
系统架构设计师
消费者生产者问题
系统架构设计师
单缓冲区: 互斥:市场为互斥资源,只允许一个人去操作。同步:生产者放满了市场后需要等待消费者把市场里面的商品消费掉,生产者才能继续放入市场。

PV操作

系统架构设计师
信号量的值表示相应资源的使用情况。信号量S>=0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个资源,因此S的值减1;当S<0时,表示已经没有可用资源,S的绝对值表示当前等待该资源的进程数。
S大于0的确表示有临界资源可供使用,也就是说这个时候没有进程被阻塞在这个资源上,所以不需要唤醒。
系统架构设计师
S1:可生产数量信号量
S2:可消费数量信号量

系统架构设计师

上一篇:SAPUI5 Walkthrough Step 26: Remote OData Service


下一篇:git的分支管理介绍