外设通信方式
第一种,CPU通过I/O桥将键盘输入信息读入内部寄存器,然后将信息转到内存中
第二种,直接利用存储器存取(DMA)
缓存技术
由于不同的存储技术在存储速度和造价上相差巨大,为了高效的访问数据,现代计算机的存储系统会把最常用的数据放在读存速度快的存储设备上,而把不常用的数据放在读存速度慢的存储设备上。存储器系统是一个具有不同容量、成本和访问时间的存储设备的层级结构。从上往下容量越来越大,但访问速度越来越慢。上一层做为下一层的缓存来存储访问频率更高的数据,比如,cpu寄存器保存着最常用的数据。靠近CPU的小的、快速的高速缓存存储器是内存上一部分数据和指令的缓冲区域。主存缓存磁盘上的数据,而这些磁盘又常常作为存储在通过网络连接的其他机器的磁盘或磁带上的数据的缓冲区域。存储层次如下:
存储器的层次结构主要思想是上一层的存储器作为低一层存储器的高速缓存,因此寄存器的高速就是L1,L1的高速缓存就是L2
高速缓存器是CPU与内存之间的一种静态随机访问存储器,现在的计算机通常有L1、L2、L3三级缓存L1的访问速度几乎与寄存器相同
操作系统管理硬件
在所有的通信模式中应用程序都没有直接访问外设,而是通过操作系统进行通信(操作系统本身也是一种应用程序),而操作系统的存在主要有两个作用:1、防止硬件被失控的应用程序滥用2、为应用程序提供统一的机制来控制外设。操作系统实现这两个功能的原理是:抽象概念(进程、虚拟内存、文件系统)文件是对I/O的抽象、虚拟内存是对主存和磁盘I/O的抽象。
进程
程序在操作系统上运行时,操作系统会提供一种好像操作系统上只运行了一个程序的假象,程序独占CPU、内存、I/O。处理器看上去就行在不断一条接一条地执行程序中的指令,这些假象是通过进程来实现的。
进程是操作系统对一个正在运行的程序的抽象,在一个系统上可以同时运行多个进程,而每个进程都好像独占一个CPU,但事实上,CPU通过进程通过分配时间片和优先级并发运行。操作系统实现进程之间切换称为上下文切换,如下图所示一个进程进入到另一个进程是由操作系统内核管理的,当应用程序需要操作系统的某些操作时,比如读文件,它就会执行一条特殊的系统调用指令,将控制权传递给内核,然后内核执行完被请求的操作并返回应用程序。
多核处理器
多核处理器是将多个CPU(称为“核”)集成到一个电路芯片上。下图是一个典型的多核处理器组织架构,每个核都有自己的高速缓存,其中L1的高速缓存分为两个部分,L1d保存最近取到的指令,L1i存放数据,L3则是所有CPU共享的高速缓存区
END