コンピュータの構成とアーキテクチャ | 1.1コンピュータ・システム | 1.1.1コンピュータのハードウェアコンポーネント |
カテゴリーコンピュータアーキテクチャ1.1.2 | ||
複雑な命令セットRISCシステムと1.1.3システム | ||
1.1.4バス | ||
1.2メモリシステム | 1.2.1メインメモリ | |
1.2.2補助記憶装置 | ||
1.2.3キャッシュメモリ | ||
1.3パイプライン | 1.3.1パイプラインサイクル | |
1.3.2計算パイプラインの実行時間 | ||
1.3.3パイプラインのスループット | ||
1.3.4パイプラインのスピードアップ |
私たちは、コンピュータの基礎をなす原則のいくつかの知識を持っていない場合、システムは、ハードウェアとオペレーティングシステム上に構築され、セキュリティとパフォーマンスの問題の範囲を引き起こす可能性があります。
(1)コントローラ。
(2)オペレータ。
(3)メインメモリ。
(4)二次メモリ。
(5)入力装置。
(6)出力装置。
カテゴリーコンピュータアーキテクチャ1.1.2
1.保存されたプログラムの概念
「格納されたプログラム」の概念は、•最初に提案され、次のように1946年6月に、それは簡単に要約することができるフォン・ノイマン、次のとおりです。
(1)コンピュータ(ハードウェア手段)は、コンピューティングユニットの5つの基本的な構成要素、メモリ、コントローラ、入力デバイスと出力デバイスであるべきです。
内部(2)バイナリコンピュータ命令とデータを表現します。
(3)プログラムは、事前にプログラムされ、元のデータをメモリに記憶し、コンピュータの作業を再開します。
2.フリンの分類
(1)単一の命令ストリームを単一のデータストリーム(単一命令ストリームおよび単一のデータストリーム、SISD)。
(2)SIMD(単一命令ストリームと複数のデータストリーム、SIMD)。
(3)単一の命令ストリーム複数データストリーム(複数の命令ストリームおよび単一のデータストリーム、MISD)。
(4)MIMD(複数の命令ストリームと複数のデータストリーム、MIMD)。
1.1.3複雑な命令セット・システム(複雑命令セットコンピュータ、CISC)と縮小命令セットシステム(縮小命令セットコンピュータ、RISC)
1.1.4バス
总线是一组能为多个部件分时共享的公共信息传送线路。
按总线相对于 CPU 或其他芯片的位置可分为内部总线和外部总线两种。
按总线功能来划分,又可分为地址总线、数据总线、控制总线三类。
1.2 存储器系统
存储器是用来存放程序和数据的部件,它是一个记忆装置,也是计算机能够实现“存储程序控制”的基础。
在计算机系统中,规模较大的存储器往往分成若干级,称为存储器系统。
存储器中数据常用的存取方式有顺序存取、直接存取、随机存取和相联存取四种。
1.2.1 主存储器
根据工艺和技术不同,主存可分为随机存取存储器和只读存储器。
1.随机存取存储器
随机存取存储器(Random Access Memory,RAM)既可以写入也可以读出,但断电后信息无法保存,因此只能用于暂存数据。
2.只读存储器
只读存储器(Read Only Memory,ROM)可以看作 RAM 的一种特殊形式,其特点是:存储器的内容只能随机读出而不能写入。
1.2.2 辅助存储器
1.磁带存储器
2.硬盘存储器
在硬盘中,信息分布呈以下层次:记录面、圆柱面、磁道和扇区,如图1-2 所示。
故磁盘访问时间为:
磁盘访问时间(存取时间) = 寻道时间+旋转延迟时间
1.2.3 Cache存储器
Cache 通常采用相联存储器(ContentAddressable Memory,CAM)。
1.Cache 基本原理
使用 Cache 改善系统性能的依据是程序的局部性原理。
2.映射机制
当 CPU 发出访存请求后,存储器地址先被送到 Cache 控制器以确定所需数据是否已在 Cache 中,若命中则直接对 Cache 进行访问。这个过程称为 Cache 的地址映射(映像)。
常见的映射方法有直接映射、全相联映射和组相联映射。
3.替换算法
当Cache产生了一次访问未命中之后,相应的数据应同时读入CPU和Cache。但是当Cache已存满数据后,新数据必须替换(淘汰)Cache中的某些旧数据。最常用的替换算法有以下三种:
(1)随机算法。
(2)先进先出(First In and First Out,FIFO)算法。
(3)近期最少使用(Least Recently Used,LRU)算法。
4.写操作
因为需要保证缓存在 Cache 中的数据与内存中的内容一致,相对读操作而言,Cache 的写操作比较复杂,常用的有以下几种方法。
(1)写直达(write through)。
(2)写回(write back)。
(3)标记法。
1.3 流水线
流水线技术把一个任务分解为若干顺序执行的子任务,不同的子任务由不同的执行机构负责执行,而这些机构可以同时并行工作。在任一时刻,任一任务只占用其中一个执行机构,这样就可以实现多个任务的重叠执行,以提高工作效率。
1.3.1 流水线周期
流水线应用过程中,会将需要处理的工作分为 N 个阶段,最耗时的那一段所消耗的时间为流水线周期。如:使用流水线技术执行100条指令,每条指令取指2ms,分析4ms,执行1ms,则流水线周期为4ms。
1.3.2 计算流水线执行时间
延续上面的场景,将 1 个任务的执行过程可分成 N 个阶段,假设每个阶段完成时间为 t,则完成该任务所需的时间即为 Nt。若以传统的方式,则完成 k 个任务所需的时间是 kNt;而使用流水线技术执行,且花费的时间是Nt+(k-1)t。也就是说,除了第 1 个任务需要完整的时间外,其他都通过并行,节省下了大量的时间。所以流水线的执行时间可通俗的表达为:
流水线执行时间=第1条指令的执行时间+(n-1)*流水线周期
注:n 代表需要处理的任务数量。
1.3.3 流水线的吞吐率
流水线的吞吐率(Though Put rate,TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。有些文献也称为平均吞吐率、实际吞吐率。
1.3.4 流水线的加速比
完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比(speedup ratio)。