首页 > 其他分享 >基础知识-关键字

基础知识-关键字

时间:2023-06-22 14:12:09浏览次数:51  
标签:操作系统 并发 二进制 程序 基础知识 关键字 指令 执行

资料参考

2021年计算机组成原理考研复习指导 | 王道考研
【重学计算机】计算机组成原理 | cnblogs | 闪客sun
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 时,则说明无错;或者说明出错。并且这个数为错误位的位数。


操作系统

操作系统基本特征包括并发、共享、虚拟和异步。
并发和共享是操作系统两个最基本的特征,两者之间互为存在的条件:资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享问题;若系统不能对资源共享实施有效的管理,,则必将影响到程序的并发执行,甚至根本无法并发执行。

并发(Concurrence)

并发是指两个或多个事件在同一时间间隔内发生。操作系统的并发性是指计算机系统中同时存在多个运行的程序,因此它具有处理和调度多个程序同时执行的能力。在操作系统中,引入进程的目的是使程序能并发执行。

  • 并发:同一时间间隔
  • 并行:同一时刻

(一个核心,能处理无数的任务事件,但是需要完成两个或以上的任务就需要计划时间(排队),一段时间完成任务1,一段时间完成任务2,中间有一个提示能让你知道要执行哪个任务,叫'中间上下文'。这就叫'并发')
(多个核心,能处理无数的任务事件,但因为有很多的核心,所以1个任务可以分享到1个核心,而不需要排队,这就叫'并行')

共享(Sharing)

资源共享即共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。共享可分为以下两种资源共享方式。

互斥

在一段特定时间内只能由某一个用户程序使用。当这个资源正在被使用的时候,其他请求该资源的程序必须等待,在这个资源被使用完了以后才由操作系统按一定策略分配给另一用户使用;

同时

在同一段时间内可以被多个程序同时访问。这种同时访问是指宏观上的同时,微观上的还是交替进行的。

虚拟(Virtual)

虚拟技术可归纳为:时分复用(处理器的分时共享)和空分复用(存储器)

异步(Asynchronism)

多个程序并发运行环境中,每个程序何时开始执行、何时暂停、推进速度和完成时间等都是不确定的。

异步与同步是相对的

同步是顺序执行进程,执行完一个进程再执行下一个进程,需要进程之间等待、协调运行;
异步是进程之间彼此独立,在等待其他进程的运行时,本进程继续做自己的事,不需要等待其他进程完成后再工作。


进程管理

标签:操作系统,并发,二进制,程序,基础知识,关键字,指令,执行
From: https://www.cnblogs.com/mugetsukun/p/17497096.html

相关文章

  • ABAP MESSAGE 关键字的使用方法
    ABAPmessage关键字的作用是要么显示在当前用户的登录语言中,从数据库表T100的msg字段中指定的短消息文本,要么显示作为消息的任何文本。以下是可用的变体:如果没有指定RAISING或INTO中的任何一个,语句MESSAGE将中断程序流并发送消息。该语句MESSAGE的基本形式的确切行为(即文本......
  • C++面试八股文:了解auto关键字吗?
    C++面试八股文:了解auto关键字吗?某日二师兄参加XXX科技公司的C++工程师开发岗位第15面:面试官:了解auto关键字吗?二师兄:嗯,了解一些(我很熟悉)。面试官:说一说auto的用法吧?二师兄:auto主要是为了编译器进行类型推导。比如:autoi=42; //i被推导位int型std::vector<int>vi......
  • Linux 如何在 vi 里搜索关键字
    当你用vi打开一个文件后,因为文件太长,如何才能找到你所要查找的关键字呢? 在vi里可没有菜单-〉查找 不过没关系,你在命令模式下敲斜杆(/)这时在状态栏(也就是屏幕左下脚)就出现了“/”然后输入你要查找的关键字敲回车就可以了。 如果你要继续查找此关键字,敲字符n就可以继续查找......
  • 神经网络基础知识与实现
    目录神经网络是人工智能领域中的一个重要概念,它是指一种模拟人脑神经元的计算方法。神经网络通过从大量数据中学习,来预测未来的状态或执行特定的任务。本文将介绍神经网络的基础知识与实现,包括神经网络的基本概念、技术原理、实现步骤以及示例与应用。同时,本文还将探讨神经网络的性......
  • Go语言中的defer关键字
    在Go语言中,defer关键字是一个独特而强大的特性,它可以将代码块推迟到函数返回之前执行。这种机制可以用于资源的释放、错误处理、性能优化等多种场景。本文将详细介绍defer的用法和工作原理,并通过实际示例来展示其在不同情况下的应用。defer的基本用法在Go语言中,使用defer关键字......
  • Const 关键字 与指针
    Const关键字与指针发表于2007年04月29日由不及格的程序员-八神星期一天气:晴 使用指针会涉及到两个对象一个是指针本身,另一个是它指向的对象.将指针声明为const就使对象为常量而不是指针为常量;例如:constchar*p="asdf";//指向常量的指针p[2]=‘d’; /......
  • 8086汇编语言精讲1 :基础知识
    基础知识   也就是说伪指令和其他符号在编译器上将汇编指令翻译成的机械码改动,形成新的机械码      8086可以寻址2^16大小的数据量,因为它有16根数据总线,同时是在2进制下计数         ......
  • Linux中的基础知识
    【技术积累】Linux中的基础知识【一】Linux系统是什么Linux系统是一种开源操作系统,它极具可定制性和灵活性,因此受到了许多人的欢迎。Linux系统以简单,强大和兼容性而著称。它可用于各种设备,从个人计算机到超级计算机,从移动设备到智能家居。Linux系统遵循GNU公共许可证(GPL)下的自......
  • Java基础知识思维导图
    ......
  • 【技术积累】自然语言处理中的基础知识【二】
    什么是语言模型概念语言模型是一种自然语言处理技术,用于评估一个句子或句子序列在语言中的概率。它基于统计语言学,尝试建立单词序列的概率分布模型,使该模型能够生成未见过的句子。语言模型是机器翻译、语音识别、自动摘要、对话系统等自然语言处理任务的关键组成部分。语言模型......