码迷,mamicode.com
首页 > 编程语言 > 详细

【Java NIO】系统基础

时间:2018-07-08 17:16:50      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:结果   语言   内容   操作   解码   image   ima   磁盘   之间   

系统硬件

技术分享图片

  • CPU - 中央处理单元
  • ALU - 算术逻辑单元
  • PC - 程序计数器
  • USB - 通用串行总线

总线

总线,贯穿整个系统的一组电子管道,在各个部件间传递字节流信息。

传送定长的字节块,称为字;字中的字节数,称为字长。

处理器

CPU,中央处理单元,是解释/执行存储在主存中指令的引擎。

PC,程序计数器,在任何时间点上,都指向主存中某条机器语言指令(内含其地址)。

寄存器文件,存储设备,CPU的核心。它是一个小的存储设备,由一些字长大小的寄存器组成,这些寄存器每个都有唯一的名字。

ALU计算新的数据和地址值。

从系统通电开始,直到系统断电,处理器一直重复指向相同的基本任务:从PC指向的存储器处读取指令,解析指令,执行指令指示的简单操作,然后更新PC指向下一条指令。

  • 加载 - 从主存中拷贝一个字节或一个字到寄存器,覆盖寄存器原来的内容。
  • 存储 - 从寄存器拷贝一个字节或一个字到主存的某个位置,覆盖这个位置上的原来的内容。

 三大逻辑门

与(And)、或(Or)、非(Not)

 时钟控制

组合电路本质上不存储任何信息。它们只是简单地响应输入信号,输出等于输入的某个函数转换。

大多数时候,寄存器都保持在稳定状态(x), 产生的输出等于它的当前状态。信号沿着寄存器前面的组合逻辑传播,产生了一个新的寄存器输入(y), 但只要时钟是低电位,寄存器的输出就保持不变。当时钟变成高电位的时候,输入信号就加载到寄存器,成为下一个状态y, 这个状态就成为寄存器的新输出。寄存器作为电路不同部分中的组合逻辑之间的屏障,只有在每个时钟上升沿时,值才会从寄存器的输入传送到输出。

技术分享图片

 

指令阶段

一条指令包含很多操作,可以将这些操作组织为阶段序列。

  • 取指(fetch) :从存储器读入指令,地址为PC的值。
  • 解码(decode) :从寄存器文件读入最多两个操作数,得到valA和/或valB。
  • 执行(execute) :ALU要么执行指令指明的操作,要么增加或减少栈指针。
  • 访存(memory) :将数据写入存储器,或者从存储器中读取数据。
  • 写回(write back) :最多可以写两个结果到寄存器文件。
  • 更新PC(PC update) :将PC设置为下一条指令的地址。

流水线技术

如前所提指令阶段,将指令分解为多个阶段,并让不同指令的各个阶段重叠,从而实现几条指令并行处理,以加速程序运行。

指令的每个阶段都有各自独立的电路来处理,每完成一步,就进到下一步,而前一步则处理后续指令。

 

 技术分享图片

主存储器

主存是一个临时存储设备,在处理器执行程序时,被用来存放程序,以及程序处理的数据。

可以看作是一个线性字节数组,每个字节都有自己唯一的地址(数组索引),地址从0开始。

 

存储器层次模型


虚拟内存


高速缓存


进程管理


线程调度

I/O设备

I/O, 输入/输出设备,是系统与外界的联系通道。

磁盘



【Java NIO】系统基础

标签:结果   语言   内容   操作   解码   image   ima   磁盘   之间   

原文地址:https://www.cnblogs.com/aniao/p/9276832.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!