ir指令、立即数的作用_计算机系统概论-笔记

title: 计算机系统概论-笔记

date: 2019-09-28 10:40:32

tags:

typora-copy-images-to: ./计算机系统概论-笔记

这是一本讲计算机组成原理和C语言的书.从最开始的与或非门,慢慢搭建出一个计算机的CPU来.从硬件开始明白,计算机是怎样工作的.

计算机是非常确定的系统,在相同的方法,相同的状态和起始条件下,同样的问题必然得到相同的结果

第一章 概述

image-20190928123709477

基础理念

抽象 抽象可以使我们站在更高的层次来看问题.而看清事物本质,忽略其中细节,计算机的结构就是建立在一层一层的抽象上的.抽象使我们更有效率专注于特定的任务

学习组成原理时不要区分硬件和软件,硬件和软件是协同来工作的.互相影响并不是对立关系.硬件设备决定软件效率.软件也同样影响硬件.

只要有足够的时间和内存.所有计算机都能完成相同的计算任务,也就是所有计算机的处理功能是相同的.

人类通过语言来提问题,而计算机通过程序来解决任务.最重要的是人类语言描述转换为计算机程序的过程.

计算机的本质其实是数学和哲学问题.它认为任何问题都可以用数学描述出来.然后通过计算机计算出来.(这里就很神奇了.数学就相当于老子的道.一生三三生万物.同理用数学可以描述任何问题.而计算机只是用来计算这些数学问题的工具,难怪最开始都是数学家来参与制造计算机,他们是为了找到这种描述问题的数学规律,并设计出算法,然后用计算机表述出来.)

计算机的转换层次

image-20190928120548994

问题要求描述清晰含义唯一.

算法 要求布操作步骤清晰,每步骤都能执行.最后可以终止(确定性,可计算性,有限性).

语言 要求是严格的顺序方式,让计算机执行.

机器指令集(isa)结构 是程序和计算机硬件沟通的接口的定义包括指令集合,操作数,数据类型,寻址类型.

微结构 是指令集具体功能的实现结构.指令相同.对应的微结构可能不同.每个处理器都有一个微结构

电路 微结构中就是一系列电路的排布组合.形成不同的逻辑电路

器件 就是最基础的电子元件了. 晶体管之类

总结

本章就是概括性的讲解了一下计算机的一些基本常识.和计算机能产生的深刻哲学理念和计算机组成的层次

第二章 bit 及运算

image-20190928151303682

bit数据类型

电路中用1表示有电平,0表示无电平,这两个概念是相对的.

数据类型就是 数据的格式和对应的操作方法

整数数据类型 无符号整数其实就是正数.有符号整数则包括负数,这个表示有三种方法

表示有符号整数的方法

符号位表示法 把正整数的二进制的最高位(最左边未)1 表示负数,0表示正如 如 1001 =-1 0001=1

这种方式有两个0 0000=0 和1000=-0

反码表示法 把正整数的二进制按位取反 如 0101 =5 则 1010 =-5

这种方式有两个0 0000=0 和1111=-0

补码表示法 把正整数的反码在加1,表示对应的负整数 如 1011=11 取反为0100 补码为 0101=-11

0101+1011 =10000 最高位多出的1舍弃掉,保持原来的4位,则为0 也就是 -11+11 =0

这种方式只有一个0 0000=0

得到补码后, 两个数的减法就变成一个数和另一个数补码的加法,这样在硬件上容易实现.

因为采用补码进行加减法会很方便.因此计算机里都是对负数是使用补码的形式.

二进制十进制互转

以8位二进制为例,这里需要考虑二进制是正数还是负数,负数的话要拿到补码在计算,补码表示法中最高位代表符号位

image-20190928133859426

十进制转二进制,就是每次除以2,记录余数,然后从右到左排列,得到二进制数.

bit运算

符号扩展: 二进制中,在正数前加 0 和在负数前加1都不会改变本身的值

如 5 = 000101 = 00000101 -5 = 111011 = 11111011

两个同符号二进制向加减,结果超过了最大值,就会造成符号溢出

如 5位2进制, 9(01001) +11(01011) =10100 结果的符号位成了负数(1),是因为超过了5位二进制的正数的最大数(01111),导致了溢出

逻辑与 AND

image-20190928144310873

逻辑或 OR

image-20190928144346544

逻辑非 NOT

image-20190928144428547

异或 XOR 两个数不同的时候输出为真

image-20190928144505441

这四个结构就是布尔代数的基础结构.也是很多电子原器件能时间的固定门结构

浮点数

浮点数用来表示小数.但也不是绝对的精确.只能在二进制数的范围内尽量接近结果.浮点数用固有的结构来表示,类似科学计数法,由三部分组成 比如 12340 =1.234*10^4

符号位:1bit 0为正数1位负数

数值范围:8bit 指数部分

数值精度:23bit 尾数部分

image-20190928145545680

image-20190928150140619

二进制十六进制互转

二进制的每四位都可以对应一个16进制, 因此直接四位四位一组转换就行

​ 如 0011 1101 0110 1110 转换为 3 D 6 E 也就是3D6E

同理 十六进制转换二进制,就是把每位转成四个二进制01

总结

本章将了一些二进制的常用转换,其实最主要的是补码,通过补码把减法转换成加法,简化了计算机的实现.而浮点数则是通过牺牲数字的精度来扩大了数值的范围,包括表示更大的大数如 1.510^20和更小的小数.1.5*10^(-20)

第三章 数字逻辑

image-20190928191626679

晶体管

n型 在栅极(g)加入电压,则源级d和漏级s之间联通

image-20190928151600435

p型 与n型相反,在栅极(g)加入电压,则源级d和漏级s之间断开.

image-20190928151714550

逻辑门

非门的逻辑实现

in输入电压时,p断开n联通, out和ov相练.输出0v

in无电压时,p联通,n断开,out和2.9v相连,输出2.9v

电路in的输入和out的输出结果总是想反的

image-20190928151955929

或非门

A B任一方有电压,都会导致上方p断开,下方0V联通, 则C输出为0v

A B都无电压时, 上方 2.9v 与C联通, 则C输出2.9V

image-20190928152620051

或门

​ 或门就是或非门的相反或者说 或门取反就是或非门

​ 电路就是或非门的输出结构在加上之前的非门,把结果在反转

image-20190928153101664

与门

左边部分.AB任意一个为0则上边两个P型会有一个连通,导致C输出为1,在经过非门后输出为0

A B 都为1时, 上边两个P行都端口,此时c输出为0,经过非门后为1

image-20190928160540265

到这里二进制运算的与或非.就已经可以通过电路来实现了.而与或非,异或作为最基础的元件,在经过复杂的组合可以形成更多复杂的逻辑.下边把这几个门用符号抽象化,其中与非门和或非门就是对与门和或门取反

image-20190928161103124

决策单元

决策单元是不能存储数据的电路组合,他的输出取决于当前的输入.输出后的数据也没办法在决策单元中存储起来.

简单来说决策单元就是由实时的输入产生实时的输出.并不保存结果.

译码器

所有的输出结果没次只有一个是1,其他都是零.这个几个结构用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值