P3_L0_document
P3课下设计草稿设计要求处理器为32位单周期处理器,支持:add(000000 rs(5) rt(5) rd(5) 00000 100000), sub(000000 rs rt rd 00000 100010), ori(001101 rs rt imm), lw(100011 base(5) rt offset), sw(101011 base rt offset), beq(000100 rs rt offset(16)), lui(001111 00000 rt immediate)(将立即数加载至高位), nop(0x00000000)
对于每一条指令的执行,应该可以拆分成取指令、译码、执行、访存和回写5个主要的步骤。
模块规格IFU(取指令单元)模块端口:
信号名
方向
描述
clk
I
时钟信号
reset
I
异步复位信号,将PC寄存器的值复位为起始地址0x00003000(即将PC置0:其中1:复位;0:无效。)
NPC
I
32位,代表下一条指令的地址,读入后用PC寄存器存储起来
PC
O
32位,代表当前指令的地址,输出给NPC模块来生成下 ...
C++
CPP环境配置g++常用命令选项
选项
解释
-ansi
只支持ANSI标准的C语法,禁止GNU C的某些特色,如asm或typeof关键词
-c
只编译并生成目标文件
-DMACRO
以字符串“1”定义MACRO宏
-DMACRO=DEFN
以“DEFN”定义宏
-E
只运行C预编译器
-g
生成调试信息
-IDIRECTORY
指定额外的头文件搜索路径DIRECTORY
-LDIRECTORY
指定额外的函数库搜索路径DIRECTORY
-lLIBRARY
连接时搜索指定的函数库LIBRARY
-m486
针对486进行代码优化
-o
FILE生成指定的输出文件,用在生成可执行文件时
-O0
不进行优化理
-O/-O1
优化生成代码
-O2
进一步优化
-O3
再进一步,包括inline函数
-shared
生成共享目标文件
-static
禁止使用共享链接
-UMACRO
取消对MACRO宏的定义
-w
不生产任何警告信息
-Wall
生成所有警告信息
基本语法命名空间存 ...
CO上机(Pre-P2)
计组上机Pre第一题(Logisim)题目大意:输出一个持续填入数组的当前数an。而an根据输入端type做相应的变化:
type == 0 , an = 0
type == 1 , an = an-1 + 1,a0 == 0
type == 2 , an = a1 + …… + an-1
并且要求有一个reset复位输入端实现同步复位的功能,且电路外观一定要如下(一定不同都不能有):
且要求是Moore状态机(输出值只与有限状态机当前状态值有关区别于Mealy状态机(输出值不仅同状态机当前状态值有关还与当前输入值有关)。
第一”坑“:因为如果左侧从上到下依次放输入,右端放一个输出的logisim默认电路外观是如下的图,在这种情况下评测机会以右侧输出端的绿线为支点,去按照上图的位置取输入的值,因此会导致下图中,左边中间的输入会对应到上图的左上输入端,其他以此类推,会得到意想不到的结果(本人是高位呈浮动数)。因此需要手动去调整,上机第一看:规定的电路外观,一定得要一模一样。
...
Git
Gitgit init该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。 但是,在这个时候,我们仅仅是做了一个初始化的操作,你的项目里的文件还没有被跟踪(untracked)。
git clonegit clone [url]克隆仓库的作用。
git add告诉Git,将文件(文件要提前放置在建立仓库的目录中,不然Git没办法找到它)添加入仓库中。本质上是让git开始跟踪一个文件,使之变为已暂存的状态。git add 命令使用文件或目录的路径作为参数;如果参数是目录的路径,该命令将递归地跟踪该目录下的所有文件。
例:
12$ git add readme.txt$ git add .//可以将所有修改都加入暂存区中
git restore可以在文件还未通过git add加入暂存区时,来撤销对该文件的修改,使其回到上一个commit的状态,若其已加入了暂存区,可以通过git restore --staged <filename>来取消暂存。
git commit告诉Git将文件提交到仓库里:
...
English
Englishpaper’s viewChatGPT could generate text that seemed like a human wrote it. How could teachers detect whether students were using language generated by an AI chatbot to cheat on a writing assignment?(more than this the almost same score would destroy not only students’ creativity but also their motivation to create)
The author thinks that AI will not only give rise to cheating but also threaten student writing skills, the value of writing as a process, and the importance of seeing writing ...
超级计算机
超级计算机天河一号 A2.57 PFlops
天河二号33.9PFlops
升级至2A
神威太湖之光CNGrid性能响应时间提交作业到完成作业所花费的时间,CPU执行时间,CPI:指令平均执行时钟周期数,不起决定性作用
吞吐量一定时间间隔内完成的作业数(速率度量),吞吐指标:IPC
MFlpos:百万浮点数操作每秒,与整数、浮点数比例有关,1MFlops与等于3MIPS
性能影响因素指令数:ISA(指令集体系结构)、编译器
CPI
时钟周期
高性能计算机的基本性能峰值性能(排榜)、持续性能(更看重)
加速比Sn=T1/Tn,并行算法的加速性能
高性能计算机体系结构高性能计算向量计算并行计算硬件结构上作成并行结构,完成高性能计算
分布式计算分结点同时计算
网络计算网格计算(Grid Computing)像电网一样,把算力连接到一起形成基础设施,算力网。并行计算+分布式计算
云计算HPC发展历程专用时代不是只能运行某种应用,是组成部件专门设计
普及时代商品化和标准化趋势。
集群系统:一种高性能计算机架构。
巨型机萌芽阶段CDC6600:世界上第一台巨型计算机
向量机鼎盛 ...
oo
面向对象一切皆对象,面向对象语言用“类”来抽象化“对象”。类可以实例化出任意数量的对象。
面向对象编程在大型项目、复杂系统开发中具有明显优势,尤其是在需要处理多个具有相似特征的实体时。
复杂性控制机制封装黑匣子,控制内部复杂性使得外部不可见。
隐藏类实现细节的机制,降低用户代码和类实现之间的耦合度。
继承通过建立类之间的抽象层次来协同降低复杂性。
子类获得父类的设计与实现–》复用和扩展,也可改写
利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(super class),派生类称为子类(sub class)。
extends定义继承关系:
public class SubClass extends SuperClass(…)
子类可以访问父类的公共和受保护成员
私有成员无法直接被访问,需调用父类的方法来访问
Java只支持单继承,即一个类只能有一个父类
implements定义继承关系 使java具有多继承得特性,使用范围为类继承接口的情况,可同时继承多个接口(接口间采用逗号分隔)
1234567891011public interfa ...
MIPS
MIPS汇编语言为了阅读和理解机器码(CPU所直接处理的是一条条二进制机器码指令),人们发明了汇编语言(低级语言,稍比机器语言高级)——本质上是一种==助记符==(用一些易于理解的符号代表特定含义的机器码,基本上贴着机器码描述,用标签(Label)来替代地址)。
注意:经常会用到的概念:比特(bit)、位、字节(byte)、半字节、字。
一比特就是一位,一字节是八位,半字节是四位,一个字的大小在不同的计算机架构不同,其中32位CPU中一个字为4个字节,16位CPU中一个字为2个字节,即一个字是能一次处理的最大位数。
寄存器介绍寄存器是 CPU 的组成部分之一,是一种高速存储器(甚至是 CPU 可以使用的最高速的一种存储器),可以用来暂存指令,数据,地址等。由于寄存器的成本较高,一般的 CPU 中只有数量很有限的寄存器可供使用。
在 MIPS 体系结构中,CPU 对数据的操作均是基于寄存器的。内存中的数据需要先使用读取(load)类指令保存到寄存器才可使用。操作完成的数据也不能直接保存到内存中,需要使用装载(store)类指令保存至内存中。
MIP ...
CO理论
计算机性能1.机器字节:运算器一次运算所处理的二进制数的位数。常见的机器字长有16位、32位、64位。
2.主存容量主存储器信息存储量,一般以字节为单位。1KB(kilobyte)=2^10^字节,1MB(Megabyte)=2^20^字 节,1GB(Gigabyte)=2^30^字 节,1TB(terabyte)=2^40^字 节,1PB(Petabyte)=2^50^字节。
3.时钟周期计算机硬件最小时间单位,决定了计算机硬件完成基本功能的速度。时钟周期由计算机的主时钟电路决定,计算机硬件电路的构建都基于主时钟电路。
4.CPI(Clock Cycles Per Instruction):、计算机执行每条机器指令所需时钟周期平均数。
5.MIPS(Million Instructions Per Second):每秒执行的百万条机器指令数,是衡量计算机性能(速度)的一个指标,更大的单位有GIPS(Giga Instructions Per Second);
6.**MFLOPS(Million Floating-Point Oper ...
Verilog与仿真工具
Verilog与仿真工具Verilog建模Verilog 模型可以描述实际电路中不同级别的抽象。所谓不同的抽象级别,是指同一个物理电路,可以在不同的层次上用 Verilog 语言来描述它。在这里,不同的层次可以理解为:电路的某个功能部件是由更小的、功能较为简单的部件连接组合而成的,因此可以将不同的部件划分在不同的层次。使用硬件描述语言(HDL)对系统进行抽象,可以在不同层次观察系统。类似于 C 语言当中,函数调用是对一组表达式集合的抽象。我们将着重于硬件设计的两类仿真级别:结构级建模以及行为级建模。
结构级建模和行为级建模是一对相辅相成的关系。在电路中,我们既需要对某一模块(部件)的行为、功能进行描述,也要在已设计好的模块之间进行连接,完成上层结构的建模。进一步讲,其又可以作为新的功能模块,供更上层的结构建模中使用,以此类推。
在进行电路刻画时,可用原理图(Schematic)进行表示。原理图通常包括器件(components)以及连线(wires),其中连线用于连接各器件。原理图具有输入输出,因此原理图描述的电路本身也可以作为器件使用,从而易于层次化设计。
使用 Verilog 语言 ...







