精华内容
下载资源
问答
  • 本章通过跟踪hello程序的生命周期来开始对计算机系统进行学习。一个源程序从它被程序员创建开始,到在系统上运行,输出简单的消息,然后终止。我们将沿着这个程序的生命周期,简要地介绍一些逐步出现的关键概念、...

    本章通过跟踪hello程序的生命周期来开始对计算机系统进行学习。一个源程序从它被程序员创建开始,到在系统上运行,输出简单的消息,然后终止。我们将沿着这个程序的生命周期,简要地介绍一些逐步出现的关键概念、专业术语和组成部分。

      好久没有更新博客了,从国庆节到现在一直在整理秋招的一些资料,简历模版,嵌入式软件面试知识点总结,秋招笔试题目整理,面经总结复盘等。一共整理了将近400页,16W字。顺便把百度网盘的资料也整理了下,到10.16才整理完(需要资料的在主页有我联系方式)。不得不说,整理资料是真的磨人性。

      接下来的计划是补充下操作系统和计算机组成原理相关的知识。从《深入理解计算机系统》这本书开始吧,系统学习下《深入理解计算机系统》这本书,还有9个Lab可以做下,以便加深理解。初步计划一周一章(不知道行不行),争取在放寒假前做完这些。

      我会把看书过程中一些重要的知识点,概念的理解以及做实验的详细过程都放在博客深入理解计算机系统专栏中。欢迎关注我的博客以便第一时间获取文章更新的内容。

      下面就是本书第一章的一个简单总结。

    源程序是如何存储的

    #include <stdio.h>
    int main()
    {
    	printf("hello,world\n");
    	return 0;
    }
    

      以上程序是我们通过文本编辑器创建的文本文件,保存为hello.c。源程序实际上就是一个由值0和1组成的位(又称为比特)序列,8个位被组织成一组,称为字节。每个字节表示程序中的某些文本字符。现代计算机都使用ASCII标准来表示文本字符。hello.c程序的ASCII文本字符如下所示。

    image-20201019170810469

      hello.c程序是以字节序列的方式储存在文件中的。

      hello.c的表示方法说明了一个基本思想:系统中所有的信息——包括磁盘文件、内存中的程序、内存中存放的用户数据以及网络上传送的数据,都是由一串比特表示的。区分不同数据对象的唯一方法是我们读到这些数据对象的上下文

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/qq_16933601/article/details/109169750

    源程序到可执行文件的过程

      GCC编译器驱动程序读取源程序文件hello.c,并把它翻译成一个可执行目标文件hello。这个翻译过程可分为四个阶段:预编译,编译,汇编,链接。

    image-20201019171458969

    预编译

      在预编译的过程中,主要处理源代码中的预处理指令,引入头文件,去除注释,处理所有的条件编译指令(#ifdef,#ifndef,#else,#elif,#endif),宏的替换,添加行号,保留所有的编译器指令

    编译

      在预处理结束后,进行的是编译。编译过程所进行的是对预处理后的文件进行语法分析,词法分析,语义分析,符号汇总,然后生成汇编代码

    汇编

      汇编过程将汇编代码转成二进制文件,二进制文件就可以让机器来读取。每一条汇编语句都会产生一句机器语言。

    链接

      由汇编程序生成的目标文件并不能立即就被执行,其中可能还有许多没有解决的问题。例如,某个源文件中的函数可能引用了另一个源文件中定义的某个符号(如变量或者函数调用等);在程序中可能调用了某个库文件中的函数等等。所有这些问题,都需要经链接程序的处理方能得以解决链接程序的主要工作就是将有关的目标文件彼此相连接,也即将在一个文件中引用的符号同该符号在另外一个文件中的定义连接起来,使得所有的这些目标文件成为一个能够被操作系统装入执行的统一整体

    shell是什么

      shell是一个命令行解释器,它输出一个提示符,等待输入一个命令行,然后执行这个命令。如果该命令行的第一个单词不是一个内置的shell命令,那么 shell就会假设这是个可执行文件的名字,它将加载并运行这个文件。

    典型系统的硬件组成

    总线

      贯穿整个系统的是一组电子通道,称作总线。通常总线中传输的是固定长度的字节块,也就是字(word)。字中的字节数(字长)是一个基本的系统参数。不同系统字长不同。比如32位系统的字长为4个字节,64位系统的字长为8个字节。

    IO设备

      I/O(输入/输出)设备是系统与外部世界的联系通道。我们的示例系统包括四个I/O设备:作为用户输入的键盘和鼠标,作为用户输出的显示器,以及用于长期存储数据和程序的磁盘驱动器(简单地说就是磁盘)。

      每个IO设备都通过一个控制器或适配器与I/O总线相连。控制器和适配器之间的区别主要在于它们的封装方式。控制器是I/O设备本身或者系统的主印制电路板(通常称作主板)上的芯片组。而适配器则是一块插在主板插槽上的卡。无论如何,它们的功能都是在I/O总线和I/O设备之间传递信息

    主存

      主存是一个临时存储设备,在处理器执行程序时,用来存放程序和程序处理的数据。从物理上来说,主存是由一组动态随机存取存储器(DRAM)芯片组成的。从逻辑上来说,存储器是一个线性的字节数组,每个字节都有其唯一的地址(数组索引),这些地址是从零开始的。

    处理器

      中央处理单元(CPU),简称处理器,是执行存储在主存中指令的引擎。处理器的核心是一个大小为一个字的存储设备(或寄存器),称为程序计数器(PC)。在任何时刻,PC都指向主存中的某条机器语言指令(即含有该条指令的地址)。

    运行hello程序

      shell读取到我们从键盘输入的“./hello”后,计算机中的信息流向如下图红线所示:

      键盘->USB控制器->I/O总线->I/O桥->系统总线->寄存器

      寄存器->系统总线->I/O桥->内存总线->主存

      shell程序需要把用户输入的内容作为一个变量使用,而这个变量一定在内存中有个地址,所以它最终会到达内存。

    image-20201019191356753

      当我们在键盘上敲回车键时, shell程序就知道我们已经结東了命令的输入。然后shell执行一系列指令来加载可执行的hello文件,这些指令将hello目标文件中的代码和数据从磁盘复制到主存。数据包括最终会被输出的字符串“ hello,wor1d\n”。信息流向如下所示。

      磁盘->磁盘控制器->I/O总线->I/O桥->内存总线->主存

      这种访问数据的方式数据不会经过CPU,而是直接从磁盘到主存,这种方式称为DMA。DMA(直接存储器访问)有利于减轻CPU的负荷,使CPU可以在数据转移的同时做其它任务。

    image-20201019191522808

      加载完hello文件后,CPU将会开始从hello程序的主函数处执行指令。这些指令将“hello,world\n”字符串中的字节从主存复制到寄存器文件,再从寄存器文件中复制到显示设备,最终显示在屏幕上。信息流向如下图所示。

      主存->寄存器->系统总线->I/O桥->I/O总线->图形适配器->显示器

    image-20201019191644207

    高速缓存

      通过运行hello程序,我们可以知道,指令和数据需要多次在寄存器、主存、磁盘之间来回复制,这些复制其实就是开销,减慢了程序工作的速度。这个时候我们就需要高速缓存存储器(cache memory)来解决这个问题。

    image-20201019195237101

      L1高速缓存的容量可以达到数万字节,访问速度几乎和访问寄存器文件一样快。

      L2高速缓存容量为数十万到数百万字节,通过一条特殊的总线连接到处理器。进程访问L2高速缓存的时间要比访问L1高速缓存的时间长5倍,但是这仍然比访问主存的时间快5~10倍。

      L1和L2高速缓存是用一种叫做 静态随机访问存储器(SRAM) 的硬件技术实现的。

      高速缓存局部性原理:程序具有访问局部区域中的数据和代码的趋势。因此,高速缓存存储器作为暂时的集结区域,存放处理器近期可能会需要的信息

    存储设备的层次结构

      从上至下,设备的访问速度越来越慢、容量越来越大,并且每字节的造价也越来越便宜。寄存器文件在层次结构中位于最顶部,也就是第0级或记为L0。

    image-20201019200335061

      存储器层次结构的主要思想是上一层的存储器作为低一层存储器的高速缓存。因此,寄存器文件就是L1的高速缓存,L1是L2的高速缓存,L2是L3的高速缓存,L3是主存的高速缓存,而主存又是磁盘的高速缓存。

    操作系统管理硬件

      操作系统是应用程序和硬件之间插入的一层软件。所有应用程序对硬件的操作尝试都必须通过操作系统。

      操作系统有两个基本功能:(1)防止硬件被失控的应用程序滥用;(2)向应用程序提供简单一致的机制来控制复杂而又通常大不相同的低级硬件设备。

      操作系统通过几个基本的抽象概念(进程、虛拟内存和文件)来实现这两个功能:文件是对I/O设备的抽象表示,虚拟内存是对主存和磁盘I/O设备的抽象表示,进程则是对处理器、主存和I/O设备的抽象表示

    image-20201019201009252

    进程&线程

      进程是操作系统对一个正在运行的程序的一种抽象。在一个系统上可以同时运行多个进程,而每个进程都好像在独占地使用硬件。而并发运行,则是说一个进程的指令和另个进程的指令是交错执行的。

      上下文:操作系统保持和跟踪进程运行所需的所有状态信息(PC值,主存的内容等)。

      上下文切换:操作系统通过控制处理器在进程间切换以达到交错执行的目的。

      从一个进程到另一个进程的转换是由操作系统内核( kernel)管理的。内核是操作系统代码常驻主存的部分。内核不是一个独立的进程。相反,它是系统管理全部进程所用代码和数据结构的集合

    image-20201019203213287

    一个进程由多个称为线程的执行单元组成,每个线程都运行在进程的上下文中,并共享同样的代码和全局数据。多线程比多进程更容易共享数据,而且线程间切换所有的开销要远小于进程切换。

    虚拟内存

      虚拟内存是一个抽象概念,它为每个进程提供了一个假象,即每个进程都在独占地使用主存。每个进程看到的内存都是一致的,称为虚拟地址空间。

    image-20201019203450101

      上图将虚拟地址空间分为了若干个部分,并用箭头表示该部分的扩展方向。最下端地址为0,向上地址逐渐增长。每个部分作用如下:

       程序代码和数据: 存放可执行程序代码和代码中的全局变量。

      堆: 用于动态申请的内存变量,比如malloc函数申请的动态内存空间,可以向上扩展。

      共享库: 用于存放C语言库函数的代码和数据。本例中即printf的代码和数据。

      栈: 位于虚拟地址空间的顶部,用于函数调用、存放局部变量等。当我们调用一个函数时,栈会向下扩展,返回时,向上收缩。

      内核虚拟内存: 地址空间顶部的区域是为内核保留的。不允许应用程序读写这个区域的内容或者直接调用内核代码定义的函数。相反,它们必须调用内核来执行这些操作。对于一个64位的操作系统来说,用户空间为0-3G,内核空间为3G-4G。(用户空间和内核空间有何区别,见秋招资料整理中的嵌入式软件工程师笔试面试知识点总结)

    并发&并行

      并行:指在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。

    img

      并发:指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行

    img

    多核处理器&多线程

      多核处理器:多核处理器是将多个CPU(称为“核”)集成到一个集成电路芯片上。如下图所示,微处理器芯片有4个CPU核,每个核都有自己的L1和L2高速缓存,其中的L1高速缓存分为两个部分——一个保存最近取到的指令,另一个存放数据。这些核共享更高层次的高速缓存,以及到主存的接口。

    image-20201019212750093

      超线程:超线程,有时称为同时多线程( simultaneous multi-threading),是一项允许一个CPU执行多个控制流的技术。举个例子,Intel Core i7处理器可以让每个核执行两个线程,所以一个4核的系统实际上可以并行地执行8个线程。

      养成习惯,先赞后看!如果觉得写的不错,欢迎一键三连,谢谢!

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/qq_16933601/article/details/109169750

    展开全文
  • 计算机系统结构总复习

    万次阅读 多人点赞 2019-01-08 08:27:31
    计算机系统结构基础及并行性的开发 计算机系统的层次结构 通用计算机系统可以被可以被看出是按机器级划分的多层机器级组成的层次结构。 语言应用机器级 高级语言 汇编 操作系统 传统机器语言 微程序机器级 机器:...

    计算机系统结构基础及并行性的开发

    第一章计算机系统的层次结构

    考试已经结束,现在我把我们考试考得知识点用#标注,请注意这些点

    1. #考了选择题重点:通用计算机系统可以被看成是按机器级划分的多层机器级组成的层次结构。

    语言应用机器级
    高级语言
    汇编
    操作系统
    传统机器语言
    微程序机器级

    这个据说很重要,请牢记。

    机器:能存储和执行相应语言程序的算法和数据结构的集合体。
    实际上,只有二进制机器指令,即传统所讲的机器语言与机器硬件直接对应,方可直接被硬件识别和执行。

    1. 各机器级的实现主要靠翻译和解释或两者结合进行。
      翻译是先用转换程序将高一级机器级上的程序整个地变换成低一级机器级上等效的程序,然后再在低一级机器级上实现的技术。
      解释则是在低级机器上用它的一串语句或指令来仿真高级机器上的一条语句或指令的功能,是通过对高级的机器级语言程序中的每条语句或指令逐条解释来实现的技术。

    2. M0用硬件实现,M1用微程序实现,M2-M5用软件实现。(指的是上面的6层)

    计算机系统结构,组成,实现

    1. 透明:客观存在的事物或属性从某个角度看不到,简称其为透明。
      选择有可能!!

    2. 计算机系统结构指的是传统机器级的系统结构。它是软件和硬件的交界面,是机器语言,汇编语言程序设计者,或编译层序设计者看到的机器物理系统的抽象。出在传统机器语言与操作系统级之间。

    下面计算机系统,计算机组成,计算机实现的区别,还是要掌握,可能会选择题出现。特别是那个例子。

    1. 计算机系统结构的属性:

    数据类型及格式等的数据表示
    寻址方式
    通用寄存器的设置,数量,字长,使用约定。
    二进制或汇编的操作类型,格式,排序,控制机构。
    主存的最小编址单位,编址方式,容量,最大可编址空间。
    中断的分类与分级,中断处理程序功能及入口地址。
    管态和用户态的定义与切换。

    1. 计算机组成:指的是计算机系统结构的逻辑实现,包括机器级内部的数据流,和控制流的组成以及逻辑设计。着眼于机器级内部各事件的排序方式与控制机构,各部件的功能及各部件间的联系。

    解决的问题是在所希望达到的性能和价格情况下,怎样更好,更合理地把各种设备和部件组织成计算机,来达成所确定的系统结构。

    1. 计算机实现指的是计算机组成的物理实现,包括处理机、主存等部件的物理结构。

    2. 举例:

      * 是否要设乘法指令->计算机系统结构
      * 乘法指令是用专门的高速乘法器还是用加法器和移位器实现->计算机组成
      * 乘法器、加法器的物理显示,如器件的类型,集成度,数量的确定和选择->计算机实现
      
      1. 主存容量与编址方式的确定----系统结构
      2.主存速度的确定、逻辑结构的模式---组成
      3.器件的选定、电路的设计、组装技术---实现
      
    3. 冯•诺依曼计算机的特点主要有(没啥用):

      一、计算机有运算器、存储器、控制器、输入设备和输出设备五大部件组成,这五大部件是计算机不可或缺的部分,缺少了哪一个都无法正常工作。
      二、指令和数据以同等地位存放于存储器内,并可按地址访问。
      三、指令和数据均可用二进制表示。
      四、指令由操作码和地址码组成。操作码表示操作的性质、地址码表示操作数在存储器中的位置.
      五、指令在存储器中按顺序存放。通常,指令是顺序执行的。在特殊情况下,可根据运算结果或指定的条件来改变运算顺序。
      六、机器以运算器为中心。输入输出设备和存储器之间的数据传送通过运算器完成。

    4. ISA:指令集体系结构 Instruction Set Architecture
      总共要知道是什么东西

    计算机系统的性能评测

    这是知识总结挺好的一个网站,建议进去看看,这是一个大佬博客,比我讲的好,强烈建议进去看下。流水线—你理解多少?

    1. 计算机系统的性能指标体现于时间和空间两个方面
    2. Tcpu = IC * CPI*1/Fc
    3. #这三个公式考了一个大题,注意那些单位啊
    • MIPS:百万条指令数每秒 MIPS:百万条指令数每秒
    • CPI :每条指令执行的平均时间周期数=执行程序的时钟周期数/IC
    • IC:所执行的指令条数
    • IPS:每秒执行的指令条数
    1. 在这里插入图片描述

    2. 在这里插入图片描述

    3. 在这里插入图片描述

    4. 计算机系统的定量原理:

      哈夫曼压缩原理:尽量加速处理高概率事件
      Amdahl定律:系统加速比 Sp Sp = 1/(1-fnew)+fnew/rnew
      性能提高的幅度受限于性能改进部分所占的比例大小,而性能改善的极限又受限于性能可改进比fnew 的约束
      程序访问的局部性原理
      在这里插入图片描述
      典型例题:https://wenku.baidu.com/view/f6e65a77783e0912a2162ae6.html

    5. 仿真和模拟的主要区别:在于解释用的语言,仿真是用微程序解释,其解释程序存在于控制存储器中,而模拟是用机器语言程序解释,其解释程序存在于主存中。

    6. 在这里插入图片描述
      这里主要要注意的便是这个成本性能比。

    7. 计算机系统的性能评价:

      时钟频率
      指令执行速度
      平均速度
      核心程序法
      峰值速度
      

    在这里插入图片描述

    系统结构中的并行性开发及计算机系统的分类

    1. 并行性:包含同时性:指两个或多个事件在同一时刻发生。
      并发性:只两个或多个事件在同一时间间隔内发生。

    2. 并行性的等级:

      指令内部
      指令之间
      任务或进程之间
      作业或程序之间

    3. 并行性开发的途径:

      时间重叠:在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。
      
      资源重复:在并行性概念中引入空间因素。通过重复设置硬件资源来提高可靠性或性能。
      
      资源共享:利用软件的方法让多个用户按一定时间轮流地使用同一套资源,以提高其利用率。
      

    4.多机系统的耦合度:

    最低耦合
    松散耦合
    紧密耦合

    1. 各个子系统通过数据总线连接形成的数据传送路径称为数据通路
    2. 流水线技术:把一个重复的过程分解成多个子过程,每个子过程由专门的功能部件来实现。把多个处理过程在时间上错开,依次通过各个功能段,每个子过程就可以与其他i子过程并行进行。
    3. 输入->取指->译码->访存->写回->输出
    4. 流水线的种类

    部件级
    处理机级
    系统级

    在这里插入图片描述

    1. 在这里插入图片描述
      各段不相等时
      Tp = n/(所有段的和+(n-1)*max(每一段的值))
    2. 在这里插入图片描述
    3. 在这里插入图片描述

    第二章 数据表示,寻址方式与指令系统

    1. 浮点数

    2. 寻址方式

    3. 指令系统中指令的编码方法

      • 正交法
      • 整体法
      • 两者 混合法
    4. 在CPU中是以何种方式来存储操作数的。

      • 堆栈型
      • 累加器型 A
      • 通用寄存器型
    5. 编译优化的技术。

      • 使用大量寄存器,优化寄存器的分配和使用,提高效率,减少访存次数。
      • 减少局部变量和工作变量的中间传递,
      • 优化调整指令的执行次序,减少机器的空等时间。
    6. ##这个也考了一题大题。题目出现了指令Cache,和数据Cache。注意里面那个容量的计算,要先换算成为kbit,才可以。在这里插入图片描述
      Cache的容量=Cache的行数*(有效位+主存标识位的位数)+Cache数据区容量的大小*8
      这里算出来是kbit,你要总体再除以8,就算出有多少个字节了。
      主存标记位的位数的计算的话,要看你是直接映射,还是组相连映射,还是全相联映射。
      直接映射跟组相连的没啥差别,都是[有效位,标记,cache索引,块内地址]
      而全相联的则是[有效位,块内地址],有不同噢!

    地址的映象
    地址的映象:是将每个主存块按某种规则装入Cache,并建立主存地址与Cache地址之间的对应关系。
    地址的变换:是主存块按照这种映象关系装入Cache后,每次访Cache,如何将主存地址变换成Cache地址。

    9.命中率与地址流,预判算法,容量有关。

    遇到的一些问题

    1. 考了浮点数那边要注意一些基本问题,比如基数的改变,阶码的改变会造成什么后果。
      在这里插入图片描述
      就类似于这种题目.
      阶符是当一个数用科学计数法表示时,它的指数的符号,指数是正还是负,正负号就是阶符,阶码在机器中表示一个浮点数时需要给出指数,这个指数用整数形式表示,这个整数叫做阶码,阶码指明了小数点在数据中的位置 数符就是数字符号的简称 在浮点数中

    2. 重复设置瓶颈段,还有就是细分,都要掌握。 在这里插入图片描述
      这题就没啥办法了,自己多画几遍就好了。

    3. 有一个Cache—主存存储层次,主存共8块,Cache共4块,采用组相联映像,每组2块,LRU替换算法。(这个的图不需要把最新的往最上面提,不像题目有堆栈的话语的那种,见下面的第四点)
      1)对地址流124137012546472使用情况;
      2)指出块失效同时块争用的时刻
      3)求出命中率。
      在这里插入图片描述

    4. 注意两种题目的不同:

    • 执行的页地址流为****,若分配给该道程序的主存有3页,这种题目,最新的那个块不用往最上面提。
    • 另一种是,页地址流采用LRU算法进行堆栈处理的St变化过程。
    1. 有如下页面地址流:2,1,3,1,4,2,5,3,2,1,2,3,4,1,5利用堆栈技术一次模拟LRU在n=3,4,5条件下页面变化时空图,同时分别指出命中的页面以及计算它们各自的命中率。

    2. 在这里插入图片描述

    3. 在这里插入图片描述
      ##上面这题考了,命中率,要注意。

    4. 在这里插入图片描述
      这里要稍微注意那个主存块号->转换成Cache行号

    5. 在这里插入图片描述

    6. 在这里插入图片描述在这里插入图片描述
      解析:#这题也考了注意这题的a[][]是short类型的,是两个字节的。参照上面的解题思路,a[0][0]所在的主存号为:3200/64 = 50
      因为是2路组相联,所以,50mod 8 =2,就是Cache的行号了。
      接下来,算访问次数:256256 = 64k
      缺失次数(总块数):64k
      (2B/64B) = 2K;
      缺失率:2K/64K = 1/32
      所以,命中率31/32

    7. 在这里插入图片描述

    8. 在这里插入图片描述
      解析:##考的不是这种类型,是工作速率的
      该通道完成一个字节的传送需:9.8+0.2 = 10us
      为保证传输可靠性,不丢失数据,此通道至多可接500/10 = 50台设备
      对于A-F六种告诉设备,该通道一次传送数据的时间为:9.8+0.2*1024 = 214.6us
      上述设备发送1024字节数据的申请时间间隔分别为:
      204.8 256 512 194.56 409.6 215.04
      所以,B,C E,F可挂在该通道上,A ,D不能。

    9. 在这里插入图片描述

    10. 一些题目:https://max.book118.com/html/2016/1207/69323539.shtm

    在这里插入图片描述

    1. 比较好的一些题目集:计算机系统结构 学习笔记(期末复习总结)强烈推荐这个,考了很多大题

    在这里插入图片描述

    在这里插入图片描述
    这里的处理方法是:1+6+1+1+7+1+31 = 16+N
    相关的一些链接:系统结构_06_向量处理机指令技术
    考了一个大题,怪我没理解好。注意那种连续链接的
    20.
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    ##考了类似这种题目,要画时空图,别以为它不会考,掌握把。

    选择题

    1. 在这里插入图片描述
    2. 类似选择题有考

    在这里插入图片描述
    4. 在这里插入图片描述
    5. 在这里插入图片描述
    6. 在这里插入图片描述
    7. 在这里插入图片描述
    8. RISC是一种执行较少类型计算机指令的微处理器。
    9. 在这里插入图片描述
    10. 在这里插入图片描述
    11. **加粗样式**
    12. 在这里插入图片描述
    13. cache的总容量是cache每行的数据存储大小+tag位+数据是否有效位+其他一致性控制位。
    14. 在这里插入图片描述
    15. 在这里插入图片描述
    16. 在这里插入图片描述
    17. 在这里插入图片描述
    18. 在这里插入图片描述
    19. 在这里插入图片描述
    20. 选择题考了

    • 总线控制方式有串行链接、定时查询和独立请求3种。总线控制方式有串行链接、定时查询和独立请求3种。
      串行链接需增加3根控制线,优先级线连固定,无灵活性;
      定时查询需增加2十「log2N」根控制线,优先级可用程序改变,灵活;
      独立请求需增加2N+l根控制线,优先级可用程序改变,灵活。在这里插入图片描述

    在这里插入图片描述

    对复习提纲的总结

    1. CA, CA与CO ,CI 三者的相互影响?
    • CA也称为计算机系统的体系结构,它是指机器语言程序的设计者和编译程序的设计所看到的计算机系统的概念性结构和功能特性。
    • CO指的是计算机系统的逻辑实现,包括机器级内的数据流和控制流的组成和逻辑设计。
    • CI值得是计算机组成的物理实现。包括一些主存,处理机等部件的物理结构。
    1. 计算机系统的设计思路?
    • 从上往下:专用机 设计周期太长。
    • 从下往上:通用机->缺点,机器的性能指标虚假。
    • 从中间向两边:通用机->克服上面的缺点,克服软硬件设计分离和脱节的致命缺点,同时要求设计者同时具备丰富的软硬件和应用等方面的知识。
    1. 软件可移植的方法
    • 统一高级语言
    • 采用系列机
    • 模拟和仿真
    1. 并行性的含义
    • 我们把解题中同时进行运算或操作的特性,称为并行性。
    • 同时性:
    • 并发性:
    1. 并行性的级别
    • 指令内部
    • 指令外部
    • 进程与任务之间
    • 程序与作业之间
    1. 并行性开发的3种途径,##考了填空,太气了,记反了
    • 时间重叠
    • 资源重复
    • 资源共享
    1. FLnn分类法
    • SISD
    • SIMD
    • MISD
    • MIMD
    1. CA的层次
      六级 M0->M5
    2. 扩展操作码
      界于定长和全哈夫曼编码之间
      **特点 **:常用的代码短,不常用的代码长
    3. RISC和CISC的原则,特点,比较。
      在这里插入图片描述
    • RISC
      原则:
      1、确定指令系统时,只选择使用频度很高的那些指令,一般不超过 100 条。
      2、大大减少指令系统可采用的寻址方式的种类,一般不超过两种。
      3、让所有指令都在一个机器周期内完成。
      4、扩大通用寄存器的个数,以尽可能减少访存操作
      5、为提高指令执行速度,大多数指令都采用硬联控制实现, 少数指令采用微程序实现。
      6、以简单有效的方式来支持高级语言的实现。
      特点:
      1、有限、简单的指令集
        2、CPU配备大量的通用寄存器
        3、强调对指令流水线的优化
        4、使用等长指令(即:不需要解析指令)
        5、寻址方式少,绝不出现存储器间接寻址
        6、指令集中指令数一般少于100条,指令格式少于4种
      7、指令功能简单,控制器多采用硬布线方式等。
      比较
      从硬件角度来看CISC处理的是不等长指令集,它必须对不等长指令进行分割,因此在执行单一指令的时候需要进行较多的处理工作。而RISC执行的是等长精简指令集,CPU在执行指令的时候速度较快且性能稳定。因此在并行处理方面RISC明显优于CISC,RISC可同时执行多条指令,它可将一条指令分割成若干个进程或线程,交由多个处理器同时执行。由于RISC执行的是精简指令集,所以它的制造工艺简单且成本低廉。
      从软件角度来看,CISC运行的则是我们所熟识的DOS、Windows操作系统。而且它拥有大量的应用程序。因为全世界有65%以上的软件厂商都基于CISC体系结构的PC 及其兼容机服务的,象赫赫有名的Microsoft就是其中的一家。而RISC在此方面却显得有些势单力薄。虽然在RISC上也可运行DOS、 Windows,但是需要一个翻译过程,所以运行速度要慢许多。
    1. 浮点数的几个结论,考了
    • 阶码与表示数的范围有关
    • 尾数与表示数的精度有关
    1. ** 整数边界的处理**
    2. 大端小端,#考了
      在这里插入图片描述
    3. 在流水解释过程中可能会出现三种相关,这三种相关是资源相关、数据相关和控制相关。
    4. 数据相关
    • 读后写
    • 写后读
    • 写后写
    1. 数据相关的基本解决方法
      (1)推后相关单元的读。
      (2)设置相关专用通路,又称采用定向传送技术。
      (3)依靠编译器解决数据冲突 :让编译器重新组织指令顺序来消除冲突,这种技术称为指令调度或流水线调度。
    2. 向量链接技术的条件
    • 具有先写后读相关的两条指令
    • 在不出现功能部件冲突和源向量冲突的情况下
    1. 计算机存储系统三个基本参数
    • 存储容量S
    • 存储速度T
    • 存储价格C
    1. 存储系统的层次结构

    通用寄存器
    高速缓冲存储器
    主存储器
    辅助存储器
    脱机大容量存储器
    20.影响命中率的因素

    • 地址流
    • 预判算法
    • 主存容量
    • 页面大小
    • 页面调度方式
    1. 虚存与缓存层次的不同比较在这里插入图片描述
    2. 3种虚存管理方式的异同
    • 段式管理:按程序的逻辑功能来划分
    • 页式管理:按主存空间与虚存空间按固定的大小划分成块
    • 段页式管理 :将虚拟存储空间按段式管理,而主存空间按页式管理,存在虚空间的程序按逻辑关系分段,每一段又可分为固定大小的页。主存则只分为若干大小相同的页。
    1. 几种RAID的技术,用途。
    • RID0:数据以条带方式均匀的分散在各个磁盘上。2个或更多
    • RID1:数据以镜像为冗余方式,同一份数据有多份拷贝。2N个
    • RID3/4:数据按条带方式并行传输给各个成员磁盘上,同时计算XOR校验数据存放到专用的校验磁盘上。 3个或更多
      *RID5:数据以条带方式均匀的分散在各个磁盘上,校验信息被均匀的分配到各个磁盘上。最低位3个。
    1. 总线控制方式3种
    • 程序控制输入输出
    • 直接存贮器访问
    • I/O处理机方式
    1. 通道处理机工作原理
      通道方式的输入输出过程:
      1.用户在目态中安排广义I/O指令(包括访管指令和参数)
      2.当目态程序执行在访管指令后,产生访管中断。
      3.CPU响应中断,第一次转管态,运行目态程序
      4、编制通道程序,管理程序
      5、执行“启动”I/O‘指令选择通道,校验第一条通道指令格式,选择设备并启动通道及设备。
      6、通道启动后,
      1)CPU退出管态,运行目态程序
      2)通道与设备开始传送数据
      7、通道传送结束,向CPU发I/O中断。
      8.CPU响应中断,第二次转管态,对刚才的通道做”善后“处理
      9.返回目态,运行目态程序。
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      主要状态转换:
      1、进管态,编制通道程序(目——管态)
      2、启动,选择设备期(管态——目态)
      3、数据传送期(目态)
      4、传送结束,中断(管态——目态)
      只需两次转管,系统多个通道,多种外设可充分并行
    2. 通道流量分析原则
    • 一个通道在数据传送期间,单位时间内能够传送的数据量。所用单位一般为B/s。 又称为通道吞吐率、通道数据传输率等。
    • 通道最大流量
    • 一个通道在满负荷工作状态下的流量 。

    最后,祝大家考试顺利,考的都会,蒙的全对。一定要注意,每个题型都要打牢靠,不然稍微一变,你会发现,你就gg了。
    这里贴出我的复习资料,需要的同学自行下载。https://download.csdn.net/download/weixin_38809485/10936505

    展开全文
  • 早期计算机系统的层次现代(传统)计算机系统的层次回顾:计算机系统抽象层的转换计算机系统的不同用户指令集体系结构(ISA)ISA和计算机组成(微结构)之间的关系

    早期计算机系统的层次

    这里写图片描述

    现代(传统)计算机系统的层次

    这里写图片描述

    回顾:计算机系统抽象层的转换

    这里写图片描述

    计算机系统的不同用户

    这里写图片描述

    指令集体系结构(ISA)

    这里写图片描述

    ISA和计算机组成(微结构)之间的关系

    这里写图片描述

    展开全文
  • 【计算机组成原理】计算机系统概论

    千次阅读 多人点赞 2021-03-06 15:21:41
    计算机系统概论 主要内容: 一、基本知识 (1)计算机的分类 (2)计算机的发展 (3)计算机的性能指标 二、计算机系统简介 (1)硬件系统 ①硬件系统组成 ②主要硬件简介 (2)软件系统 (3)计算机系统的层次结构 三、电子...

    计算机系统概论

    在这里插入图片描述

    一、基本知识

    (1)计算机的分类

    电子计算机从总体上来说分为两大类:电子模拟计算机、电子数字计算机。

    电子数字计算机 电子模拟计算机
    数据表示方式 数字0和1 电压
    计算方式 数字计数 电压组合和测量值
    控制方式 程序控制 盘上连线
    精度
    数据存储量
    逻辑判断能力
    • 电子模拟计算机

      ”模拟”就是相似的意思,例如计算尺是用长度来标示数伯 时钟是用指针在表盘上转动来表示时间;电表是用角度来反映电量大小,这些都是模拟计算装置模拟计算机的特点是数值由连续量来表示,运符过程也是连续的。

    • 电子数字计算机

      电子数字计算机是在算盘的基础上发展起来的,是用数字来表示数量的大小,数字计算机的主要特点是按位运算,并且不连续地跳动计算。

      电子数字计算机进 步义可分为片用计算机和通用计算机 专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。

      • 专用计算机

        专用计算机是最有效、最经济和最快速的计算机,但是它的适应性佷差。

      • 通用计算机

        通用计算机的适应性很强,但是牺牲了效率、速度和经济性。

        通用计算机可分为超级计算机 、大型机、服务器、 PC 、单片机和多核机。它们的区别在于体积、简易性、功率损耗、性能指标、数据存储容星、指令系统规模和机器价格。
        在这里插入图片描述

    (2)计算机的发展

    • 计算机的发展简史
      在这里插入图片描述

    • 计算机的发展趋势

      • 微型化
      • 网络化
      • 巨型化
      • 智能化

    (3)计算机的性能指标

    • 吞吐量

      • 某一时间间隔内能够处理的信息量
    • 响应时间

      • 从输入有效到系统产生响应之间的时间度量
    • 利用率

      • 给定时间间隔内系统被实际使用的时间所占比率
    • 处理机字长

      • 运算器一次能够完成二进制运算的位数
    • 总线宽度

      • 运算器与存储器之间进行互连的内部总线位数
    • 存储器容量

      • 存储器所有存储单元的总数目
    • 存储器带宽

      • 单位时间内从存储器读出的二进制数信息量
    • 主频/时钟周期

      • 主时钟的频率称CPU主频,主频倒数为周期
    • CPU执行时间

      • 执行一般程序所占用的CPU时间

      • CPU执行时间=CPU时钟周期数×CPU时钟周期

    • CPI

      • Cycle Per Instruction 每条指令周期数,即执行一条指令所需的平均时钟周期数

      • CPI=执行某段程序所需的CPU时钟周期数÷程序包含的指令条数

    • MIPS

      • Million Instructions Per Second 每秒执行多少百万条定点指令数

      • MIPS=指令数÷(程序执行时间×1060^6

    • FLOPS

      • floating-point operations per second 每秒执行浮点操作的次数

      • FLOPS=程序中的浮点操作次数÷程序执行时间(s)

    二、计算机系统简介

    (1)硬件系统

    ①硬件系统组成

    在这里插入图片描述

    • 中央处理单元CPU

      • 控制器
      • 运算器
    • 总线系统

      • 总线 和 输入输出接口
    • I/O设备

      • 输入设备
      • 输出设备
    • 存储器

      • 高速缓存
      • 主存储器
      • 虚拟存储器(磁盘设备)

    ②主要硬件简介

    • 运算器
      运算器的主要功能是进行加、减、乘、除等算术运算。除此以外,还可以进行逻辑运算,因此常称为 ALU (算术逻辑运算部件)。
      • 采用二进制数(容易实现)
      • 位数越多,计算精度越高
    • 存储器
      保存或“记忆”解题的原始数据和解题步骤,存储的是0或1表示的二进制代码
      • 主存采用半导体器件作为存储器,一个半导体触发器记忆一个二进制位
      • 存储单元: 在存储器中保存一个n位二进制数的n个触发器,组成一个存储单元
      • 存储器地址:存储器是由许多存储单元组成,每个存储单元的编号,称为地址
      • 存储容量:存储器所有存储单元的总数。通常用单位“KB、MB、GB、TB”等表示
      • 分为:内存储器(主存)和外存储器(辅存)
    • 控制器
      控制计算机的各个部件有条不紊地进行工作:
      按照计算程序所排的指令序列,先从存储器取出一条指令放到控制器中,对该指令的操作码由译码器进行分析判别,然后根据指令性质,执行这条指令,进行相应的操作。接着从存储器取出第二条指令,再执行第二条指令,依次类推
      • 指令有两部分:操作的性质(操作码)和操作的地址(地址码)
      • 取指令的一段时间叫做取指周期
      • 执行指令的一段时间叫做执行周期
      • 取指并执行完成指令的时间,称为指令周期
    • 适配器与输入输出设备
      • 输入设备把人们所熟悉的某种形式的信息变换为机器内部所能接收和识别的二进制信息形式
      • 输出设备把计算机处理的结果变换为人或其他机器所能接收和识别的信息形式
      • I/O设备通常统称为外围设备
      • 适配器(I/O接口) 相当与一个转换器,它可以保证外围设备用计算机所要求的形式发送或接收信息
    • 系统总线
      系统总线构成计算机系统的骨架,是多个系统部件之间进行数据传送的公共通路

    (2)软件系统

    在这里插入图片描述

    (3)计算机系统的层次结构

    • 计算机系统的层次结构
      在这里插入图片描述
    • 软硬件界面
      在这里插入图片描述

    三、电子计算机的设计思想——存储程序,程序控制

    (1)存储程序,程序控制

    • 存储程序

      把解决问题的程序(指令序列)存放到存储器中

    • 程序控制

      控制器依据存储的程序来控制全机协调地完成计算任务

    (2)冯·诺依曼计算机的基本思想

    • 采用二进制形式表示数据和指令。指令由操作码和地址码组成
    • 将程序和数据存放在存储器中,使计算机在工作时从存储器取出指令加以执行,自动完成计算任务。这就是“存储程序”和“程序控制”
    • 指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现
    • 计算机由存储器、运算器、控制器、输入和输出设备五大基本部件组成

    (3)指令流和数据流

    • 某字为一条指令,则称为指令字
    • 某字代表要处理的数据,称为数据字
    • 在取指周期中从内存读出的信息是指令流,它流向控制器
      而执行周期中从内存读出的信息流是数据流,它由内存流向运算器
    • 时间上:在取指周期中,CPU从内存读出的信息一定是指令;而执行周期中从内存读出或写入的信息一定是数据。
    • 空间上:指令一定流向控制器;而数据则是在内存(或寄存器)与运算器之间流动
    展开全文
  • 计算机的层次结构计算机系统的基本组成计算机硬件的基本组成计算机的软件与硬件的关系计算机的工作过程(指令执行的过程)3.计算机的性能指标 ==(重点)==二、计算机发展历程1.计算机硬件的发展2. 计算机的分类按...
  • 【计算机组成原理】计算机系统

    千次阅读 多人点赞 2020-02-23 11:53:42
    图文计算机系统~
  • 一、计算机系统结构的概念1.1 计算机系统的层次结构划分为多级层次结构的优点: (1)便于理解计算机的整体工作概念及目前软硬件的作用和地位; (2)便于认识语言的实质和实现方法; (3)便于搜索虚拟机的新的实现...
  • 嵌入式系统和计算机系统

    千次阅读 2018-08-14 09:10:04
     以应用为中心,以计算机技术为基础,软硬件可裁剪,对于功耗体积 成本 可靠性 功能 有严格要求的专用计算机系统!    上图中的 BSP即板极支持包  bootloader 即引导程序 2.计算机系统  计算机系统也有两...
  • c语言程序举例 什么是计算机系统?计算机系统基础内容提要为什么要学习”计算机系统基础”
  • 文章目录第一章 计算机系统概述1.1 操作系统的基本概念1.1 练习题1.2 操作系统的发展与分类1.2 练习题1.3 操作系统的运行环境1.3 练习题1.4 操作系统的体系结构1.4 练习题 第一章 计算机系统概述 1.1 操作系统的基本...
  • 【计算机组成原理】第一章 计算机系统概论

    千次阅读 多人点赞 2018-12-06 21:23:44
    1.1 计算机系统简介 1.1.1 计算机的软硬件概念 计算机组成概览: 1.1.2 计算机系统的层次结构 物理角度: 程序员角度: 系统复杂性管理的方法之一:抽象 区别两点: 计算机体系结构:程序员所见到的计算机...
  • 计算机系统的时间

    千次阅读 2019-04-26 17:56:00
    计算机系统的时间 目录 1. 计算机系统时间的组成 2. 计算机系统时钟 3. 计算机系统时钟运行的行为 4. 计算机时钟查看与维护 4.1 硬件时钟 4.2 系统时钟 4.2.1 读取时钟 ...
  • 操作系统:第一章 计算机系统概述

    千次阅读 2020-10-27 20:41:04
    王道操作系统 第一章 - 计算机系统概述 操作系统概念 操作系统是计算机系统中最基本的系统软件,目标是向上层提供方便易用的服务。 操作系统是系统资源的管理者 提供的功能:处理机管理、存储器管理、文件管理、...
  • 计算机系统组成思维导图

    千次阅读 2020-08-12 19:51:27
    计算机系统组成:
  • 第一章 计算机系统概论

    千次阅读 2020-05-10 15:56:28
    文章目录计算机的发展与应用计算机发展概况电子管计算机晶体管计算机集成电路计算机超大规模集成电路计算机摩尔定律多核处理器嵌入式计算机计算机系统的组成计算机硬件系统存储器运算器控制器输入设备输出设备系统...
  • 计算机系统基础梳理

    千次阅读 2018-05-05 22:53:21
    第一章计算机系统概述计算机系统的组成:硬件子系统:运算器、控制器、存储器、I/O设备、总线(数据线控制线地址线)软件子系统:系统软件(操作系统语言处理系统(汇编程序:汇编语言源程序→机器语言目标程序 编译...
  • 深入理解计算机系统 PDF

    千次阅读 热门讨论 2019-09-04 23:39:03
    《深入理解计算机系统》是理解计算机系统首选书目,是10余万程序员的共同选择。卡内基-梅隆、北京大学、清华大学、上海交通大学等国内外众多知名高校选用指定教材。从程序员视角全面剖析的实现细节,使读者深刻理解...
  • 计算机系统概述 计算机发展历程 计算机硬件的发展 世界上第一台电子数字计算机【ENIAC】 计算机的四代变化 电子管时代 晶体管时代 中小规模集成电路时代 超大规模集成电路时代 计算机元件的更新换代 计算机...
  • 可能很多读者有疑惑,什么是计算机系统?它和操作系统有何不同?我们为什么要深入理解计算机系统,会敲代码是否就足够了? 概括的讲计算机系统是由硬件和系统软件共同组成的,它们通过共同的协作来运行应用程序。而...
  • 第1章 计算机系统概论 文章目录第1章 计算机系统概论1.熟知一些基本概念:2.掌握冯•诺依曼计算机的特点。3.掌握计算机硬件的主要技术指标。计算机系统性能评价指标 1.熟知一些基本概念: 计算机系统计算机系统...
  • 计算机系统中的存储系统

    千次阅读 2018-09-27 20:49:53
    计算机系统中包含各种存储器,如CPU内部的通用寄存器组、CPU内的Cache(高速缓存)、CPU外部的Cache、主板上的主存储器、主板外的联机磁盘存储器以及脱机的磁带存储器和光盘存储器等。不同特点的存储器通过适当的...
  • 第1章 计算机系统结构的基本概念 1. 什么是计算机系统的多级层次结构?从计算机语言的角度,把计算机系统按功能划分成以下多级层次结构: 2. 硬件和软件在什么意义上是等效的?在什么意义上是不等效的?硬件和软件...
  • 计算机系统是由硬件和系统软件组成,它们共同协作以运行应用程序。计算机内部的信息被表示为一组组的0和1二进制位,它们依据不同的上下文有不同的解释方式。程序被其他程序编译成不同的形式,开始时是源代码文本,...
  • 计算机系统的基本组成

    千次阅读 2019-09-04 20:41:16
    1.计算机系统的基本组成 计算机由软件系统和硬件系统组成 1.硬件系统 计算机硬件系统是由运算器,控制器,控制器,输入设备和输出设备五大设备及总线组成 运算器(ALU)是计算机进行数据加工的部件,主要完成...
  • 计算机系统有硬件系统和软件系统两大部分组成 1.计算机:俗称电脑,是一种能接收和存储信息,并按照存储在其内部的程序对海量数据进行自动、高速地处理,然后把处理结果输出的现代化智能电子设备。 2.发展历史: ...
  • 计算机系统组成及其功能

    千次阅读 2018-05-08 15:43:11
    计算机系统组成及其功能计算机系统组成计算机系统由硬件 计算机系统由硬件(Hardware) 系统和软件(Software)系统两大部分组成计算机的功能: 把需要的程序和数据送至计算机中。 必须具有长期记忆程序、数据、中间...
  • 计算机系统硬件基本组成

    千次阅读 2018-09-18 21:48:19
    计算机系统硬件基本组成 计算机系统是由硬件和软件组成的,它们协同工作来运行程序。其中计算机的基本硬件系统由运算器、控制器、存储器、输入设备和输出设备5大部件组成。 其中运算器和控制器被集成为中央处理...
  • 计算机系统的五大层次结构 和 三种级别的语言
  • 计算机系统结构选择题

    千次阅读 2020-07-09 16:04:38
    计算机系统结构 | 期末复习总结学习笔记 第一部分 选择题 一、单项选择题 (本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡” 的相应代码涂黑。未...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 284,450
精华内容 113,780
关键字:

计算机系统