计算机组成原理(一):计算机系统体系结构
计算机组成原理(⼀):计算机系统体系结构
术语体系结构的3种⽤法
指令集体系结构(ISA): 描述了程序员看到的计算机的抽象视图,并且定义了汇编语⾔和编程模型。 之所以说它是抽象的,是因为它并没有考虑计算机的实现。
微体系结构:描述了⼀种指令集体系结构的实现⽅式。微体系结构关注计算机的内部设计
如何文件加密系统体系结构:关注包括处理器、存储器、总线、和外设在内的整个系统
什么是计算机体系结构
·计算机系统包括读取并执⾏程序的中央处理单元(CPU),保存程序和数据的存储器,以及输⼊输出⼦系统,这些⼦系统会使CUP与显⽰器、打印机等外部设备之间的通信变得更加容易。
·计算机中实际执⾏程序的部分叫做CPU,或者更简单地被称为处理器。微处理器则是在单个硅⽚上实现的CPU。围绕着微处理构建的计算机被称为微机
·尽管CPU是计算机的核⼼,计算机的性能既取决于CPU,也取决于其他⼦系统的性能。如果不能⾼效进⾏数据传输,仅仅提⾼CPU的性能是毫⽆意义的。、
简单通⽤计算机结构
信息(即程序和数据)保存在存储器中,为了实现不同的⽬标,计算机会使⽤不同类型的存储器,如Cache、主存、辅存等多个存储层次,⼤多数处理器都在CPU内集成了⽚上Cache。
Cache 是存放常⽤数据的⾼速、专⽤存储器。主存中存放了⼤量的⼯作数据。辅存是指磁盘和CD-ROM,能够存储海量数据。
组成计算机的各个⼦系统通过总线连接在⼀起,数据通过总线从计算机中的⼀个位置传递到另外⼀个位置。
数字计算机的结构,可以被分为两部分:中央处理单元和存储器系统。CPU读程序并完成程序指定的操作。存储器系统保存两类信息:程序,程序处理或产⽣的数据
寄存器是CPU内部⽤来存放数据的存储单元
时钟提供了脉冲流,所有内部操作都在时钟脉冲的触发下进⾏。时钟频率是决定计算机的⼀个因素
计算机指令
尽管计算机能够执⾏上百种不同的指令,但下⾯的6条基本指令可以将所有计算机指令进⾏分类:
MOV A,B 将B的值复制到A
LOAD A,B 将存储单元B的值复制到寄存器A中
STORE A,B 将寄存器B的值复制到存储单元A中
ADD A,B A与B相加,结果保存到A中
TEST A 测试A的值是否为0
BEQ Z 若最后⼀次测试结果为TRUE,执⾏地址Z处的代码,否则继续执⾏
寄存器
寄存器是⽤来存放⼀个单位的数据或字数据的存储单元。寄存器通常⽤它所保存数据的位数来描述,典型的有8位、16位、32位和64位。寄存器与存储器中的字存储单元没有本质区别。⼆者的实际差别在于,寄存器位于CPU内,它的访问速度远远快于访问CPU外的存储器。
时钟
绝⼤多数数字电⼦电路都带有⼀个时钟,⽤以⽣成连续的间隔固定的电脉冲流。之所以被称作时钟,
是因为可⽤这些电脉冲来计时或确定计算机内所有事件的顺序。如,处理器可能会在每⼀个时钟脉冲到来时执⾏⼀条新指令。
RISC(精简指令集计算机)体系结构
设计策略:是使⽤少量的指令完成最少的简单操作
缺点:程序设计更难,复杂指令需要⽤简单指令模拟
应⽤: ARM处理器
例如:3*3 = 3+3+3
CISC(复杂指令集计算机)体系结构
设计策略:是使⽤⼤量的指令,包括复杂指令
有点:程序设计更容易,因为每个简单的或复杂的任务都有⼀条对应的指令。程序员不需要写⼀⼤堆的指令去完成复杂的任务
缺点:指令集的复杂性使得CPU和控制单元电路⾮常复杂
应⽤:英特尔公司开发的奔腾系列CPU
例如:3*3 直接实现乘法指令
存储器
存储数据和程序,⼀个存放信息的表格或者⽬录
存储系统
处理器将⼀个放在地址总线上的地址以及⼀个⽤于选择读操作或写操作(也被称为读或写周期)的控制信号发送给存储器。
在读周期中,存储器将数据放在数据总线上供CPU读取。
写周期中,放在数据总线上的数据被写⼊存储器。
信息进⼊或离开存储器的位置叫做端⼝
寄存器传输语⾔(RTL)
由于使⽤⽂字描述计算机的操作很不⽅便,使⽤RTL可以更加容易的定义计算机内发⽣的操作
RLT符号
区分存储单元的地址和它的内容⾮常重要。
在RTL语⾔中,⽤⽅括号[]表⽰存储单元的内容,如
[15]=Max_Run
含义是:地址为15的存储单元保存了变量Max_Run的值
左箭头符号表⽰数据传送操作,如
15<–[15]+1
国安警察
含义是:将地址为15的存储单元的值加1,并将结果写回地址为15的的存储单元
存储程序的概念
金角大王什么时候打下⾯伪代码描述了存储程序计算机的基本操作:
存储程序计算机
程序计数器指向存储器中的第⼀条指令
REPEAT
从程序计数器所指的存储单元中读出指令
修改程序计数器,使之指向下⼀条指令
将从存储器中取出的指令解码
执⾏指令
FOREVER情人节送男友什么礼物好
END
执⾏⼀条指令需要⾄少两次访存,第⼀次访存是读取指令,第⼆次访存要么从存储器读出指令需要的数据,要么将它之前的指令产⽣的或修改过的数据写回存储器。
指令格式英语四级准考证号查询
存储程序计算机的⼀种直观合理的指令格式可以⽤下⾯的形式表⽰:
operation Address1 ,Address2,Address3(操作码+操作数)
Operation表⽰要执⾏的指令的动作
Address1、Address2和Address3分为是3个操作数在存储器中的位置。在这条指令中,操作数为数据的地址,⽽不是数据本⾝。
例:ADD P,Q,R是⼀条典型的三操作数指令,P、Q、R是三个存储单元地址的符号名。
这个三操作数指令格式⽤RTL表⽰为:
[Address1] ←[Address2] Operation [Address3]
两地址指令
有些计算机实现了两地址指令,其格式为
Operation Address1,Address2
Address2为源操作数,Address1既是源操作数也是⽬的操作数。
指令ADD P,Q的RTL定义为:
[P]←[P]+[Q]
两地址指令会破坏它的⼀个操作数,也就是说,会⽤结果替换源操作数P,本书⼤部分章节约定两地址指令格式为:
Operation destination , source
在实际计算机中,⼀般不允许同⼀条指令中使⽤两个存储地址,⼤多数计算机都规定⼀个地址是存储器地址,另外⼀个地址是寄存器
单地址指令
有些计算机实现单地址指令,其格式为:
Operation address
教师节手工花朵简单指令中只提供了⼀个操作数地址,⽽指令却需要⾄少两个地址,处理器不得不使⽤⼀个不需要显⽰地址的第⼆操作数,第⼆个操作数来⾃CPU内⼀个叫累加器的寄存器
计算机分类
可以按照计算机的指令处理数据的⽅式对计算机分类
存储器-存储器型:⼀条指令能够从存储器中读出源操作数,对数据完成某个操作,并将结果保存在存储器中
寄存器-存储器型:能够处理两个数据,其中⼀个位于存储器中,另⼀个位于寄存器中,结果要么被写回存储器,要么被写回寄存器,如Intel IA32 CPU体系结构
寄存器-寄存器型:只能对寄存器中的内容进⾏操作,这些计算机必须通过LOAD指令将数据读⼊寄存器病使⽤STORE指令将数据从寄存器送回存储器。由于LOAD和STORE操作是仅有的存储器访问指令,这些计算机也被称为load/store型计算机,如ARM和MIPS CPU体系结构
计算机系统概览
存储层次:由于CPU和存储器的性能之间的差距不断加⼤,通过在使⽤数据之前将它们从存储器中取出来消除相对慢速的存储器的影响,以降低延迟
寄存器:存放处理器的⼯作数据
Cache:缓存常⽤数据的快速存储器
DRAM(内存):存放⼯作数据
硬盘:保存程序和数据
注意,硬盘的容量是寄存器的4000万倍,但速度却⽐寄存器慢2000万倍
Cache⾼速缓存
经常被⽤到的数据保存在Cache中,Cache的访问时间⽐主存短得多。Cache保存主存中经常使⽤的数据的副本。Cache系统与计算机的地址总线和数据总线相连,监听CPU与存储器之间的事务。
只要Cache注意到CPU发出的地址与它保存的某个数据元素地址相同,就把这个数据发送个CPU,⽽不会去主存中取数据。
⼀级缓存(集成在CPU中)&⼆级缓存&三级缓存
总线
总线将计算机的两个或多个功能单元连接在⼀起并允许它们相互交换数据。总线还将计算机与外设连接在⼀起
通过公共总线将所有单元连接在⼀起的好处,此时只有⼀条⾼速数据通路,每个单元通过⼀个接⼝与这条通路相连。
缺点:每次只有唯⼀⼀个设备能够与其它设备通信,因为这⾥只有⼀条信息通路。如果两个设备同时请求使⽤总线,它们不得不去竞争总线的控制权。⽤术语仲裁来描述多个设备竞争同⼀资源的过程。
宽度:⼀般⽤并⾏数据通路的数量来定义总线的宽度。⼀条64位宽的总线⼀次能传送64位(8个字节)信息
带宽:总线带宽是衡量信息在总线上的传输速率的⼀项指标。带宽的单位要么是B/s,要么是b/s。要保持数据传输率不变的情况下增加总线宽度,可以提⾼带宽。
延迟:延迟是从发出数据传输请求到实际数据传输的事件间隔。总线延迟通常包括传输开始之前进⾏总线仲裁的时间
多总线系统
现代计算机中有多条总线,包括⽚内总线、功能单元件(如CPU和存储器间)的总线以及总线间的总线,(1) 多总线运⾏并发执⾏
(2)总线可能具有完全不同的特点和操作速度

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。