其实这篇文章是用来记录我的复习笔记的,下午考了一门概率论真是心中凉凉,走出考场的那一瞬间,能想得到的天王老子的祖宗十八辈儿亲戚全在心中咒骂了一遍。
弄死老子好了!
哎,若是人生能天天呆在那里写东西该是何等的爽,不用顾虑好多。
话说我都已经退化到依靠日更记录来复习的程度了,果然码农这个工作是不适合我的吧!
今天晚上的内容是串一遍课本的ppt,一共六章,走你。
标题目录,无所谓的时间和人物介绍,这就是一开头,没什么所谓的。
Page4这张图我觉得需要注意一下,主要是旁边的几行文字。
重点:
1.主存用来存放程序和数据
2.有一个用来逐次取出指令的部件(其实就是控制器)
3.有具体执行指令的部件(也就是运算器)
4.程序由指令构成(废话)
5.指令描述对数据的处理(废话)
6.将程序和原始数据输入计算机的部件(I)
7.有将运算结果输出计算机的部件(O)
这个图片中读出几个比较重要的信息:
1.存储器是底层结构,运算器和控制器更高。
2.运算器操作数据
3.控制器的作用有二:一.读取存储器中的指令,译码后下达给运算器执行具体的操作,也就是命令;二.运算器运算之后的状态返回给控制器,数据返回给主存,同时对地址进行操作(这里的理解:既然指令和数据是存储在地址里面的,那么对地址进行操作也就相当于是更换了指令和数据,换言之,程序进行中)
4.I/O设备需要向控制器发出申请之后才可以对主存进行操作,这个操作跟运算器一样,同样是需要控制器发出命令之后进行。
理解:可以看做运算器和I/O都是莫得灵魂的,只是具备相应的功能和要干什么,而把他们知道的要干什么传给控制器之后,控制器可以告诉他们,到底怎么干。
简而言之几点:
1.五个部分
2.主存能区分指令和数据
3.控制器主要是取出指令来执行(其实经过刚才的思考应该说成是:控制程序的进程并且管理IO和运算器的具体执行步骤)
4.运算器能运算
5.IO能通信
6.指令=操作码(操作的类型)+地址码(指向操作数)
程序=指令好多
7.存储程序(也就是事先存储一些程序在主存里,不是全临时靠键盘猛敲)*
**1.指令在IR(instruction register)里,数据在gpr(g……gggg不出来)里,都是一开始从存储器取到CPU里的。
2.指令=操作码+源操作数1+源操作数2(立即数,寄存器编号,存储地址)+目的操作数地址(寄存器)
这个后面是会有的,就在……哦对,程序的转换和机器级表示那里
3.最后一句话的意思,最直白的理解就是位数会对具体地址产生影响的吧?或者是采用树结构或者是堆结构而写出来的地址会指向不同的实际储存空间? 红黄蓝?
这过程实际上就是……
首先启动了一个程序,然后程序将I中的字符读入,存放到主存。
然后系统内核(这个系统内核到底是什么也没有说明,就当做是控制器的一个作用单元好了)依照读入的字符到磁盘上找Hello,再把这里面的程序和数据传送到主存储器中。
之后程序启动,第一条指令送入PC计数器,意味着程序进程开始。
处理器(又不知道是什么东西,当做控制器的又一个单元好了)从指令代码开始执行,将数据从主存读到寄存器,再从寄存器输出到显示器。
(计算器操纵的场所主要是主存)
(IO操纵的场所主要是寄存器)
接下来介绍计算机语言的演变
记住tip:
应用程序(就是程序)
语言处理系统(包括,编译汇编链接三个功能,库函数调试优化等功能)
操作系统(人机交互,服务功能的内接)
指令集体系架构(指定基础操作?)
计算机硬件(微体系结构)
放这幅图只是因为,最后一句话好萌啊!
不明所以 注入灵魂
几点理解:
其实ISA,也就是规定,那么规定了什么,来看看
指令,指令有格式、操作种类、和操作数(类型,个数)等规定
寄存器,一般32个寄存器,分别的名称、编号、长度(一般统一)、用途
空间(操作数的存储空间有多大,是怎么编址的)(大小端)(寻址方式)
执行过程的控制方式(程序计数器,条件码定义)
看不懂也没关系,看不懂你还不是照样读MIPS汇编语言
总之,ISA的存在就是为了让我们操纵硬件。
精髓:ISA是计算机的抽象
这幅图还是挺重要的(不明觉厉系列)
来看看应该怎么了解
首先看cpu(中央处理器,也就是控制器)的内部结构
首先呢,程序的指令是存放在寄存器中的,内存中的指令取出来放在MAR(main address register)中,这个MAR和MDR(main data register),是存放指令和数据的,作用是没啥作用,就是安在cpu和内存中间的东西(听起来好像很像是cache?)
嗯嗯,指令放在了MAR中之后呢,就来到了cpu中的ir寄存器。
cpu开始控制pc计数,与此同时控制MAR从主存中取出数据,放在GPRS中。
随后ALU进行运算,运算的结果有地址和结果,一些返回寄存器,还有计算后的状态,需要通过标志寄存器返回给控制器。
cpu麾下大军跟存储器根据地址访问,进行数据(指令和数据)交换
储存器跟外界IO进行信息交换
说说cpi那些事儿啊……
其实呢程序的标准就一个时间,但是时间要乘出来,怎么乘
cpi,每条指令所用的指令周期。
所以呢,程序指令要是多,肯定时间多
一条指令对应的周期多,肯定也多
一条指令周期要是时间长,那也多
时钟周期?
时钟转一圈多少秒
时钟频率?
时钟转一秒走了多少圈
还有几个常用量,自行对座入号——周期数,指令条数
cpi对于机器固定——所以题目当然是两台机器A和B总时钟数?就是总的时钟周期数,就是说到底有多少个周期。
(周期就是周期,时钟周期是CPI,是Cycle/Instruction!)
cpip=总时钟周期数/指令条数
问题套公式:
总时间=指令条数时钟周期周期时间
下面一页看了之后就一句话——cpi不能说明性能的好坏。
问答要点两开花
网友评论