外围设备

外围设备

各种外围设备的数据传输速率相差很大。如果保证主机与外围设备在时间上同步,则设计外围设备的定时问题。

在计算机系统中,CPU对外围设备的管理有一下五种方式:1.程序查询方式;2.程序中断方式;3.直接存储访问(DMA)方式;4.通道方式;5.外围处理机(PPU)方式;其中第一种对CPU的资源浪费最大,而第五种使CPU得效率得到最大发挥,但是需要更多的硬件支持。

程序中断方式是各类计算机中广泛使用的一种数据交换方式。当某一外设的数据准备就绪后,他“主动”向CPU发送请求信号,CPU响应中断请求后,暂停运行主程序,自动转移到该设备的中断服务子程序,为该设备进行服务,结束时放回主程序。中断处理过程可以嵌套进行,优先级高的设备可以中断优先级低的中断服务程序。为此,需要有响应的中断优先级仲裁,中断向量产生和中断控制逻辑等硬件支持。

DMA技术的出现,使得外围设备可以通过DMA控制器直接访问内存,与此同时,CPU可以继续程序。DMA方式采用以下三种方法:1.停止CPU访问;2周期挪用;3.DMA与CPU交替访问。DMA控制器按其组成结构,分为选择性和多路型两类。选择型控制器在物理上可以连接多个设备,而在逻辑上只允许一个设备,适合于连接高速设备。多路型控制器不仅在屋里上而且在逻辑上可以连接多个设备,适合于连接慢速设备。

通道是一个特殊功能的处理器。他有自己的指令和程序专门负责数据输入输出的传输控制,从而使CPU将“传输控制”的功能下放给通道,CPU只负责“数据处理”功能。这样,通道与CPU分时使用内存,实现了CPU内部的数据处理与I/O设备的平行工作。通道有三种类型;1.选择通道,物理上可以连接多个设备,但在某一时间段内只选择一个设备工作,适用于连接磁盘一类高速外围设备,信息以成组方式高速传输。 2.数组多路通道,保留了选择通道高速传送数据的优点,又充分利用了控制性操作的时间间隔为其他设备服务,使通道效率充分得到发挥。3.字节多路通道,与数组多路通道相同处在于,他们是多路通道,在一段时间内交替执行多个设备的通道程序,使这些设备同时工作。不同处在于,数组多路通道只允许一个设备进行传输型操作,数据传送单位是数据块;字节多路通道可允许每个设备进行传输性操作,数据传送单位是字节。

标准化是建立开放式系统的基础,CPU,系统总线,I/O总线及标准接口技术近年来取得了重大进步。其中并行I/O接口SCSI与串行I/O接口IEEE1394是两个最具权威性和发展前景的标准接口技术。

SCSI 是系统级接口,是处于主适配器和智能设备控制器之间的并行I/O接口,改进的SCSI可允许连接1-15台不同类型的高速外围设备。SCSI的不足处在于硬件较昂贵,并需要通用设备程序和各类设备的驱动程序模块的支持。

IEEE 1394 是串行I/O接口。与SCSI并行I/O接口相比,它具有更高的数据传输速率和数据传送的实时性,具有更小的体积和连接的方便性,IEEE 1394的一个重大特点是,各被连接的设备的关系是平等的,不同PC介入也能自成系统。因此IEEE 1394 已成为Intel,Microsoft等公司联手制定的PC 98系统设计指南的新标准。

处理机调度

处理机调度

对于进程的执行,操作系统必须做出三个决定:长程调度,中程调度以及短程调度。

对于短程调度的设计可面向用户,也可面向系统。用户主要关心响应时间,而系统关系吞吐量和处理机利用率。

短程调度的算法有:先来先服务(FCFS),时间片轮转法,最短进程优先,最短剩余时间优先,最高响应比优先,多级反馈队列等。调度算法的选择取决于期望的性能及实际应用。

在多处理机系统中。处理机可共享内存,各调度算法的性能差别不大。

实时进程和任务要与外部事件交互,要满足一定的时限,实时操作系统就是要处理实时进程,关键在于满足时限。

============================================

在一个多道程序系统中,主存同时存在多个进程。每个进程在两种状态之间转换:要么占用处理机,要么等待I/O执行或等等待其他事件发生。处理机忙于执行一个进程而其他进程只有等待。

调度室多道程序的关键。事实上,有4种类型的调度。

名称 作用
长程调度 决定增加与执行的进程池
中程调度 决定增加部分或全部位于主存内的进程数
短程调度 决定哪个就绪进程被处理机执行
I/O调度 决定哪个进程完成的I/O请求被可用I/O设备处理

处理机调度的目的是使处理机在满足系统要求的响应时间,吞吐量和处理机利用率的前提下及时的运行进程。在许多系统中,调度被分成三种:长程,短程和中程调度。

当产生一个新进程时,就执行长程调度,将新进程加到一组活动进中,中程调度室替换工的一部分,他将一个新进程的部分或全部调入内存以便执行。短程调度真正决定哪一个就绪进程将在下次执行。

由于调度决定了哪些进程将等待哪些进程被执行,所以它直接影响到系统的执行效率。从根本上讲,调度就是要使队列延迟最小,并优化系统的执行效率

调度算法

短程调度的主要目标是以使系统性能得到优化的方法来分配处理机时间。调度算法需要从各个方面来考虑。

调度标准有以下几个方面:

  1. 响应时间
  2. 轮转时间,期限
  3. 预测性
  4. 吞吐量,处理机利用率
  5. 公平性,优先权,资源平衡。

调度策略

分为2类:

  1. 非抢占式。在这种情况下,只要进程处于运行态,他就一直执行直到终止或I/O阻塞或请求其他的OS服务。
  2. 抢占式。OS中断当前运行进程,将其便成就绪状态。抢占式的决定可以在到达一个新进程,将则色进程变为就绪状态的中断发生时,或时钟中断期间进行。

抢占策略比非抢占的开销要大,但他哥所有进程提供了更好的服务。因为他防止了一个进程独占处理机时间过长。另外他可以通过有效的现场切换机制(尽量使用硬件)和一个大的主存以容纳多的程序来降低其开销。

存储系统

存储系统

计算机对存储器的要求是容量大,速度快,成本低。为了解决这三方面的矛盾,计算机采用多级存储体系结构,即cache,主存和外存。cpu能直接发你给我内存(cache, 主存),但不能直接访问外存。存储器的技术指标有存储容量,存取时间,存储周期,存储器带宽。

广泛使用的SRAM和DRAM都是半导体随机读写存储器,前者速度比后者快,按集成度不如后者高。二者的有点是体积小,可靠性高,价格低廉,缺点是断电后不能保存信息。只读存储器和闪速存储器正好弥补了SRAM和DRAM的缺点,即使断电后也能保存原先使用的数据,特别是闪速存储器能提供高性能,低功耗,高可靠性以及瞬时启动能力,因而有可能使现有的存储器体系结构发生重大变化。

双端口存储器和多模块交叉存储器属于并行存储器结构。前者采用空间并行技术,后者采用时间并行技术。

相联存储器不是按地址而是按内容访问的存储器,在cache中用来存放地址表,在虚拟存储器中用来存放段表,页表和快表。在这两种应用中,都需要快速查找。

cache是一种告诉缓存存储器,是为了解决CPU和内存之间速度不匹配而采用的一项重要的硬件技术,并且发展为多节cache体系,指令cache和数据cache分设体系。要求cache的命中率接近于1.主存于cache的地址映射有全相连,直接,组相连三种方式。其中组相连方式是前两者的折中方案,适度的兼顾了两者的优点又尽量避免其缺点,从灵活性,命中率,硬件投资来说较为理想,因而得到普遍采用。

虚拟存储器指的是主存-外存层次,它给用户提供了一个比实际主存空间大得多的虚拟地址空间。因此虚拟存储器只是一个容量非常大的存储器分逻辑模型,不是任何实际的物理存储器,按照主存-外存层次的信息传送单位不同,虚拟存储器有页式,段式,段页式三类。

多个用户共享主存时,系统应提供存储保护。通常采用的方法存储区域保护和访问方式保护,并用硬件来实现。有些机器中提供特权指令来实现某种保护。

总线系统

总线系统

总线是构成计算机系统的互联机构,是多个系统部件之间进行数据传送的公共通道,并在争用资源的基础上进行工作。

总线有物理特性,功能特性,电器特性,机械特性,一次必须标准化。微型计算机系统的标准总线从ISA总线(16位,带宽8MB/s)发展到EISA总线(32位,带宽33.3MB/s)和VESA总线(32位,带宽132MB/s),又进一步发展到PCI总线(64位,带宽264MB/s).衡量总线性能的重要指标是总线带宽,它定义为总线本身所能达到的最高传输速率。

当代流行的标准总线追求与结构,CPU,技术无关的开发标准。其总线内部结构包含:1.数据传送总线(由地址线,数据线,控制线组成);2.仲裁总线;3.中断和同步总线;4公用线(电源,地线,时钟,复位等信号线)。

计算机系统中,根据应用条件和硬件资源不同,信息的传输方式可采用:1.并行传送。2.串行传送。3.复用传送。

各种外围设备必须通过“接口”与总线相连。接口是指CPU,主存,外围设备之间通过总线进行连接的逻辑部件。接口部件在它动态连接的两个功能部件间起着缓存器和转换器的作用,以便实现彼此之间的信息传递。

总线仲裁是总线系统的核心问题之一。为了解决多个主设备同时竞争总线控制权的问题,必须具有总线仲裁部件。它通过采用优先级策略或公平策略,选择其中一个主设备作为总线的下一次主方,接管总线控制权。

按照总线仲裁电路的位置不同,总线仲裁分为集中式和分布式仲裁。集中式仲裁方式必有一个中央仲裁器,它受理所有功能模块的总线请求,按优先原则或公平原则进行排队,然后仅给一个功能模块发出授权信号。分布式仲裁不需要中央仲裁器,每个功能模块都有自己的仲裁号和仲裁器。通过分配优先级仲裁号,每个仲裁器将仲裁总线上得到的仲裁号与自己的仲裁号进行比较,从而获得总线控制权。

总线定时是总线的又一核心问题之一。为了同步主方,从方的操作,必须制定定时协议。通常采用同步定时与异步定时两种方式。在同步定时协议中,事件出现在总线上的时刻有总线时钟信号来确定,总线周期的长度是固定的。在异步定时协议中,后一事件出现在总线上的时刻取决于迁一事件的出现,即建立在应答式或互锁机制基础上,不需要同意的公共时钟信号。在异步定时中,总线周期的长度是可变的。

当代的总线标准大都能支持以下数据传送模式:1.读/写操作;2.块传送操作。3.写后读,读修改写操作;4.广播。广集操作。

PCI 总线是当前流行的总线,是一个高带宽且与处理器无关的标准总线,又是至关重要的层次总线。它采用同步定时协议和集中式仲裁策略,并具有自动配置能力。PCI适合于低成本的小系统,因此在微机系统中得到了广泛的应用。

正在发展的Futurebus+总线是迄今为止最复杂的总线标准,能支持64位地址空间,64位,128位,256位数据传输,为下一代的多处理机系统提供了一个稳定的平台。它可以满足各类高性能系统的需求,因此适合于高成本的较大规模计算机系统。

指令系统

指令系统

一台计算机中所有机器指令的集合,称之为这台计算机的指令系统。指令系统是表征一台计算机性能的重要因素,他的格式与功能不仅直接影响到机器的硬件结构,而且也影响到系统软件。

指令格式是指令字用二进制表示的结构形式,通常由操作码字段和地址码字段组成。操作码字段表征指令的操作特性与功能,而地址码字段只是操作数的地址。目前多采用二地址,单地址,零地址混合方式的指令格式。指令字长度分为:单字长,半字长,双字长三种形式。高档微型机中目前多采用32位长度的单字长形式(2017年都是64位的了)。

形成指令地址的方式,称为指令寻址方式。有顺序寻址和跳跃寻址两种,由指令计数器来跟踪。

形成操作数地址的方式,称为数据寻址方式。操作数可放在专用寄存器,通用寄存器,内存和指令中。数据寻址方式有隐含寻址,立即寻址,直接寻址,简介寻址,结存器寻址,寄存器间接寻址,相对寻址,基值寻址,变址寻址,块寻址,段寻址等多种。按操作数的物理位置不同,有RR型和RS型。前者比后者执行的速度快。

堆栈是一种特殊的数据寻址方式,采用”先进后出”原理。按结构不同,分为寄存器堆栈和存储器堆栈。

不同机器有不同的指令系统。一个较完善的指令系统应当包含数据传送类指令,算术运算类指令,逻辑运算类指令,程序控制类指令,I/O类指令,字符串类型指令,系统控制类指令。

RISC指令系统是CISC指令系统的改进,他的最大特点是:1.指令条数少;2.指令长度固定,指令格式和寻址方式种类少;3.只有取数/存数指令访问存储器,其余指令的操作均在寄存器直接进行。

操作系统的并发

现代操作系统的中心问题是多道程序,多进程和分布式式进程,并发是这些问题的基础,同时也是操作系统设计的基础,当多个进程并发执行时,无论是在多处理机系统还是在单处理机系统中都会出现进程间协同的问题。

并发进程可通过多种方式相互作用,互相透明的进程要为使用资源展开竞争。这些资源包括处理机时间,I/O设备的访问权等。当共享某一对象时,进程就间接地觉察到对方的存在,例如共享一块内存或一个文件,进程也可直接认识对方并通过交换信息进行协同,在这些相互作用中的主要问题是互斥和死锁。

对于并发进程,互斥一个必要的条件,在任一时期,只能有一个进程可以访问某一给定的资源或执行某一给定的函数,互斥可用来解决一些冲突,例如竞争资源。也可用于进程同步以使他们能协同工作。例如生产者/消费者模型,一个进程向缓冲区添加数据,另一些进程则从缓冲区取走数据。

现在已有了不少解决互斥问题的算法,其中最著名的是Dekker算法,软件方法开销较大,错误较多,第二种方法是使用特殊的机器指令支持互斥,这种方法虽然减小了开支,但仍有不足,因为它用到了忙等待

另一种解决互斥的方法是在操作系统内部提供支持,两个最常用的技术是信号量好消息传递,信号量和消息传递能方便地实现互斥,而消息传递还可用于进程间通信。

死锁

死锁是由于进程间相互竞争系统资源或通信而引起的一种阻塞现象。如果操作系统不采取特别的措施这种阻塞将永远存在。例如可以杀死一个或多个进程或强迫他们撤回。死锁可能涉及到可重用资源和消耗性资源,消耗性资源在被进程占用时即消失,例如消息和I/O缓冲区的信息。可重用资源是不因使用而受到破坏的资源,例如I/O通道和存储器。

处理死锁的方法通常有3种:死锁预防,死锁 检测和死锁避免。死锁预防通过破坏产生死锁的是哪个必要条件而保证不会出现死锁。在操作系统随时满足资源请求时就要用到死锁检测。操邹系统检测到死锁并采取措施消除死锁。死锁避免是通过对资源请求是否有可能导致死锁的分析来消除死锁的可能性。

文件管理

一个文件管理系统是一组系统软件,通过文件的使用为用户和应用提供服务,包括文件存取,目录维护和存取控制。文件管理系统可以看成一个系统服务,它本身由操作系统提供服务,而不是操作系统的一部分。但是,任何系统中,至少有一部分文件管理功能有操作系统提供。

文件是记录的集合,访问记录的方法决定记录的逻辑结构,而且在某种程度上决定记录在磁盘上的物理组织。如果一个文件主要是整体处理,那么顺序文件结构是最简单,最合适的。若干既需要顺序访问,也需要对一个文件随机访问,则一个索引顺序文件可以提供很高的性能。如果对文件是随机访问,那么索引文件或堆文件是最合适的。

无论选用哪种文件结构,都需要一个目录服务,以让文件组织成分层形式。这个结构对用户跟踪文件是十分有用的,对于文件管理系统为用户提供访问控制或其他访问也是有用的。

文件记录,即使是定长的,通常也不和物理磁盘块的尺寸相同。相应的,需要一些分块策略,复杂度,性能,和空间的使用决定使用的分块策略。

任何文件管理方法的一个关键功能是管理磁盘空间。其中包括了分配磁盘块给文件的策略。文件的分配使用了许多种方法和数据结构。另外,还需要对磁盘上没有使用的磁盘进行管理。其中主要维护含有空闲新的磁盘分配表。

编码-隐匿在计算机软硬件背后的秘密


概论

计算机组成原理概论

习惯上所称的“电子计算机”是指现在广泛引用的电子数字计算机,它分为专用计算机和通用计算机两大类。专用和通用是根据计算机的效率,速度,价格,运行的经济性和适应性来划分的。通用计算机又分为巨型机,大型机,中型机,小型机,微型机,单片机六类,其结构复杂性,性能,价格依次递减。

计算机的生命力在于他的广泛应用,应用的范围几乎涉及人类社会的所有领域。归纳下来,在科学计算,自动控制,测量与测试,信息处理,教育卫生,家用电器,人工智能等领域中的应用成就最为突出。

计算机的硬件是由有形的电子器件等构成的,它包括运算器,存储器,控制器,适配器,输入输出设备。传统上将运算器和控制器称为cpu,而将cpu和存储器称为主机。存储程序并按地址顺序执行,这是冯*诺依曼计算机的工作原理。也是计算机自动化工作的关键。

计算机的软件是计算机系统结构的重要组成部分,也是计算机不同于一般电子设备的本质所在。计算机软件一般分为系统程序和应用程序两大类。系统程序用来简化程序设计,简化使用方法。提高计算机的使用效率,发挥和扩大计算机的功能和用途,它包括:1. 各种服务型程序。2. 操作系统。 3. 语言类程序,4. 数据库管理系统。应用程序是针对某一应用课题领域开发的软件。

计算机系统是一个由硬件,软件组成的多级层次结构,它通常由微程序级,一般机器级,操作系统级,汇编语言级,高级语言级组成,每一级都能进行程序设计,且得到下面各级的支持。

计算器和运算器


计算机组成原理


进程


Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×