2021-2022-1 20211329《信息安全专业导论》第四周学习总结
作者:互联网
作业信息
作业模板:https://www.cnblogs.com/rocedu/p/9577842.html#JXJC
作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK04
教材学习内容总结
看漫画学python
通过第四章运算符的学习,掌握了大部分运算在python中的运行。 如下有基本的运算符:
算术运算符:+、-、*、/、%、++、–。算术运算符用于组织整数类型和浮点类型的数据,有一元运算符和二元运算符之分。
关系运算符:>,<,>=,<=,==,!=instanceof。比较运算符用于比较两个表达式的大小,其结果是布尔类型的数据,即True或False。
逻辑运算符:&&,||,!。逻辑运算符用于对布尔型变量进行运算,其结果也是布尔型
位运算符:&,|,^,~,>>,<<,>>>。位运算是以二进位(bit)为单位进行运算的,操作数和结果都是整数类型的数据。
扩展赋值运算符:+=,-=,*=,/=。
计算机科学导论
第四章 数据运算
4.1 逻辑运算:指那些应用于模式中的一个二进制位,或在两个模式中相应的两个二进制位的相同基本运算。
4.1.1 位层次上的逻辑运算
0 代表逻辑 假, 1 代表逻辑 真。
4种操作: 非(NOT):只有一个输入
如果输入是0, 则输出为1。反之亦然
应用:对整个模式求反
与(AND)有两个输入
如果输入都是1, 则输出为1。输入中只要有一位是0,则结果为0
应用:把一个位模式的指定位复位(置0)。这种情况下,第二个输入称为掩码,掩码中的0位对第一个输入中相应的位进行复位。
或(OR)有两个输入
如果输入都是0,则输出为0。 输入中只要有一位是1,则结果为1
应用:把一个位模式的指定位置位(置1)
异或(XOR)有两个输入
如果输入都是1,则输出为0。也就是说,输入相同时,输出为0,不同时,则输出为1
应用:使指定的位反转。
4.2 移位运算 4.2.1 逻辑移位运算:应用于不带符号位的数的模式。
1.逻辑移位:逻辑右移运算把每一位向右移动一个位置。在n位模式中,最右位被丢弃,最左位填0。逻辑左移则相反。
2. 循环移位:对位进行移位,但没有位被丢弃或增加。循环右移把每一位向右移动一个位置,最右位被回环,成为最左位。循环左移则相反。
4.2.2 算数移位运算:假定位模式是用二进制补码格式表示的带符号韦德整数。算数右移被用来对整数除以2;算数左移被用来对整数乘以2。
这些运算不应该改变符号位。算数右移保留符号位,但同时也把它复制,放入相邻的右边的位中;算数左移丢弃符号位,接受它的右边的位作为符号位。
4.3 算术运算 4.3.1 整数的算术运算
1. 二进制补码整数的加减法
二进制补码表示法的加法和减法之间没有区别。遇到减法运算时,计算机会把它转变为加法,但要为第二个数(减数)求二进制的补。
如果给一个整数的反码加1,就得到它的补码。
过程:
1) 如果运算是减法,则取第二个整数的二进制补码,否则,转下一步。
2)两个整数相加
注意:运算结果需要在二进制位的定义范围之内,否则会发生上溢或下溢 2. 符号加绝对值整数的加减法
流程:
1)检查运算,如果是减法,那么改变第二个整数的符号
2)对两符号应用XOR运算,如果结果是0,则意味着符号是相同的。
3)如果符号是相同的,R = +- (AM + BM),则需要加绝对值,结果的符号是相同的符号,所以得到: RM = (AM) + (BM) 和 RS = AS
下标M意味着绝对值,下标S意味着符号。相加两个绝对值时,可能会发生上溢,它必须被报告,处理过程终止。
4)如果符号不同,R = +-(AM - BM),则需要从A中减去B,然后对符号进行判断,不是一位接一位地相减,而是取第二个绝对值的二进制补码,相加它们。结果的符号是较大绝对值整数的符号。
a. 如果AM >= BM ,那就有上溢,结果是一个正数。所以,如果有上溢,则舍弃上溢,使结果的符号取A的符号
b. 如果AM < BM,那就没有上溢,结果是一个负数。所以,如果没有上溢,则取结果的二进制补,使结果的符号取B的符号
4.3.2 实数的算术运算
实数的加减法
流程:
1)如果两数(A或B)中任一个为0,那么令结果为0,过程中止
2)如果运算时减法,那么改变第二个数的符号来模拟加法
3)通过在尾数中包含隐含的1和增加指数,将两个数去规范化
4)然后统一指数,这意味着增加较小的指数,移位相应的尾数,直到两个数具有相同的指数
5)把每个数的符号和尾数的组合看成一个符号加绝对值格式的整数
6)最后,再次规范化数
第五章 计算机组成
中央处理单元:算术逻辑单元,控制的单元,寄存单元,快速存储定位。
算术逻辑单元:对数据进行逻辑,移位和算数运算(逻辑运算,移位运算,算术运算)
寄存器
寄存器是用来临时存放数据的高速独立的存储单元。CPU中通常有多个寄存器。
1.数据寄存器
计算机在CPU中使用几十个数据寄存器来存储输入数据和输出结果,并且需要一些寄存器来保存运算的中间结果。
2.指令寄存器
计算机存储的不仅是数据,还有存储在内存中相应的程序。CPU的主要只能是从内存中逐条地取出指令,并将取出地指令存储在指令寄存器中并解释执行指令。
3.程序计数器
CPU中另一个通用寄存器是程序计数器。程序计数器中保存当前正在执行地指令,当前地指令执行完后,计数器自动加1,指向下一条指令地内存地址。
控制单元:控制单元控制各个子系统地操作,控制是通过控制单元发送到其他子系统地信号来进行的。
主存储器:主存储器是存储单元的集合,每一个存储单元都有唯一的标识,称为地址。数据以称为字的位组的形式在内存中传入和传出。字可以是8位、16位、32位或64位等。如果是8位,一般称为一个字节。
地址空间:在存储器中存取每个字都需要有相应的标识符,在硬件层次上,每个字都是通过地址来标识的。所有在存储器中标识 的地址单元的总数称为地址空间。下表给出了经常用来表示存储大小的单位名称:
存储单位
单位 字节数的准确值 近似值
千字节 2^10(1024) 10^3
兆字节 2^20(1048576) 10^6
千兆字节 2^30 10^9
兆兆字节 2^40 10^12
作为位模式的地址
由于计算机中都是以位模式存储数,因此存储地址也是位模式表示的。如果一个内存是64K(2^16),字长为一个字节,那么就需要16位的位模式来表示地址。第三章提到,地址用无符号整数来表示,则起始地址通常是0000000000000,最后一个地址位11111111111111111。
通常,一个计算机有N个字的存储空间的话,那么就需要Log2N位无符号整数来确定每一个存储单元。
存储器的类别
主要有两种类型的存储器:RAM和ROM。
1.RAM
随机存取存储器(RAM)可以使用存储单元地址来随机存取一个数据项,而不需要存取位于它前面的所有数据项。RAM与ROM的区别在于,用户可以读写RAM,即用户可以在RAM中写信息,之后可以方便地通过覆盖来擦出原有信息。RAM的另一个特点是易失性。当系统断电后,信息将丢失。即断电后,RAM中的信息会被删除。
2.ROM
只读存储器的内容是制造商写进去的,用户只能读但不能写,它的优点是非易失性。切断电源后,信息也不会丢失。
存储器的层次结构
为了满足速度快且价格低廉的存储器的需求,通常采用存储器的层次结果,即:
·当对速度要求很苛刻时可以使用少量高速存储器。如CPU中的寄存器。
·用适量的中速存储器来存储经常需要访问的数据。例如高速缓冲存储器
·用大量的低速存储器存储那些不经常访问的数据。例如主存
高速缓冲存储器
高速缓冲存储器的存取速度比主存快,但比CPU及其内部寄存器慢。高速缓冲存储器通常容量较小,常被置于主存和CPU之间。
高速缓冲存储器在任何时间都含有主存中的一部分内容的副本。当CPU要存取主存中的一个字时,将按一下步骤进行:
1)CPU首先检查高速缓存
2)如果要存取的字存在,CPU就把它复制;如果不存在,CPU就从主存中拷贝一份需要读取的字的数据块,该数据块将覆盖高速缓冲存储器中的内容。
3)CPU在高速缓存中存取并拷贝该字
由于80-20规则,计算机通常花费80%的时间来读取20%的数据。相同的数据往往被存取多次,因此高速缓存可以存储这20%的数据,使得存取至少快80%。
输入/输出子系统
输入/输出设备可以分为两大类:非存储设备和存储设备
非存储设备
非存储设备使得CPU与外界可以通信,但它们不能存储信息。
1.键盘和监视器
键盘提供输入功能;监视器显示输出并响应键盘的输入。
其他还有:鼠标、操纵杆等。
2.打印机
存储设备
尽管存储设备被分为输入/输出设备,但它也可以存储大量的信息。它们更见便宜且存储的数据不易丢失。有时称它们为辅助存储设备,通常分为磁介质和光介质两种。
1.磁介质存储设备:磁盘、磁带等
2.光存储设备:
1)CD-ROM 制度光盘
2)CD-R可刻录光盘
3)CD-RW 可重写光盘
5.4 子系统的互连
CPU与存储器的连接
CPU与内存之间通常由称为总线的三组线路连接在一起,分别是:数据总线、地址总线和控制总线。
1.数据总线
数据总线由多根线构成,每根线上每次传送1个位的数据。线的数量取决于字的大小。
2.地址总线
地址总线允许访问存储器的每个字,地址总线的线数取决于存储空间的大小。
3.控制总线
控制总线负责在中央处理器和内存之间传送信息。线数取决于计算机所需要的控制命令的总数。
I/O设备的连接:输入/输出设备的本质与内存和CPU不同,后两者是电子设备,而前者是机电、磁性或光学设备。输入/输出设备相比操作速度慢很多。因此必须要有中介来处理这种差异,通过一种被称为输入/输出控制器或接口的器件连接到总线上。
控制器,或者说接口,可以是串行或并行的设备。串行控制器一次只有一根数据线连接到设备,并行控制器则有数根数据线,使得一次能传送多个位。
(1)SCSI 并行接口
(2)火线 串行接口
(3)USB(通行串行总线)
多个设备可以被连接到一个USB接口上,这个控制器也被称为根集线器。
5.4.3 输入/输出设备的寻址
1.I/O独立寻址
用来读写内存的指令和输入/输出设备的指令是完全不同
2.I/O存储器映射寻址
CPU将输入/输出控制器中的每一个寄存器都看成是内存中的某个字,即没有单独的指令来操作内存或输入输出设备。
程序执行
通用计算机使用称为程序的一系列指令来处理数据
机器周期
1.取指令:控制单元命令系统将下一条要执行的指令复制到CPU的指令寄存器中,被复制的指令的地址保存在程序计数器中。复制完成后,程序计数器自动加1指向内存中的下一条指令。
2.译码:当指令置于寄存器后,控制单元进行译码,得到可以执行的二进制代码。
3.执行:控制单元发送任务命令到CPU的某个部件。
输入/输出操作
1.程序控制输入/输出
采用最简单的同步,CPU等待I/O设备
2.中断控制输入/输出
首先CPU告知I/O设备即将开始传输,但是CPU并不需不停地查询I/O设备的状态。当I/O设备准备好了,它通知(中断)CPU。在这种方法中CPU没有被浪费。
3.直接存储器存取(DMA)
这种方法需要一个DMA来承担CPU的一些功能。
不同的体系结构
CISC:CISI(复杂指令集计算机)体系结构的设计策略是使用大量的指令,包括复杂指令。因此在CISC中进行程序设计较容易,但是指令集的复杂性使得CPU和控制单元的电路非常复杂。减少复杂度的解决方案为程序在两个层面上执行,CPU不直接执行机器语言指令,而是只执行被称为微操作的简单操作。复杂的指令被转换成一系列简单操作然后执行,这种执行机制需要一个被称为微内存的特殊内存,它负责保存机器集中的每个复杂指令的一系列操作。CISC的一个例子就是英特尔奔腾系列处理器。
RISC:RISC(精简指令集计算机)体系结构的设计策略是使用少量的指令完成最少的简单操作。
流水线:现代计算机使用称为流水线的技术来改善吞吐量(单位时间内完成的指令数)。这个理念是如果控制单元能同时执行两个或三个阶段,那下一个指令就可以在前一条指令完成前开始。
并行处理:随着技术的进步和计算机硬件成本的下降,如今可以拥有多个控制单元、多个算术逻辑单元和多个内存单元的计算机。这个思想称为并行处理,可以改善吞吐量。
教材学习中的问题和解决过程
问题1:罗马数字与阿拉伯数字之间转换,python中代码
问题1解决方案:参考云班课中网址教材:罗马数字一共有7个基本符号,分别为:I(1)、V(5)、X(10)、L(50)、C(100)、D(500)和M(1000),括号内的值表示其大小。注意:罗马数字并没有表示0的符号。
-
代码调试中的问题和解决过程
- 练习
-
上周考试错题总结
-
-
问题:在记事本里两个代码文件:hello.py和world.py 并保存,却无法显示
- 解决:python下载时有问题,重新下载安装python
-
-
-
感悟:
通过本周学习了解了运算符基础运算方法,也接触了计算机的组成,了解了计算机的多个功能,。
学习进度条
代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长 目标 5000行 30篇 400小时 第一周 2/200 2/2 20/20 第二周 0/500 2/4 18/38 第三周 500/1000 3/7 22/60 第四周 300/1300 2/9 30/90 -
计划学习时间:10小时
-
实际学习时间:8小时
-
改进情况:做好每日规划
参考资料
- [机科学概论]
- 看漫画学python
-
-
标签:运算,符号,运算符,指令,2021,20211329,CPU,输入,2022 来源: https://www.cnblogs.com/shi-yu-jie/p/15413936.html