作业信息

https://edu.cnblogs.com/campus/besti/2020-2021-1fois
https://www.cnblogs.com/rocedu/p/9577842.html#WEEK04

教材学习内容总结

门和电路

非门

对输入的信号求逆,输入1则输出0,输入0则输出1
X=A'

与门

当输入的两个信号都为1时,输出1,否则输出0
X=A*B

或门

当输入的两个信号至少一个为1时,输出1,否则输出0
X=A+B

异或门

当输入的两个信号相同时,输出0,不同则输出1,当两个信号都为1时输出与或门相反
X=A⊕B

与非门

对与门的输出信号求逆
X=(A*B)'

或非门

对或门的输出信号求逆
X=(A+B)'

门可以接受更多的数值,不止两个,但基本逻辑不变。

门的构造

晶体管:由半导体构成的作为导线或电阻器的设备。

门由晶体管构成。

由Vin,Vout,接地线构成。当接地线联通时,输出低电平,否则输出高电平。非门由一个晶体管构成,与非门由两个晶体管串联,或非门则是两晶体管分别与源极相连,结合电学的知识可以推算输出的电平

电路

组合电路:进行多种门的运算,一个门的输出可作为另一个门的输入,一个信号可同时输入多个门。
电路等价:电路不同,得到的结果可能相同,得到逻辑门运算的数学法则。补性质:A(A')=0,A+(A')=1.德摩根:(AB)=A'OR B',(A+B)'=A'B'

电路组合成半加器,加法器,多路复用器,存储电路

半加器:计算两数位的和并生存正确的进位。和=A⊕B,进位=AB。加法器:对二进制执行加法。全加器:计算和并考虑进位。
多路复用器:由几条控制线路来决定输入线路,每条控制线可以输入0或1两个数,n条线路就可以控制2的次方个输入线路
存储电路:控制好输入输出值,就可以存储0和1。S-R锁储存器,两个与非门,一个门的输出值作为另一个门的输入值,另一个门的输出值又反过来作为第一个门的输入值。
集成电路和CPU:由非常多的门组成,有很多的引脚,进行二进制复杂运算

计算部件

冯诺依曼体系结构:存放数据和指令的内存单元;对数据执行算术和逻辑运算的算术/逻辑单元;把数据从外部世界转移到计算机中的输入单元;把结果从计算机内部转移到外部世界的输出单元;确保其他部件参与的控制单元

内存

存放1或0,内存为存储单元的集合,且字节具有可编址性
寄存器:用于存放很快会再被用到的数据(中间值或特殊数据),比访问内存快,属于CPU,
中央处理器:指令寄存器:存放正在执行的指令;程序计数器:存放下一条要执行的指令的地址
总线:携带地址,数据和控制信息。总线带宽:能同时传输的位数
缓存:用于存放经常使用的数据的小容量内存。流水线:将指令分解为可重叠执行的小步骤
读取-执行周期:主存-读取指令-译解指令-寄存器-获取数据-执行指令-主存
RAM:每个存储单元都可直接访问的内存,可改变的。ROM:内容不可变,存储计算机启动自身需要的指令
触摸:同时是输入设备和输出设备
嵌入式系统:未完成小范围功能而专门设计的计算机,程序储存在ROM中。经常使用在电子手表,微波炉,录像机,汽车等上

并行计算:多处理器

位级:增加字长减少处理比字长更长的数值所需操作
指令集:程序中的某些指令能够独立进行,对不同处理器发送不同的指令
数据级:不同操作数集执行相同操作。多处理器将同一个程序应用于多个数据级
任务级:流水线操作,每个处理器负责一个阶段的工作。共享内存并行处理器:不同处理器处理不同数据集,之间通过共享内存进行通信

看漫画学Python

运算符

算术运算符

一元算术运算符:+号和—号,+a=a,-a是对a取反运算
二原算术运算符:

比较运算符:比较大小,结果为布尔类型(Ture)和(False)

逻辑运算符:结果也是布尔型

位运算符:以二进位为单位进行运算,操作和结果都是整数类型

赋值运算符:只有算术运算和位运算中的二元运算符才有赋值运算符

运算符的优先级:从上到下优先级依次降低

教材学习过程中遇到的问题

问题一:不是很懂半加器,全加器,加法器。
解决过程:反复读书上的描述流程,自己计算列出真值表,明白了半加器的法则,但是半加器只有两个输入,只能计算两个数位的和,再加上一个半加器即可再进行一次加法,就可计算进位输入,而需计算多位二进制,计算n位就需要n个全加器

代码调试过程中的问题

编写base64时,直接使用base64.b64encode()无法编码和解码中文
解决方案:询问同学,查找博客园中相关资料,知道了另外一种编码方法,用到了str函数,成功解决了无法编码中文的问题。

比较字符串大小时,不明白它的比较依据什么
解决方法:后经过上网查询,得知字符串的比较大小规则:比较的时候,从字符串左边开始,依次比较每个字符,直至出现差异、或者其中一个串结束为止。而首字符大小由ASCLL码大小定的。

代码托管




其他

计算机内部挺神奇的

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 1/5 22/60
第四周 300/1300 1/6 30/90