首页 > 其他分享 >基础知识-计算机组成原理

基础知识-计算机组成原理

时间:2023-06-16 21:23:52浏览次数:55  
标签:计算机 二进制 码距 IR 基础知识 指令 原理 D4 101011

(2023-6-16,未更新完)

参考资料

2021年计算机组成原理考研复习指导 | 王道考研
【重学计算机】计算机组成原理 | cnblogs | 闪客sun

概论

可以在计算机中直接执行的语言和用助记符编写的语言是(机器语言)和(汇编语言)。机器语言是唯一可以直接执行的语言,汇编语言用助记符编写。而正则语言是编译原理中符合正则文法的与语言。

边翻译边执行的是(解释)程序,把汇编语言源程序转变为机器语言程序的过程是(汇编)。由高级语言转化为汇编语言的过程成为(编译)。

到目前为止,计算机中所有的信息仍以二进制方式表示的理由是(由物理器件的性能决定)。与逻辑电路中的高、低电平对应。

硬件

主存储器

基本组成是

地址寄存器→存储体←→数据寄存器
    ↑       ↑       ↑
    |       |       |
    ————时序控制逻辑———

地址寄存器(MAR)存放(访存地址)。用于寻址,位数对应着存储单元的个数。
存储体存放(二进制信息)
数据寄存器暂时存储从(存储体)中(要读或写的信息)
时序控制逻辑操作(所需的各种时序信号)

运算器

用于进行算术运算和逻辑运算。
算术运算,加减乘除;逻辑运算,与、或、非、异或、比较、移位等运算

作用 符号
等于 ==
不等于 !=
小于 <
大于 >
小于等于 <=
大于等于 >=
&&
||
!
异或 ^
  • &&:同为真时为真
  • ||:同为假时为假
  • ^:相同为假

控制器

控制器→(程序计数器)PC→(地址寄存器)MAR——————————————————————→地址
↑ | ↑
| | 标志寄存器(PSW)←算术逻辑单元(ALU)←通用寄存器(GPRs)
| |                     ↑  |              ↑
| |—————————————————————|——|——————————————|——————————————→ (控制主存储器)
|                          ↓              |
(指令寄存器)IR      (数据寄存器)MDR—————————

PC存放执行指令
IR存放当前指令,呢哦人能够来自MDR。指令的操作码OP(IR)送至CU,分析指令并微操作命令序列;地址码Ad(IR)送往MAR,用以操作数。

软件

计算机工作过程

  • 程序和数据装入主存储器
  • 将源程序转换成可执行文件
  • 从可执行文件的首地址开始逐条执行指令

以C语言为例子

hello.c→(预处理)→hello.i→(编译器)→hello.s→(汇编器)→hello.o→(连接器)→hello
                                                      printf.o__↑

指令执行过程

  • 取指令:PC→MAR→M→MDR→IR
  • 分析指令:OP(IR)→CU
  • 执行指令:Ad(IR)→MAR→M→MDR→ACC

多级层次结构

M4(高级语言机器) 用编译程序翻译成汇编语言程序
M3(汇编语言机器) 用汇编程序翻译成机器语言程序
M2(操作系统机器) 用机器语言解释操作系统
-----------------  软/硬件交界面
M1(机器语言机器) 用微程序解释机器指令
M0(微指令系统) 由硬件直接执行微指令

应用程序-高级语言-汇编语言-操作系统-指令集架构层-微代码层-硬件逻辑层

存储程序

存储程序是指将指令以代码的形式事先输入计算机主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。
计算机按此原理有5大功能:数据传送、数据存储、数据处理、操作控制、操作判断。

运算速度:

  • 吞吐量:系统在单位时间内处理请求的数量
  • 响应时间:从用户提交请求到系统首次产生响应并获取其所需要的结果所用的时间
  • 时钟周期:节拍脉冲或T周期,CPU中最小的时间单位
  • 主频:机器内部的主时钟的频率,时钟周期的倒数
  • CPI:执行一条指令所需的时钟周期数
  • 执行时间:运行一个程序所花费的时间
  • MIPS:每秒执行多少百万条指令
  • FLOPS:每秒执行多少次浮点运算,分为MFLOPS、GFLOPS等

数据

数制与编码

  • 二进制:2^i,i为位数。2=0000 0010,4=0000 0100,8=0000 1000。以此类推
  • 八进制:二进制中的3位数编为一组。1111000010.01101 = 001 111 000 010 . 011 010 = 1 7 0 2 . 3 2 =(1702.32)八进制
  • 十六进制:二进制中的4位数编为一组。1111000010.01101 = 0011 1100 0010 . 0110 1000 = 3 C(12) 2 . 6 8 =(3C2.68)十六进制
  • 十进制:(11011.1)二进制=1x2^4 + 1x2^3 + 0x2^2 + 1x2^1 + 1x2^0 + 1x2^-1 =27.5
    123.6875=123进行2的因式分解得出(1111011)二进制 + 0.6875进行乘2取整,乘积到1.0即为结束 = (1111011.1011)二进制

真值和机器数

真值:"+""-"符号,真值是机器数所代表的实际值
机器数:"0"代表"正 +","1"代表"负 -",如0,101=0101=+5

原码:X=+101011 , [X]原=00101011= 00 101011 ; X=-101011 , [X]原=10101011= 10 101011
反码:X=-101011 , [X]原=10101011= 1 0 101011 , [X]反=11010100=1 1 010100
补码:X=-101011 , [X]反=11010100=1 1 010100 , [X]补=11010101=1 1 010101(反码的基础上按照正常的加法运算加1)
移码:X=-101011 , [X]补=1 1 010101 ,[X]移=0 1 010101(将补码的符号位取反)

  • 源码是计算机唯一认识的语言结构;
  • 反码在源码的基础上符号位不动,其他取反;
  • 补码=反码+1(符号位参与运算)。补码是为了进行做加减运算,因为计算机只有加法计算器,所以a-b的处理方式为a+(-b)
  • 移码在补码的基础上,符号位取反。移码只能用于表示整数

校验码

  • 基本原理:增加冗余码
  • 码距:合法编码之间不同二进制位数的最小值;
    1100和1101之间的码距为1,因为只有1位改动;1001和0010之间码距为3,因为有3位改动,1、3、4位改动。
    所有码距的算法就是对比二进制数字,然后看几个位置不同,不同的数量为码距。

码距与检错、纠错能力:

码距 d>=e+1:检查e个错误
码距 d>=2t+1:纠正t个错误
码距 d>=e+t+1:同时检查e个错误,并纠正t个错误。(e>=t)

校验方式

奇偶:在原编码上加一个校验位,校验整个校验码中1的个数是否为奇数或偶数
海明:按某种规律分成若干组,每组安排一个校验位进行奇偶性测试,产生多位检测信息,并得出出错位置
循环冗余(CRC):在K位信息码后再拼接R位的校验码,利用模2除法检验编码正确性

例子
  1. 二进制1001101和1010111的奇校验码和偶校验码
    设最高位为校验位
    (原)1001101 (奇)11001101 (偶)01001101
    (原)1010111 (奇)01010111 (偶)11010111

  2. 在n=4、k=3时,求1010的海明码
    设n为有效信息的位数,k为校验位的位数,则应满足
    n+k<=2^k -1(若要检测两位错,则需再增加1位校验位,即k+1位);n+k=7<=2^3 -1成立。
    设信息位为D4D3D2D1(1010),校验位为P3P2P1,海明码为H7H6H5H43H2H1

Pi在2^i-1的位置上,其余各位为信息位
则H4=P3;H2=P2;H1=P1,则海明码的分布为:
H7 H6 H5 H4 H3 H2 H1
D4 D3 D2 P3 D1 P2 P1
1 0 1 ? 0 ? ?

D1在H3上,P2P1校验;
D2在H5上,P3P1校验;
D3在H6上,P3P2校验;
D4在H7上,P3P2P1校验;

= P1(H1) + P2(H2) + P3(H4)
3 1 2
5 1 4
6 2 4
7 1 2 4

所有位求异或
P1 = D1⊕D2⊕D4 = 0⊕1⊕1 = 0
P2 = D1⊕D3⊕D4 = 0⊕0⊕1 = 1
P3 = D2⊕D3⊕D4 = 1⊕0⊕1 = 0

所以1010对应的海明码为1010010(101 0 0 10)

S1=P1⊕D1⊕D2⊕D4
S2=P2⊕D1⊕D3⊕D4
S3=P3⊕D2⊕D3⊕D4

S3S2S1的值为 000 时,则说明无错;或者说明出错。并且这个数为错误位的位数。

标签:计算机,二进制,码距,IR,基础知识,指令,原理,D4,101011
From: https://www.cnblogs.com/mugetsukun/p/17482826.html

相关文章

  • opcenter camstar designer基础知识-- Labels
    “标签”窗口用于查看系统标签以及添加、移除和查找用户标签可使用“标签”窗口中的按钮来执行这些功能,也可以在选择树区域中右键单击打开快捷菜单,然后选择以下选项:  系统有两种常规类型的标签:system和user 系统标签名称具有前缀CSI。这些标签又划分为多个不同的类......
  • 学习笔记之Zookeeper内部原理解析
    1.1节点类型1.2Stat结构体(1)czxid-创建节点的事务zxid每次修改ZooKeeper状态都会收到一个zxid形式的时间戳,也就是ZooKeeper事务ID。事务ID是ZooKeeper中所有修改总的次序。每个修改都有唯一的zxid,如果zxid1小于zxid2,那么zxid1在zxid2之前发生。(2)ctime-znode被创建的毫秒数(从19......
  • k8s 集群原理
    1.背景Kubernetes作为容器应用的管理中心,对集群内部所有容器的生命周期进行管理,结合自身的健康检查及错误恢复机制,实现了集群内部应用层的高可用性。Kubernetes服务本身的稳定运行对集群管理至关重要,影响服务稳定的因素一般来说分为两种,一种是服务本身异常或者服务所在机器宕机,另......
  • 代理ip匿名原理及那些行业需要代理ip
      互联网的高速发展,连带了代理ip也受到了更多人的使用,不同的行业都存在使用代理ip的情况,同时代理ip也以为匿名程度分成了高匿、普匿、透明代理,那么代理ip匿名的原理是什么呢?又有哪些行业需要代理ip呢?下面我们一起来分析一下。  一、代理ip匿名原理 代理IP匿名的原理基......
  • 人工智能领域:面试常见问题超全(深度学习基础、卷积模型、对抗神经网络、预训练模型、计
    人工智能领域:面试常见问题超全(深度学习基础、卷积模型、对抗神经网络、预训练模型、计算机视觉、自然语言处理、推荐系统、模型压缩、强化学习、元学习)人工智能领域:面试常见问题1.深度学习基础为什么归一化能够提高求解最优解的速度?为什么要归一化?归一化与标准化有什么联系......
  • Linux系统基础知识与自学方法
    大部分非计算机相关的朋友也经常使用电脑,所以我们频繁接触的是Windows系统。关于这个系统的评价不一,一部分人觉得简洁快捷,一部分人觉得问题(病毒、弹窗)多多,总之对Windows系统系统的评价参差不齐,上限高,下限也低。所以我们可以看出,这个系统在使用过程中每个人的感受都不一样。同时小......
  • Spring----AOP入门介绍、原理与使用
    AOP介绍AOP:面向切面编程,无入侵式编程一种编程范式,指导开发者如何组织程序结构OOP:面向对象作用:在不惊动原始设计的基础上为其做功能增强概念定义Aspect(切面):描述通知与切入点的对应关系(执行位置和共性之间的关系)Aspect声明类似于Java中的类声明,在Aspect中会包含......
  • Linux系统基础知识与自学方法
    大部分非计算机相关的朋友也经常使用电脑,所以我们频繁接触的是Windows系统。关于这个系统的评价不一,一部分人觉得简洁快捷,一部分人觉得问题(病毒、弹窗)多多,总之对Windows系统系统的评价参差不齐,上限高,下限也低。所以我们可以看出,这个系统在使用过程中每个人的感受都不一样。同时小......
  • Linux系统基础知识与自学方法
    大部分非计算机相关的朋友也经常使用电脑,所以我们频繁接触的是Windows系统。关于这个系统的评价不一,一部分人觉得简洁快捷,一部分人觉得问题(病毒、弹窗)多多,总之对Windows系统系统的评价参差不齐,上限高,下限也低。所以我们可以看出,这个系统在使用过程中每个人的感受都不一样。同时小......
  • 神经网络在计算机视觉领域中的应用
    目录神经网络在计算机视觉领域中的应用随着人工智能技术的快速发展,神经网络逐渐成为计算机视觉领域的重要工具。神经网络是一种深度学习模型,通过学习大量数据来进行预测和分类。在计算机视觉领域,神经网络可以用于图像分类、目标检测、图像生成等任务。本文将介绍神经网络在计算......