- 博客(106)
- 收藏
- 关注
原创 git简单实用操作
1.创建仓库(repository)$ mkdir "new git" //(Make Directory)创建新文件夹new git(文件名带空格的话需要加双引号)$ cd “new git”//(Change Directory)切换到当前目录2.显示当前目录$ pwd //(Print Working Directory)3.把文件添加到仓库把文件添加到仓库之前需要注意一定要放到创建好的仓库的目录下(子目录也行),因为这是一个Git仓库,放到其他地方Git将找不到这个文件!!!$ g
2021-08-01 17:51:14 83
原创 信号量机制(PV操作)
整型信号量://初始资源数量int s = 1;//p操作void wait(int s){ //如果资源用完了,将进入循环 while(s <= 0); //如果资源还有,就使用一个资源 s = s - 1;}//v操作void signal(int s){ //释放一个资源 s = s + 1;}记录型信号量:p操作:v操作:...
2021-06-14 22:03:43 277
转载 编译原理求FIRST集、FOLLOW集和SELECT集
所有大写字母代表非终结符,小写字母代表终结符,省略号代表未知数目(可能为0)的不确定类型的文法符号。First集合:First集合顾名思义就是求一个文法符号串所可能推导出的符号串的第一个终结符的集合。First(X)就是求X所有推导出的符号串的第一个符号的集合。求First集合可分如下几种情况:1、单个符号的First集合:单个终结符的First集合就是它自己。2、单个非终结符的First集合:A-->a…产生式右部以终结符开头,根据定义,这种情况下显然可以看出a属于First(A)。.
2021-03-28 11:53:42 1748 3
原创 CPU的基本功能和结构
CPU的功能:CPU的基本结构:运算器的基本结构:运算器的核心部件就是算术逻辑单元。算术逻辑单元(Arithmetic&logical Unit) 是中央处理器(CPU)的执行单元,是所有中央处理器的核心组成部分,由"And Gate"(与门) 和"Or Gate"(或门)构成的算术逻辑单元,主要功能是进行二位元的算术运算,如加减乘(不包括整数除法)。基本上,在所有现代CPU体系结构中,二进制都以补码的形式来表示。在运算中可能会产生一些中间结果,而且有些时候也会把操作数存放在寄存器当中
2021-03-27 14:56:10 3095 1
原创 CISC 和 RISC
指令格式:例如:假设OP进行的是加法操作。(注:加括号表示取地址中的数值)。下面来分析一下这条指令:假设指令在内存中是依次存放的:那么这样的指令还能再优化吗?当然能,改变一下指令在内存中的存放位置,让操作码放在一起,地址码放在一起:这样存放的话如果程序没有特殊的要求,CPU只要自动地取下一条指令就行了。所以可以专门设置一个单元,用来控制指令地址的修改。这样的话就省去了用来指出下一条指令的地址码,相应的指令结构也可以优化成:那这样是最优化的情况了?当然不是,用来存.
2021-03-24 20:35:55 150
原创 指令寻址方式
数据存放:指令寻址:数据寻址:①立即寻址:②直接寻址:③间接寻址:这里有个问题,一次间接寻址很容易判断两次寻址后就是所要取的操作数有效地址,但是多次间接寻址后该如何判断哪次寻址得到的才是操作数有效地址?可以在存储单元前面增加一个标志位,当标志位是1的时候表明取地址后得到的地址还是间接地址,当标志位是0的时候就说明取地址后得到的就是有效地址了。④寄存器寻址:⑤寄存器间接寻址:⑥隐含寻址:⑦偏移寻址:Ⅰ、基址寻址:Ⅱ、变址寻址
2021-03-23 13:45:41 2939
原创 指令格式
例如:假设OP进行的是加法操作。(注:加括号表示取地址中的数值)。下面来分析一下这条指令:假设指令在内存中是依次存放的:那么这样的指令还能再优化吗?当然能,改变一下指令在内存中的存放位置,让操作码放在一起,地址码放在一起:这样存放的话如果程序没有特殊的要求,CPU只要自动地取下一条指令就行了。所以就可以用一个程序计数器的寄存器,用来控制指令地址的修改。这样的话就省去了用来指出下一条指令的地址码,相应的指令结构也可以优化成:那这样是最优化的情况了?当然不是,用来存放结...
2021-03-23 13:42:41 255
原创 Cache(高速缓冲存储器)工作原理
地址映射:Q:怎么判断此时要存储的cache行内是否存在数据呢?A:可以通过设置有效位来判断cache行内是否有数据存在。Q:还有一个问题,因为我们是在cache内随机存储的,那么该怎么判断这一行数据是代表主存里的哪行数据?A:...
2021-03-20 14:54:45 8804
原创 0型文法、1型文法、2型文法、3型文法
0 型 ( 短语文法,图灵机 )产生式形如: α → β其中:α∈ (VT ∪ VN)*,且至少含有一个非终结符;β∈ (VT VN)* 1 型 ( 上下文有关文法,线性界限自动机 )产生式形如: α → β其中: α,β∈ (VT ∪ VN)*,|α| ≤ |β| ,仅 S→ε 例外 2 型 ( 上下文无关文法,非确定下推自动机 )产生式形如: A → β其中: A∈ VN ;β∈ (VT ∪ VN)* 3 型 ( 正规文法,有限自动机 )右线性文法:产.
2021-03-14 14:11:31 2212
原创 指针传递和引用传递
指针传递也属于值传递!因为指针本质就是个地址变量,所以指针传递的参数也是个变量!同时需要注意的是,指针传递是把地址变量复制一份再传递给函数的!而引用传递是把本体传递给函数,并没有通过复制!代码:输出结果:注意:指针传递的函数里面的变量a由于和main函数的作用域不同,属于两个不同的变量。可以清晰地看到:指针传递的实参在函数内部该改变了指向,改变了函数内输出时的结果,但是丝毫不影响main函数的输出结果,因为传递过去的地址变量是个复制品。而引用传递的地址,从头至尾都没有发生改变,因为引
2021-03-13 13:22:19 1008
原创 怎么比较两个字符串的大小?
不是按照字符串长度比较!!!比较的是字符的ASCII码!!!从字符串左边往右边依次比较,相等就比较下两个字符,遇到不相等的两个字符,哪个字符的ASCII码大就是哪个字符串大。再次强调!与字符串长度无关!例如:abc = abcab < abcc > abcd代码验证:输出:...
2021-03-11 20:32:04 2591 1
转载 Cache的基本原理
对于没有接触过底层技术的朋友来说,或许从未听说过cache。毕竟cache的存在对程序员来说是透明的。在接触cache之前,先为你准备段code分析。int arr[10][128];for (i = 0; i < 10; i++) for (j = 0; j < 128; j++) arr[i][j] = 1;如果你曾经学习过C/C++语言,这段code自然不会陌生。如此简单的将arr数组所有元素置1。 你有没有想过这段code还有
2021-03-08 13:30:56 471
原创 双端口RAM和多模块存储器
在CPU与主存的协同工作当中,根据摩尔定律,集成电路的性能每18个月翻一翻,对于CPU来说,它的速度是指数级增长,对于主存来说,它的容量是指数级增长,但是它的速度则是近似线性的增长,这样就会导致CPU余主存之间的速度差距会越来越大,所以,如何提高主存的工作速度成为计算机领域中优化方面的一大主题。这里双口RAM和多模块存储器,原理是使用特殊的存储器的管理结构。存取周期:存取周期是用来衡量整个存储器的工作速度,是一个时间概念。题外扩展:{ 与周期相对的一个概念是频率...
2021-03-07 14:15:25 540
原创 半导体存储器(RAM和ROM)
半导体存储芯片的基本结构:半导体随机存取存储器(RAM):DRAM的刷新:SRAM的读周期:(注:CS代表片选线,上面有横线表示低电平有效。)0/1的信号通过地址线传过来后不能马上读取,因为都是通过不同的线传过来的,速度不一,如果马上读取会读取到一个不稳定的地址,所以要隔一小段时间再接通片选线,接通片选线后从存储距阵获取数据也是需要时间的,所以不能立马断开片选线,等需要读取的数据稳定下来后再断开片选线,断开片选线后数据可能还在传送,所以数据线上的信号会维持一段时间再关闭,相应的地址线上的
2021-02-27 23:10:17 4721 3
原创 主存简单模型和寻址概念
主存储器:这样一个能完成一个二进制位读写的单元称为一个存储元。(会有一个开关元件)而一个存储体正是由多个存储元构成的。红色的线并行控制多个存储元,绿色的线可以把存储元上面的信号传入/传出。举一个读的例子:如果...
2021-02-26 17:03:32 248
原创 加法器设计
算数逻辑单元(ALU):一位全加器:简化后:串行加法器:并行加法器:类似于多米诺骨牌:那么如何更快产生进位?为了是表达式更简洁先,这里再用两个未知量代替一下:
2021-02-25 22:27:56 348
原创 物理层设备(中继器和集线器)
中继器(relay):(再生的意思是把信号尽可能恢复到发送时的状态。)5-4-3规则中的5表示5个网段,4表示在5个网段内最多只能有4个物理层设备,3表示5个网段中只有3个段可以连接计算机。(中继器对数字信号的再生是需要时间的,如果信号从发送端发出经过了无数个中继器,那么中间处理的时间就很久,最后的网络延迟就非常长,用户体验也就很差,所以中继器的使用需要一个限制。)集线器(hub)(相当于多端口的中继器):假如图中每一台主机和集线器的距离都是100米,现在一台主机想要和另外一台
2021-02-24 17:25:07 1261
原创 物理层传输介质
传输介质的概念:(电气特性:能够根据电压来区分数据)传输介质的分类:导向性传输介质——双绞线:双绞线小结:导向性传输介质——同轴电缆:导向性传输介质——光纤:因为应用了全反射,所以可以实现:可以射入多条光线:多模光纤的特点:可以在输入脉冲的时候发出多条光线,这线光线根据全反射会反复折射,但是传输中可以会受到例如噪声、电磁波的干扰,如果传输距离很远的话,到输出脉冲的时候信号失真就会非常严重,所以,多模光纤比较适合近距离传输。单模光纤的特点:单模
2021-02-24 14:39:00 169
原创 奈氏准则和香农定理
失真:概念:信号在传输过程中 , 发生了 扭曲 和 变化。码元传输速率 : 码元传输速率越快 , 失真程度越严重 ;信号传输距离 : 传输距离越远 , 传输时间越长 , 信号受干扰时间越长 , 信号干扰越大 , 失真程度越严重 ;噪声干扰 : 噪声越大 , 失真越严重 ;传输媒体质量 : 传输介质质量越差 , 失真越严重 ;码间串扰:为什么上图中 200HZ 和 400HZ的信号无法通过?200HZ的是因为低于最低频率的信号,振动频率太低 , 在信道传播的过程中
2021-02-24 01:17:31 1249
原创 编码与调制
基带信号与宽带信号:基带信号:信源(信息源,也称发送端)发出的没有经过调制(进行频谱搬移和变换)的原始电信号,其特点是频率较低,信号频谱从零频附近开始,具有低通形式。根据原始电信号的特征,基带信号可分为数字基带信号和模拟基带信号(相应地,信源也分为数字信源和模拟信源),其由信源决定。例子:就比如日常可见的直播,因为人的声波频率并不是很高,所以主播说话的声波(基带信号)是低频,但是无线信道很远,而已还可能会有天气等影响,造成信号的衰减、损耗,面对这种情况,就需要把基带信号进行调制,把信号的频率提高以
2021-02-23 22:08:55 361
原创 浮点数的运算
浮点数的加减运算从十进制科学计数法理解浮点数的加减运算:对阶的原则是小阶对大阶(算术右移),之所以这样做是因为若大阶对小阶(算数左移),则尾数的数值部分的高位需移出,而小阶对大阶移出的是尾数的数值部分的低位,这样损失的精度更小。计算机中二进制的浮点数的加减运算:例题:求得X、Y的浮点数表示:舍入:强制类型转换:...
2021-02-22 20:17:12 2521
转载 为什么x86不叫x32?
转载自:http://blog.sina.com.cn/s/blog_6053551a0102x5my.html#commonComment安装了64位系统后,会多出:program(x86)文件夹,用于存放32位软件。在下载软件时,也会有x86,x64不同版本下载。那么64位系统叫x64,32位系统为什么不叫x32,而是x86呢?x86,x64,看似写法类似,但实际上代表了完全不同的含义。简单来说,x86指的是cpu的架构,x64是cpu位数。笼统的说,前者代表cpu的逻辑结构,后者是cpu运算能力。
2021-02-22 13:24:29 10117 1
原创 码元、波特、速率、带宽
码元:例如,图中红线就是一个个固定时长的信号波形,这里面的离散数值只有2种,0或者1,也就是说一个信号就是一个码元;图中为二进制码元,也就是说该码元的离散状态只有2种,码元宽度为1。下图则为4进制码元,离散数值/离散状态有4种,码元宽度为2。速率、波特(baud):1baud = 1码元/s如下图所示,y一种2进制码元,一种4进制码元,但是码元传输速率都为5baud,脉冲个数都为5个,信号变化的次数都为5次,所以说码元速率与进制数无关。总结:总结:码元传输速率和信息传输
2021-02-20 22:58:28 1424
原创 浮点数
为什么要有浮点数?从十进制科学计数法理解浮点数:计算机中二进制的浮点数:二进制中阶码的底也可以不为2。例如,二进制中阶码的底可以为4、为8等等。当阶码的底为2,假设阶码为+1,则小数点需要后移一位(即算数左移一位);当阶码的底为4时,假设阶码为+1,则小数点需要后移两位(即算数左移两位)。例如:例题:如果使用1个字节的空间去存储,那么阶码部分在内存中占3位,位数部分在内存中占5位,刚刚好。阶码部分在内存中占3位,位数部分在内存中占6位,但是最后一位存不下,只能
2021-02-20 21:50:37 4215 1
原创 OSI参考模型
继IBM公司提出第一个网络体系结构,很多大大小小的公司都提出了自己的网络体系结构,但是这些网络体系结构只有使用该公司的产品才能使用这些网络体系结构,所以这样对于实现网络上的互联互通是很困难的。所以,为了解决这个问题,OSI参考模型诞生了!(记;忆:物联网叔会使用)应用层:表示层:会话层:传输层:端到端的通信:不同主机内两个进程之间的通信,每一个进程都会用一个编号(端口号)来标识它。网络层:数据链路层:物理层:...
2021-02-19 18:08:59 173
原创 分层结构、协议、接口、服务
为什么要分层?仅仅发送一个文件就需要解决这么多大问题,为了便于计算机解决,会把大问题分成小问题来解决,即分层。怎么分层?(PDU会作为下一层的SDU)
2021-02-18 22:04:53 140
原创 时延、时延带宽积、RTT和利用率
时延:一、传输时延(发送时延):所需时间:公式:总结:数据全部进入链路的时间。二、传播时延:所需时间:公式:总结:数据在链路上传播一定距离所花费的时间。三、排队时延:四、处理时延:...
2021-02-18 21:32:39 1934
原创 大小端模式和边界对齐
大小端模式:为什么说小端方式更便于计算机处理呢?比如CPU进行加法运算,每次只能处理8位二进制,应该先从它的最低有效字节进行加法,然后再加次低位,所以如果采用小端方式存储的话,那么计算机读入的低地址对应的刚好就是最低有效字节。边界对齐:当给出要访问的字地址,要怎么转换成与之对应的字节地址?只需要把字地址逻辑左移2位即可,因为逻辑左移1位意味着乘以2,逻辑左移两位则是乘以4;例如,要访问的字地址为2(假设从0开始,图 2.10的第三行为地址2),化成二进制为10,那么转换成字节地址需要逻辑左移
2021-02-18 20:56:55 765
原创 字符与字符串
ASCII码:规律:1.数字的高位4个二进制位是一样的,而低位刚好对应着8421码的0~9;2.大写的英文字母的高位前三个二进制位是一样的,而后面5位二进制数转换成十进制后刚好是1~26;3.小写英文字母与大写英文字母相同;4.所有的数字、大小写字母的ASCII码值都是连续的。汉字的表示和编码:字符串的存储:...
2021-02-18 20:12:13 123
原创 BCD码
十进制转换成二进制可以用数码位乘以位权的方式,但是这种转换方式太过于麻烦,而BCD码就是为了解决这种麻烦。BCD码的原理:用4个二进制位对应1个十进制位,因为4个二进制位可以表示16种状态,而这16种状态就足够用来表示十进制中0~9的数,还有6种冗余状态。8421码(有权码):因为4个二进制位的十进制表示范围是0~15,而十进制10到15的数无法映射出8421码,所以需要加一个6,这样的话这4个二进制数肯定会向高位进一个1,而低位留下的部分刚好是我们需要的个位的部分。余3码(无权码)..
2021-02-18 19:34:19 942
原创 进制转换
十进制:二进制:为什么n个二进制位能表示2^n中状态?(可用排列组合推出)任意进制 ➡ 十进制:二进制 ⬅➡ 八进制、十六进制(不够补0):十进制➡任意进制:整数部分:如果十进制转八进制或者十六进制的话可以选择先把十进制转成二进制,再由二进制转成八进制或者十六进制,因为这样计算量小一点;当然也可以选择由十进制直接转成八进制或者十六进制。小数部分:各进制的常见书写方式:(二进制为binary)真值和机器数:...
2021-02-18 17:31:19 176
原创 认识计算机各个硬件部位
存储器:读操作:写操作(实线为数据线,虚线为控制线):运算器:控制器:计算机的执行过程:(注:寄存器外面加个括号,表示寄存器里面的内容;M(MAR)中的M表示主存储器,整个表示主存储器里面MAR寄存器这个地址所指明的存储单元里面的数据。)总结:...
2021-02-18 14:58:02 246
原创 计算机硬件的基本结构
早期冯诺依曼机的结构:世界上第一台计算机ENIAC,而冯·诺依曼就是这台计算机设计的一位顾问,这台计算机很大的一个缺点就是每一步的计算需要执行什么指令都需要程序员(操作员)们通过手动连接线缆的方式来告诉计算机,所以虽然这台计算机执行运算的速度很快,但是由于这些程序员们每一次都需要手动接线来告诉它下一步该怎么做,所以ENIAC的计算速度就被手工操作的耗时所抵消了,总的来说就是说一句做一句,效率很低。所以,为了解决这个问题,冯·诺依曼提出了存储程序的概念:(注:主存储器就是我们所说的内存)(注
2021-02-18 13:48:45 973
原创 定点数的强制类型转换
一、有符号数转换成无符号数:例如:即,x在计算机中二进制存储为:(真值为:-4321)y在计算机中二进制存储为:(真值为:61215)————————————————————————————————————————————二、长整数转换成短整数例如:a与c变量在计算机中16进制的存储(因为二进制过长,这里用16进制代替):b与d变量在计算机中16进制的存储:————————————————————————————————————————————三、短整数转换成长整数.
2021-02-16 23:06:37 584
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人