龙空技术网

网络工程师学习笔记——计算机硬件知识重点

EDA365电子论坛 126

前言:

今天我们对“java哈夫曼编码译码器”大概比较重视,朋友们都需要剖析一些“java哈夫曼编码译码器”的相关文章。那么小编在网摘上汇集了一些对于“java哈夫曼编码译码器””的相关知识,希望大家能喜欢,咱们快快来了解一下吧!

香樟梧桐的第105篇文章

CPU体系结构

寄存器的考察比较多

CPU Central Proccessing Unit 中央处理单元

微处理器 Microprocessor

运算器 控制器 寄存组 内部总线

(这是百度图片找到的构架图,辅助参考理解)

控制器

程序计数器 指令寄存器 数据寄存器 指令译码器

1. 程序计数器 PC 指出下一条指令在主存中的存放地址指令是数据 PC增加指向下一条地址(理解待命状态)

2. 指令寄存器 IR 保存当前正在执行的指令寄存器的位数决定指令字长

3. 地址寄存器 AR 用于存放CPU当前正访问的内存单元的地址

4. 数据寄存器 暂存内存器中读出/写入的指令数据(跟后面的数据寄存器的区别)

5. 指令译码器 对获取的指令译码 执行一系列微操作信号 控制终端机各个部件

运算器

算数逻辑单元 通用寄存器 数据暂存器

程序状态字寄存器 执行控制器发来的命令 相应操作对数据的加工处理

1. ALU 各种算数逻辑

2. 通用寄存器存放操作数中间结果 各种地址信息 一些列存储单元

a. 数据寄存器

AX 累加寄存器 算数运算的重要寄存器

BX 基址寄存器

CX 计数寄存器 串操作循环控制

DX 数据寄存器

b. 地址寄存器

SI 源变地址寄存器

DI 目的变地址寄存器

SP 堆栈寄存器

BP 基址指针寄存器

c. 累加寄存器

AR AR为ALU提供区域

3. 数据暂存器 DR 用来暂存 不能放通用里 会破坏原有内容

4. 程序状态字寄存器

(以上需要系统学习,很多东西较为模糊,现在只能理解记忆)

CPU指令的执行

指令机器 语句二进制

操作码:操作性质功能

地址码:操作数的地址

操作码必须有 地址码可以很多

指令译码器测试操作码

指令寄存器中 操作字段的输出 就是指令译码器的输入

译码后操作控制器 相应信号

CPU指令的执行三个步骤

1. 取指令

根据程序计数器(提供地址) 主存储器中命令送主存数据缓冲(主存和高速缓冲的关系后面会介绍)

送往CPU内指令寄存器 更改程序计数器 (指向)下一条

2. 取操作数

无操作数直接下一过程

有操作数寻址方式计算地址存储器中 取操作数

3. 执行操作

根据操作码完成相应 操作数寻址方式保存结果

指令执行周期紧密相关

a. 取指周期 PC给出地址取指令

PC自动递增 出现转移指令 地址执行周期就会被改

此周期解决计算机操作数地址并取出操作数

b. 执行周期 完成指令操作码规定动作

传送结果/记录状态保留状态信息

c. 指令周期 一条指令从取出到执行完成

指令周期是完成一条指令的时间指令周期

划分几个不同阶段 阶段时间为机器周期

CPU工作周期或者基本周期 时间周期是时钟频率的倒数 是处理操作的基本单位

一个指令周期由若干机器周期组成 每个机器周期由若干时钟周期完成

CPU指令系统

1. 复杂指令集Complex Instruction Set Computer CISC

各条指令顺序串行 控制简单 利用率低 速度慢 为了兼容仍在使用

2. 精简指令集Reduced Instruction Set Computr RISC

由CISC发展出来 指令使用频率 概率(信息论哈夫曼编码 可以了解一下)

精简指令系统 超标量 超流水结构(不太理解)

指令格式统一 种类少 寻址简单 速度高

与CISC软硬件不兼容 高档服务器RISC

两者在以下几方面具有区别:

a. 指令系统指数目

b. 变成便利性

c. 寻址方式

d. 指令长度

e. 控制器的复杂性

CPU主要性能指标

1. 主频时钟频率 GHz 重要参数之一 但不是唯一参数

2. 位和字长单位时间一次处理二进制位数 (32位与64位系统的区别?)

3. 缓存 CPU与主存之间 内存小 速度快 接近CPU速度

解决CPU与主存之间速度不匹配问题缓存结构大小

L1 Cache 数据缓存指令 缓存跟CPU面积有关 很小

L2 Cache 内部/外部两种 内部接近主频 外部50%主频速度 2-4MB

(日常购买时的重要参数之一)

L3 Cache 大数据量计算使用为数值计算

流水线技术

流水线指令 分解小步骤

让不同指令操作步骤重叠 指令并行处理 加速程序速度

(像是工厂的流水线工人负责不同的部分 而不是一个人 完成整条流水任务)

执行命令最长的时间 变成了瓶颈

流水线周期总时间取决于操作步骤中最长时间的那个操作

流水线的性能指标

吞吐量 单位时间内可以处理的任务指令个数

加速比 某任务采用串行与流水模式的比值

效率 流水线中各个部件的利用率(不能有闲人)

内存结构和寻址

两大类 主存储器 辅助存储器 也就是内存和外存

主存储器类型:

1. RAM Random Access Memory CPU对RAM随机使用存储与物理位置无关 断电后信息丢失

DRAM SRAM DRAM定期刷性 SRAM不断电不丢弃

2. ROM 随机存取ReadyOnly Memory 固定在存储器内的信息

3. 顺序存取存储器Sequential Access Memory SAM 按照某种顺序时间跟物理位置有关磁带机

4. 直接存取存储器Direct Access Memory 直接向整个存储器某个范围按照顺序检索DAM比SAM快点

5. CAM Content AddressableMemory 基于数据内容 CAM选择一部分内容检索地址标记/比较并行进行速度比较快

高速缓存的概念

CPU与主存之间过度信息 调度和传送都是硬件完成

(日常生活中硬件解码 比软件解码快)

硬件首先自动取址 进行译码 如果需要的数据已经在高速存储器 主存储器地址映射为高速存储器 命中 如果不在 脱靶

硬件把数据从主存储器调出高速存储器

高速缓存的命中率

(没太吃透,不轻易笔记)

内存地址编址

内存单元编号 十六进制从小到大顺序排列

每个内存单元8it

(十六进制转换)

虚拟内存

主存不够在辅助存储划分一定空间 速度慢 但是可以满足特殊要求

属于计算机内存管理技术

数的表示与计算

定点数浮点数(不太理解)

定点整数定点小数

原码 二进制直接表示第一位符号位 0正1负

反码 正数本身负数除了符号各位取反

补码 正数本身负数除了符号各位取反 +1

移码 符号位取反的补码

总线与中断

BUS是连接计算机 一组信号线 传输信号的通道

通过BUS各部件可以互相通信 网状的不是点对点互联

1. 内部总线 CPU内部连接寄存器

2. 外部总线 CPU与外部设备连接传输信号:

a. 数据总线Data Bus 双向总线各个部件之间数据传输

b. 地址总线Address Bus CPU 主设备地址信号

c. 控制总线CPU Control Bus CPU与存储器接口控制信号

地址线的根数和存储器的容量大小密切关系

中断的原理

主存与外设之间进行数据传输 程序控制 程序中断控制 DMA

1. 程序控制 CPU执行相应的程序代码控制 依赖代码和CPU 效率低

2. 中断控制 紧急事件发生 CPU终止当前转入事件子程序 保存寄存器/保存现场 紧急事件处理完后恢复 紧急事件的处理方式中断 中断程序的入口就是中断向量(虽然我们感知任务是同时进行的)

a. 单级中断 不容许打断完成 才能打断

b. 多级中断 多个不同优先级 高级可以断低级 堆栈方式

中断提供CPU处理紧急事件手段但是保护现场

3. DMA CPU管理 主存与外设直接数据通路 大数据处理不中断、使用DMA

CPU初始化 地址空间转变 而后DMA控制

完成后告诉CPU CPU不需要全程参与 简单的控制DMA得到分权

总结:

比计算机四级简单

计算机四级虽然考试的意义不大

但是教材里知识点很多

后面需要抽完整时间 系统的补充一下计算机知识

专注电子工程技术

EDA365()平台成立于2006年,中国最大的互连设计专业论坛。整合电子产品开发所需用的设计工具、实际设计知识,以及丰富的工程技术设计和测试案例实践等诸多方面经验,为工程师提供设计培训演练、解疑答惑、就业实习、升级求职以及设计外包等专业服务。专注电子工程师能力提升和价值体现,是最具人气的电子工程师互动社区。

标签: #java哈夫曼编码译码器