计算机科学与导论 第四章和第五章

第四章 数据运算

4.1.逻辑运算符

and or not 老生常谈没什么可讲的略

异或

异或是将俩个指定位相同为0,不同为1,主要的用处判断一个数出现是奇数次还是偶数次,或者将该数字的某些指定位取反。掩码的0对应的位将会保持不变,而掩码的1会使指定位取反,利用此特性将某些位取反。

4.2.移位运算

我们可以把移位分为俩个大类;逻辑移位运算和算术移位运算。

4.2.1逻辑移位

逻辑右移运算每一位向后移动一个位置。在n位模式中,最右位丢失,最左位填0.逻辑左移运算吧每一位向左移动一个位置。在n位模式中,最左位丢失,最右位填0.

4.2.2算术移位运算

算术移位运算假定位模式是用二进制补码格式表示的带符号的整数。这些运算不应该改变符号位。算术右移位保留符号位。同时也把它复制,放入相邻的右边的位中,因此符号被保存

例如 对位模式10011001使用算术右移,模式是二进制补码格式的整数。

算术右移 1 0 0 1 1 0 0 1 原始的
1 1 0 0 1 1 0 0 移位后的

4.3.算术运算

二进制补码表示法的有点就是加法和减法没有区别,当遇到减法时,计算机只简单地把它转变为加法,但要为第二个求二进制的补

加法例子省略

减法例子
A=(00011000) B=(11101111)
运算时相减,A-B=A+B(补)
0 0 0 1 1 0 0 0 A
0 0 0 1 0 0 0 1 B(补)
0 0 1 0 1 0 0 1 结果

有些数可能加起来会不正确,这是因为发生了溢出,在我们进行计算机中数字算术运算时,要记住每个数字和结果应该在分配的二进制位的定义范围之内

第五章 计算机组成

5.1引言

计算机组成部件可以分为三大类:中央处理器,主存储器和输入/输出子系统。
接下来的三个部分将讨论这些子系统以及如何将这些子系统组成一台计算机。

5.2中央处理单元

它有三个组成部分 算术逻辑单元,控制逻辑单元,寄存器组,快速存储定位。
在这里插入图片描述

5.2.1 算术逻辑单元

算术逻辑单元(ALU) 对数据进行逻辑,移位和算术运算。
1.逻辑运算
与或非 异或

2.移位运算
逻辑移位和算术移位

3.算术运算
各种算术运算

5.2.2 寄存器

寄存器是用来存放临时数据的高速独立的存储单元

1.数据寄存器
在上图中数据存储器被命名为r1到rn

2.指令寄存器
现在,计算机存储的不仅是数据,还有存储在内存中相对应的程序。cpu的主要职责是从内存中逐条取出指令,并将取出的指令存储在指令寄存器(ir)中,解释并执行指令。

3.程序计数器
cpu中另一个通用寄存器是程序计数器。在程序开始执行前,将程序指令序列的起始地址,即程序的第一条指令所在的内存单元地址送入PC,CPU按照 PC的指示从内存读取第一条指令(取指)。当执行指令时,CPU自动地修改PC的内容,即每执行一条指令PC增加一个量。

5.2.3 控制单元

cpu的第三个部分是控制单元,控制单元控制各个子系统的操作。控制是通过从控制单元到其他子系统的信号来进行。

5.3主存储器

主存储器,它是存储单元的集合,每个存储单元都有唯一的标识,称为地址。

5.3.1 地址空间

例子 一台计算机有32MB内存。需要多少位来寻址内存中的任意一个字节?

此题说白了就是需要多个单位来标识一个字节。一个字节就有一个地址 那需要32k个 就是 2 25 2^{25} 225个 那就需要25位来标识每一个字节

例子 一台计算机有128MB内存。计算机字长位8字节,需要多少位来寻址内存任意一个单字?
和上题一样 总共需要标识128M/8 = 2 24 2^{24} 224 也就是24位来寻址

5.3.2 存储器的类型

主要有俩种类型的存储器 ROM和RAM
1.RAM
随机存取存储器(RAM)是计算机中主存的主要组成部分,
RAM和ROM的区别在于 RAM当系统断电后,信息将丢失。RAM分为SRAM和DRAM

(1)SRAM
静态SRAM计数是传统的触发器门电路来保存数据。这些门保持状态0/1,也就是说当通电的时候数据始终存在,不需要刷新,SRAM速度块,但是价格昂贵。应用:cpu的一级,二级缓存

(DRAM)
动态RAM技术使用电容器。如果电容器充电,则这时的状态是1,如果放点状态是9.因为电容会随时间漏电,所以内存单元需要周期性刷新 应用:
内存条,手机运存,显卡显存

2.ROM
只读存储器的内容是制造商写进去的,用户只能读但不能写,它的有点是当切断电源后,数据也不会丢失。 应用(bios)

rom现在有PROM(现在基本见不到了) EPROM(老式计算机的BIOS) EEPROM(现在的固态硬盘,u盘都是)

5.3.3 存储器的层次结构

计算机用户需要许多存储器,尤其是速度快且价格低廉的存储器。但这种要求并不总能得到满足。
存储速度快的存储器通常都不便宜。因此需要寻找一种折中的办法。解决的办法是采用存储器的层次结构
在这里插入图片描述
对速度要求很苛刻时可以使用少量高速存储器。cpu中的寄存器就是这种存储器。
用适量的中速存储器来存储经常要访问的数据(高速缓冲存储器)
用大量的低速存储器存储哪些不经常访问的数据。主存就属于这类

5.3.3 高速缓冲存储器

高速缓冲存储器的存取速度要比主存块,但是比cpu及其内部的寄存器要慢。
高速缓冲存储器在任何时间都有主存中一部分内容的副本。当cpu需要读取数据时候,先去高速缓冲存储器中寻找,如果缓冲器里边没有再去内存中寻找,然后将数据复制到缓冲器里边,防止下次还需要读取再去找内存。

5.4 输入输出子系统

本书把硬盘等归入了输入输出系统,也有的书把硬盘等放在了存储当中的外存,此块略

5.5子系统互联

5.5.1 cpu和存储器的连接

在这里插入图片描述
cpu和存储器之间通常由称为总线的三组线路连接在一起,它们分别是:数据总线,地址总线,控制总线。
1.数据总线
数据总线是由多根线组成,每一根线每次传送1位的数据。线的数量取决于计算机的字的大小。例如,计算机的字是32位(4个字节),那么需要32根线的数据总线,以便同一刻能同时传送32位的字。
2.地址总线
地址总线允许访问存储器中的某个字,地址总线的线数取决于存储空间的大小。如果存储容量为 2 n 2^n 2n个字,那么地址总线一次需要传送n位的地址数据。因此它需要n根线。
3.控制总线
控制总线负责在中央处理器和内存之间传送信息。例如有一个代码从cpu发往内存,用于指定进行的是读操作还是写操作。控制总线取决于计算机所需要的控制命令的总数。如果计算机有 2 m 2^m 2m条控制命令,那么控制总线就需要有m根。

5.5.2 I/O设备的连接

输入/输出设备不能直接与连接cpu和内存的总线相连,与cpu和内存相比,输入/输出设备的操作速度要慢的多。因此必须有中介处理这种差异,输入/输出设备是通过一种输入输出控制器或者接口的器件连接在总线上的。每一个输入/输出设备都有一个特定的控制器。

控制器
有几种控制器至今还在使用,如今最常用的SCSI,火线,USB和HDMI。

在这里插入图片描述
(1) SCSI
小型计算机系统接口。今天许多系统使用它,它是一个8,16,32线的并行接口。如下图所示,它提供了菊花链连接,连接链的俩端都必须有终结器,并且每个设备都必须要有唯一的地址(目标ID)

在这里插入图片描述
(2)火线
略(基本已经淘汰了)

(3)USB
通用串行总线(USB) ,USB是一种串行控制器,用以连接计算机相连的一些低速和高速设备。
下图显示了USB控制器与总线间的连接和设备与控制器间的连接。
在这里插入图片描述
(4)HDMI
高清晰多媒体接口是现有视频模拟标准的数字化替代品。它可以用来从一个资源向另一个兼容的计算机显示器,视频投影仪,数字电视或数字音像设备传输视频数据和数字音像数据。

5.5.3输入输出设备的寻址

有俩种方法对输入/输出设备寻址,即I/O独立寻址和I/O存储器映射寻址
(1)I/O独立寻址
用来读和写内存的指令与用来读写输入输出设备的指令不同,因为指令不同所以内存地址和I/O地址可以重叠。
(2)I/O存储器映射寻址
简单点说不区分内存和输入输出的指令,但这样就需要将I/O设备和内存一样进行编地址,地址不能重复,不然无法区分。

5.6程序执行

当今,通用计算机使用程序的一系列指令来处理程序,计算机通过执行程序,将输入数据转换成输出数据,程序和数据都放在内存中。

5.6.1 机器周期

cpu利用重复的机器周期来执行程序中的指令,一步一步,从开始到结束。一个简化的周期包括3步:取指令,译码和执行。
在这里插入图片描述

1.取指令
在取指令阶段,控制单元命令系统将下一条要执行的指令复制到cpu的指令寄存器中,被复制的指令地址保存在程序计数器中。复制完成后,程序计数器自动加1指向内存中的下一条指令。
2.译码
机器周期的第二阶段是译码阶段。当指令置于指令寄存器后,该指令将由控制单元负责译码。译码的结果是产生一些列系统可以执行的二进制代码。
3.执行
指令译码完毕后,控制单元发送任务命令道CPU的某个部件,例如,控制单元告知系统,让它从内存中加载数据项,或者是CPU让算术逻辑单元将俩个输入寄存器中的内存相加并将结果保存在输出寄存器。这就是执行阶段。

5.6.2 输入输出操作

计算机需要通过命令把数据从I/O设备传输到CPU和内存。因为输入/输出设备的运行速度比CPU慢很多,因此CPU的操作在某种程度上必须和输入/输出设备同步。有三种方法设计用于同步,分别为:程序控制输入/输出,中断控制输入/输出,直接存储器存取(DMA)

1.程序控制输入/输出
cpu等待I/O设备.说白了就是傻等

2.中断控制输入输出
首先CPU告知I/O设备即将开始传输,但是CPU并不需要不停查询I/O设备状态,当I/O设备准备好时,它通知(中断)CPU,在这过程中CPU还可以做其他工作。

3.直接存储器存取
这种办法需要一个DMA控制器来承担cpu的一部分功能。

5.7 不同的体系结构

CISC
CISC是复杂指令集计算机的缩写。在CISC中进行程序设计要比在其他设计中容易得多,因为每一项简单或复杂的任务都有一条对应的指令。程序员不需要写一大堆指令去完成一项复杂的任务。

RISC
精简指令集计算机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值