计算机系统是由硬件和软件组成的,它们协同工作来运行程序。计算机的基本硬件系统由 运算器、控制器、存储器、输入设备和输出设备5大部件组成。运算器、控制器等部件被集成 在一起统称为中央处理单元(Central Processing Unit, CPU)。CPU是硬件系统的核心,用于 数据的加工处理,能完成各种算术、逻辑运算及控制功能。存储器是计算机系统中的记忆设备, 分为内部存储器和外部存储器。前者速度高、容量小,一般用于临时存放程序、数据及中间结 果。而后者容量大、速度慢,可以长期保存程序和数据。输入设备和输出设备合称为外部设备 (简称外设),输入设备用于输入原始数据及各种命令,而输出设备则用于输出计算机运行的结果。
移码:补码的基础上将符号位取反。注意:移码只能使用在整数上面
算术移位
加减法运算的溢出判断
一个处理器支持的指令和指令的字节级编码称为其指令集体系结构(Instruction Set Architecture , ISA),不同的处理器族支持不同的指令集体系结构,因此一个程序不能跨机器使用
1.操作数在cpu中的存储方式
2.显示操作数的数量
3.操作数的位置
4.指令的操作
5.操作数的类型和大小
1.堆栈(stack)
2.累加器(Accumulator)
3.寄存器组(a set of Registers)
CISC(complex Instruction Set Computer,复杂指令集计算机)的基本思想是进一步增强原有指令的功能,用更为复杂的新指令取代原来软件子程序完成的功能,实现软件功能的硬化,导致机器的指令系统越来越庞大,复杂,事实上,幕墙使用的绝大多数计算机都属于CISC类型
优势:
1.指令丰富,功能强大:CISC技术拥有大量的指令和寻址方式,可以执行各种复杂的运算和操作,满足各种不同的应用需求。
2.寻址方式灵活:CISC技术拥有大量的指令和寻址方式,可以执行各种复杂的运算和操作,满足各种不同的应用需求。
3.以微程序控制器为核心:CISC技术的指令存储器与数据存储器共享同一个物理存储空间,通过微程序控制器实现指令的执行和控制。
弊端 :
1.指令集过于复杂,庞大
2.微程序技术是CISC的重要支柱,每条复杂指令都要通过执行一段解释性微程序才能完成,需要CPU周期较长,会导致机器的处理速度变慢。
3.指令系统过于庞大,高级语言编译程序选择目标指令的范围很大,难以优化编译生成的代码
4.CISC强调完善的中断控制,势必导致动作较多,设计复杂
5.CISC对芯片的设计要求较高,成本提高
RISC(Reduced Instruction Set Computer,精简指令集计算机)的基本思想是通过减少指令总数和简化指令功能降低硬件的要求,使指令可以单周期执行,并能够通过优化编译提高指令的执行速度,采用的硬布线控制逻辑优化编译程序。
优势:
1.指令集精简:RISC技术通过减少指令集的数量来简化处理器结构,从而提高处理器的效率和可靠性。
2.高吞吐量:RISC技术通过流水线技术和并行处理技术,实现了高吞吐量,提高了处理器的性能。
3.低功耗:RISC技术简化了处理器结构,降低了硬件复杂度,从而减少了功耗。
4.易于移植:RISC技术简化了处理器结构,降低了硬件复杂度,从而减少了功耗。
弊端:
1.指令集数量过少:由于RISC技术的指令集数量较少,可能会导致某些复杂的运算和操作无法得到快速执行,需要多次调用或者使用其他指令代替
2.实现难度较大:由于RISC技术的处理器结构较为简单,对于一些特定应用场景可能不太适合,需要重新设计或优化处理器结构。
3.对硬件要求较高:由于RISC技术需要高吞吐量和低功耗,对于硬件的要求较高,可能会导致成本增加。
4.兼容性较差:由于RISC技术的指令集和结构与传统的CISC技术有所不同,可能会导致与一些传统的软件不兼容。
优化方向
1.指令集优化:精简指令集,减少指令的种类和数量,使得处理器更容易实现,同时也可以减少程序中的指令数量,提高执行效率。
2.硬件架构优化:采用流水线技术、并行处理技术等,提高处理器的执行效率和吞吐量。同时,优化硬件结构,减少功耗和成本。
3.编译器优化:采用优化编译技术,将高级语言程序转换成高效的机器码。优化编译器可以分析和识别程序中的热点和瓶颈,通过优化代码和指令序列,提高程序的执行效率。
4.寄存器分配优化:合理分配和使用寄存器,减少访存次数和数据传输开销,提高指令的执行效率。
5.内存管理优化:采用内存管理技术,减少内存访问次数和缓存失效率,提高程序的执行效率。
6.并行计算优化:利用多核处理器或多线程技术,将程序中的任务并行化,提高程序的执行效率。
指令控制方式:顺序方式,重叠方式,流水方式
1.指令与指令之间顺序串行执行,即上一条指令全部执行完后,才能开始执行下一条指令。
2.控制简单,节省设备。
3.执行指令的速度慢,功能部件的利用率低。
包括一次重叠和二次重叠方式。一次重叠方式中,将第k条指令的执行阶段和第k+1条指令的取指阶段同时进行,可以缩短指令执行时间。二次重叠方式中,将第k+1条指令提前到分析第k条指令的期间完成,可以进一步提高指令执行效率。
1.顺序执行:指令按照顺序一个接一个地处理,控制简单,但速度慢,利用率低。
2.重叠执行:在解释第K条指令的操作完成之前,就可开始解释第K+1条指令。通常采用一次重叠,即在任何时候,指令分析部件和指令执行部件都只有相邻两条指令在重叠解释。这种方式提高了速度,控制也不太复杂。但会出现冲突、转移和相关等问题,设计时必须想办法解决。
一种更先进的指令执行方式。它将一个任务分解为若干个子任务,每个子任务由一个专门的部件执行,子任务之间采用流水线的方式连续执行,可以显著提高指令执行速度。流水线方式流水的关键在于解决数据相关和转移相关问题,以及处理异常情况。
1.将一个任务分解为多个子任务,每个子任务由专门的部件执行,并依靠多个部件并行工作来缩短指令执行时间。
2.流水线中各功能段的时间应尽量相等,否则将引起堵塞、断流。
3.只有连续不断地提供同一种任务时才能发挥流水线的效率,所以在流水线中处理的必须是连续任务。
4.流水线需要有装入时间和排空时间。装入时间是指第一个任务进入流水线到输出流水线的时间,排空时间是指最后一个任务进入流水线到输出流实现的时间。
5.流水线存在数据冒险、控制冒险等问题,需要采取相应的解决方法。
一种更先进的指令执行方式,它通过将多条指令重叠执行来提高处理器的效率。在RISC中,超流水线技术通常用于进一步提高处理器的性能和吞吐量。
基本思想:多条指令放入一个流水线中,让它们同时执行。这样一来,处理器可以在一个时钟周期内完成多条指令的执行,从而提高了处理器的效率和吞吐量。
超流水线技术的关键:在于如何解决指令之间的冲突和依赖问题。由于多个指令同时执行,它们可能会存在数据相关和资源相关的问题,导致流水线被阻塞或延迟。因此,需要设计合理的调度算法和硬件机制来解决这些问题,以保证处理器能够高效地工作。
总的来说,超流水线技术是一种非常有效的指令执行方式,它可以显著提高处理器的性能和吞吐量。然而,超流水线技术也带来了新的挑战和问题,需要仔细设计和实现才能获得最佳的性能和效率。
RISC中另一种重要的指令执行方式。与超流水线技术不同,超标量技术通过增加处理器中执行单元的数量来提高指令的执行速度。
基本思想是在一个时钟周期内同时执行多个操作,以提高处理器的吞吐量和性能。为了实现这一目标,超标量处理器通常包含多个功能单元,例如浮点单元、整数单元等。这些功能单元可以并行工作,并在一个时钟周期内完成多个操作。
超标量技术的优点在于它可以充分利用处理器的硬件资源,提高处理器的执行效率。然而,超标量技术也存在一些挑战和问题。例如,由于指令的数量增加,需要更多的内存和缓存来存储指令和数据,这可能会导致功耗和成本的增加。此外,由于指令的执行顺序在编译阶段确定,因此对于运行时的变化适应性较差。
总的来说,超标量技术是一种有效的指令执行方式,它可以提高处理器的性能和吞吐量。然而,在实际应用中,需要根据具体的需求和场景来选择合适的指令执行方式,包括流水线技术、超流水线技术和超标量技术等。
一种旨在利用指令级并行性的指令集架构。传统的中央处理器(CPU、处理器)大多允许程序指定指令按顺序执行,而VLIW处理器允许程序明确指定指令并行执行。
VLIW处理器指令字较长,一般为128位,甚至上千位。它把许多条指令连在一起,形成一个非常长的指令字,通过将多条指令打包,形成一条长指令,从而提高处理器的性能。
总的来说,超长指令字技术是一种非常有效的指令执行方式,它能够充分利用软件的作用
并发性包括同时性和并发性。其中同时性是指两个或两个以上的事件在同一时刻发生,并发性是指两个或两个以上的事件在同一时间间隔内连续发生。
并行处理从计算机信息处理的角度来看可分为:
1.存储器操作并行
2.处理器操作步骤并行(流水线处理机)
3.处理器操作并行(阵列处理机)
4.指令,任务,作业并行(多处理机)
一种特殊类型的计算机架构。其核心是一个由多个处理单元(PE)构成的阵列,这些处理单元在单一控制部件(CU)的控制下对各自的数据进行相同的运算和操作
工作原理是通过将大量相同的处理单元按一定方式互连成阵列,然后在单一控制部件的控制下,对各自所分配的不同数据并行运行同一组指令规定的操作。这种并行处理方式使得阵列处理机在处理大量数据时能够实现非常高的运算效率和吞吐率
分类 浮点阵列处理机和位片式阵列处理机两类。浮点阵列处理机主要用于浮点运算,而位片式阵列处理机则主要用于位操作。这些处理机通常由多个完全相同的处理部件和一个公共的控制部件组成,每个处理部件包括一个处理单元和一个存储器。
优点在于其高度的并行性和计算效率。然而,其缺点也很明显,即其脉动阵列的构形与特定计算任务和算法密切相关,具有某种专用性,这限制了其应用范围。此外,阵列处理机的设计和实现也相对复杂,需要考虑到处理单元之间的通信和同步等问题。
阵列处理机是一种高性能的计算机架构,适用于需要处理大量数据和进行高速运算的应用场景。然而,由于其专用性和复杂性,其在实际应用中的使用受到了一定的限制
SIMD和MIMD是典型的并行计算机,SIMD有共享存储器和分布存储器两种形式
具有共享存储的SIMD结构
PE为处理单元,CU为控制部件,M为共享存储器,ICN为互联网络
具有分布存储器的SIMD结构
PE为处理单元,CU为控制部件,PEM为局部存储器,ICN为互联网络
多台处理机组成的系统,每台处理机有属于自己的控制部件,可以执行独立的程序,共享一个主存储器和所有的外部设备。
多指令流多数据流计算机。在多处理机系统中,机器之间的互联技术决定了多处理机的性能。需要满足高频带,低成本,连接方式的多样性以及在不规则通信下连接的无冲突性。
优点:地址变换简单,缺点是灵活性差
优点:灵活性好,缺点:变换比较复杂,速度较慢
前面两种方式的折中,是规定组采用直接映射块的方式进行映射
对贮存的一种抽象,成为虚拟存储(Virtual Memory),使用虚拟地址的概念来访问主存,使用专门的MMU将虚拟地址转换为物理地址访问主存。
页式:页表硬件小,查表速度快但不利于存储保护
段式:界限分明便于程序的模块华设计,易于编译修改和保护,但主存利用率低,会产生大量碎片,查表速度较慢
段页式:这种方法,但地址变换速度比较慢
每个中断源都有属于自己的一根中断请求信号线向CPU提出中断请求
当CPU检测到一个中断请求信号以后,就转入到中断服务程序去轮询每一个中断源以确定是谁发出了中断请求信号,对每个设备的响应优先级由软件设定
硬件查询法,所有的I/O模块共享一根共同的中断请求线,而中断确认信号则以链式在各模块间相联。当CPU检测到中断请求信号时,则发出中断请求信号。中断确认信号依次在I/O模块间传递,知道发出请求的模块,该模块则把它的ID送往数据线由CPU读取。
一个I/O设备在发出中断请求之前,必须鲜活的总线控制权,所以可以通过总线仲裁机制来裁定水可以发出中断请求信号,当CPU发出中断响应信号后,该设备会把自己的ID发往数据线。
中断向量表用来保存各个中断源的中断服务程序的入口地址,当外设发出中断请求信号(INTR)以后,由中断控制器(INTC)确定其中断号,并根据中断号查找中断变量表来取得其中断服务程序的入口地址。同时INTC把中断请求信号提交给CPU
机密性,完整性,可用性,可控性,可审查性