其他分享
首页 > 其他分享> > 2021-2022-1 20211329《信息安全专业导论》第四周学习总结

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的符号。

标签:运算,符号,运算符,指令,2021,20211329,CPU,输入,2022
来源: https://www.cnblogs.com/shi-yu-jie/p/15413936.html