前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软件设计师学习笔记1 硬件组成-CPU-编码-浮点数

软件设计师学习笔记1 硬件组成-CPU-编码-浮点数

作者头像
Designer 小郑
发布2024-06-14 08:21:37
840
发布2024-06-14 08:21:37
举报
文章被收录于专栏:跟着小郑学JAVA跟着小郑学JAVA

作者主页Designer 小郑 作者简介:3年JAVA全栈开发经验,专注JAVA技术、系统定制、远程指导,致力于企业数字化转型,CSDN博客专家,阿里云社区专家博主,蓝桥云课讲师。

一、计算机硬件组成

计算机基本硬件系统由运算器、控制器、存储器、输入设备、输出设备组成。

CPU(中央处理单元)包括运算器、控制器,用于数据加工处理,能完成各种算数、逻辑运算及控制功能。

存储器是计算机的记忆设备,分为内部存储器和外部存储器

输入设备和输出设备合称为外部设备,简称外设。

二、中央处理单元

2.1 CPU的功能

  • 程序控制:CPU通过执行指令,来控制程序的执行顺序。
  • 操作控制:一条指令需要多个信号配合完成,CPU可以通过发送指令,控制不同部件的操作。
  • 时间控制:对各个结点进行时间节点上的控制。
  • 数据处理:进行算数运算和逻辑运算。

2.2 CPU的组成

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

考点1:哪些寄存器属于运算器 / 控制器?

考点2:每个寄存器是做什么的?

2.2.1 运算器

例:3 + 5 = 8。

  • 算数逻辑单元ALU:实现算数逻辑运算,可以存储一个源操作数:3
  • 累加寄存器AC:存储运算结果或一个源操作数:8 或 5
  • 数据缓存寄存器DR:暂存内存指令数据
  • 状态条件寄存器PSW:保存指令结果的条件码内容,如计算溢出,除零异常等等。
2.2.2 控制器

计算机执行指令,首先要找到下一条执行的指令在哪里(在程序计数器PC里),然后把指令从内存中取出来,保存在指令寄存器IR中,接着对指令进行分析(用指令译码器ID

  • 指令寄存器IR:暂存CPU的执行指令
  • 程序计数器PC:存放指令地址
  • 地址寄存器AR:保存CPU当前所访问的地址。
  • 指令译码器ID:分析指令操作码,分析指令是做什么的

取址(找到地址、取出)——分析——执行(需要操作数等)——

CPU是根据指令周期的不同阶段,来区分二进制的指令和数据的。

2.2.3寄存器组

是一个存储器,很小但速度快,32位 64位。

2.2.4 内部总线

通过总线,把CPU的各部件串联起来。

三、数据表示

3.1 进制转换

考点:二进制、十进制和十六进制的转换

  • R进制转10进制:位权展开法
  • 10进制转R进制:除于R倒取余数
  • M进制转N进制:结合以上两种方法

二进制:0b开头 十六进制:0x开头,或者H结尾

3.2 机器数

机器数:各种数值在计算机中表示的形式,使用二进制,小数点隐含不占位置。

可以分为无符号数和有符号数。

正数符号为0,负数符号为1

定点表示法

  • 纯小数
  • 纯整数

真值:机器数对应的实际数值。

3.3 原码转换

举例:-45

3.3.1 原码

一个数的二进制表示

代码语言:javascript
复制
10101101
3.3.2 反码

正数的反码即原码负数在原码的基础上,符号位不变,其余取反

代码语言:javascript
复制
11010010
3.3.3 补码

正数的补码即原码负数在原码的基础上,符号位不变,其余取反,再加 1,有进位则进位

代码语言:javascript
复制
11010011
3.3.4 移码

在补码的基础上,首位取反

代码语言:javascript
复制
01010011

原码和反码的范围,比补码和移码要少一位,一位0占了两个数(+0和-0),即能表示的数字范围少了一个。

类型

范围

原码

-127到+127

反码

-127到+127

补码

-128到+127

移码

-128到+127

真题:如果 2X 的补码为 90H,那么 X 的真值是? 答:首先 90H 是是十六进制,转换为二进制为 1001 0000,因首位是 1,所以为负数。 因负数的补码=原码数字位取反+1,所以 2X 的原码为 1001 0000 减 1 再数值位取反,结果为 11110000,即 -122 所以 X = -56

3.4 浮点数

表示方法:

N = F \times 2^E
  • E:阶码
  • F:尾数

类似于科学计数法。

比如

85.125 = 0.85125 * 10^2
101.011 = 0.101011 * 2^3

阶符

阶码

数符

尾数

浮点数能表示的范围,由阶码决定。

浮点数能表示的精度,由尾数决定。

浮点数的运算(不考):对阶、尾数计算、结果规格化

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-06-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、计算机硬件组成
  • 二、中央处理单元
    • 2.1 CPU的功能
      • 2.2 CPU的组成
        • 2.2.1 运算器
        • 2.2.2 控制器
        • 2.2.3寄存器组
        • 2.2.4 内部总线
    • 三、数据表示
      • 3.1 进制转换
        • 3.2 机器数
          • 3.3 原码转换
            • 3.3.1 原码
            • 3.3.2 反码
            • 3.3.3 补码
            • 3.3.4 移码
          • 3.4 浮点数
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档