我们谈论生活,讨论技术,借由文字,抵达心灵。
编译程序 解释程序低级语言0 1 序列是 机器语言,机器指令程序,是最基本的计算机语言效率很低、可读性很差、难修改和维护容易记忆的符号代替机器语言:汇编语言称,机器语言、汇编语言 为 低级语言高级语言所以在此基础上,开发了 功能更强、抽象级别更高的语言以支持程序设计,于是就产生了面向各类应用的程序设计语言,称为 高级语言常见的高级语言:Java、C、C++、PHP、Python、Delphi、PASCAL 等这类语言与人们使用的自然语言比较接近,提高了程序设计的效率需要翻译的过程,翻译成计算机能够看懂的语言,计算机只能理解 0 1 序列翻译这个过程的,叫做:语言处理程序。语言之间的翻译形式有很多种:基本方式为 汇编、解释、编译源程序:用某种高级语言或汇编语言编写的程序:源程序,源程序不能直接在计算机上执行。如果源程序是用汇编语言编写的,则需要一个汇编程序将其翻译成目标程序后才能执行。如果源程序使用某种高级语言编写的,则需要对应的 解释程序 或 编译程序 对其进行翻译,然后在机器上运行。解释程序:一般用于解释脚本语言又叫 解释器。直接解释执行源程序,或者 将源程序先翻译成某种中间代码然后
流水线最长时间段,就是最大任务时间操作周期:最长时间段吞吐率:最长时间段的倒数加速比 = 不采用流水线 / 采用流水线连续输入 n 条指令的吞吐率:n / (执行一条指令的时间 + (n-1)x 最长时间段)存储系统内存(主存)、外存(辅存)主存 DRAM 动态随机存储器Cache SRAM 静态随机存储器 闪存,闪速存储器,介于 EPROM 和 EEPROM 之间以块为单位工作方式分类:只读存储器 ROM读写存储器 RAM按访问方式分类:可分为,按地址访问的存储器 和 按内容访问的存储器按寻址方式分类:随机存储器:可以对任何存储单元存入或读取数据,访问任何一个存储单元所需的时间都是相同的顺序存储器:访问数据所需要的时间与数据所在的存储位置相关,磁带是典型的顺序存储器直接存储器:介于随机读取和顺序存取之间的一种寻址方式。磁盘是一种直接存取存储器,它对磁道的寻址是随机的,而在一个磁道内则是顺序寻址。相联存储器:按内容访问的存储器虚拟存储器:由主存、辅存构成的局部性空间局部性缓存 Cache高速缓存用来存放当前最活跃的程序和数据,位于 CPU 和主存之间,容量一般在几千字节到几兆字节之间,
同步传输、异步传输CPU 与 内存 --> 同步两者速度相近,使用同一系统时钟步调完全一致,典型的 同步传输CPU 与 PCI 总线 --> 同步PCI 总线有固定的总线时钟所有设备同步于该时钟,同步传输CPU 与 I/O 接口 --> 同步I/O 接口通常也受系统总线时钟控制同步传输I/O 接口 与 打印机 --> 异步打印机是机械设备,速度远慢于 I/O 接口双方速度差异极大,无法共用时钟必须通过 握手信号(我准备好了、我收到了)来协调典型的 异步传输异步传输发生在 速度差异大 的设备之间错题微信计算机中,管理键盘最适合采用的 I/O 控制方式是:中断方式因为键盘是 慢速设备,并且无法预知 I/O 时间PCI 总线、SCSI 总线举例:PCI 总线:城市主干道,连接市中心(CPU)和各个地方(显卡、声卡等)SCSI 总线:专用货运专线,专门用来高效运输大量货物(硬盘、扫描仪等存储设备)PCI 总线,外围组件互联Peripheral Component Interconnect连接 CPU 和 各种扩展卡的通用总线,是电脑主板上最常见的总线。所有设备共享同一条
数据传输率某存储器存储周期为 250ns,每次读出 16 位,该存储器数据传输率是?数据传输率 = 每次读出位数 / 存储周期16 位=16 bit = 2B2B / 250ns = 2B / (250x 10^-9) = 8x10^6 B/sSRAM DRAMSRAM 静态随机存储器用 6 个晶体管 组成一个触发器来锁住 1 个 bit,只要有电,数据就一直在,不会丢失集成度:低功耗:高速度:极快不需要刷新价格:贵用途:CPU 缓存(Cache)容量:小DRAM 动态随机存储器用 1 个晶体管 + 1 个电容 存 1 个 bit,靠 电容 充电 / 放电,来表示 1 和 0集成度:高功耗:低速度:较慢需要刷新价格:便宜用途:内存条(RAM)容量:大DRAM 需要刷新因为:充电:1,放电:0,但是会慢慢掉电,所以必须定期重新刷新,一般每隔 几毫秒 就要刷新一次而 SRAM 的触发器结构不会漏电,所以不需要刷新I/O 五种工作方式:I/O 系统可以有 5 种不同的工作方式:程序控制方式无条件传送程序查询方式程序中断方式DMA 工作方式I/O 处理机无条件传送:I/O 总是准备好接受主机的
中断方式、DMA中断方式与 DMA 方式都可以实现外设与 CPU 之间的并行工作,都是解决 CPU 与 慢速 I/O 设备速度不匹配 问题的方案问题背景:CPU 极快,硬盘 / 键盘 / 网卡极慢,如果 CPU 一直等设备准备好,就是 轮询 就比较浪费。中断方式设备准备好了,主动通知 CPU。打扰 CPU 干活CPU 发出I/O请求 ↓ CPU 去干别的事(执行其他程序) ↓ 设备准备好了 → 发出中断信号 ↓ CPU 暂停当前工作,保存现场 ↓ CPU 处理中断(传输数据) ↓ CPU 恢复现场,继续之前的工作每次中断都需要 CPU 亲自参与数据传输适合 数据量小、不频繁 的设备,如,键盘 鼠标每次传输一个字 / 字节 就中断一次,数据量大时中断太频繁,CPU 开销大需要 CPU 保护现场DMA,Direct Memory Access 直接内存访问加一个专用硬件(DMA 控制器),让它代替 CPU 管数据传输,CPU 完全不参与中间过程。不打扰 CPU 干活CPU 告诉DMA控制器: 数据在哪、传到哪、传
Luckyxyz