- 博客(36)
- 收藏
- 关注
原创 计算机组成原理实验——五、单周期CPU设计
实验目的1. 掌握指令执行过程的5个阶段2. 掌握每条指令的数据通路选择3. 掌握译码器和控制器的功能和实现4. 掌握数据输入输出处理的方法5. 实现risc-v中RV32I指令的单周期CPU6. 利用实现的risc-v CPU实现平方数二.实验内容1. 实现risc-v中37条RV32I指令的单周期 cpu;2. 完成1后在该cpu上实现斐波那契数。
2023-01-03 23:31:46
3547
1
原创 计算机组成原理实验——四、risc-v指令实验
利用 risc-v 的 RV32I 指令编写程序实现 斐波那契数,并在 Jupiter 上调试通过。如果程序中出现了非RV32I指令(ecall除外), 本实验成绩为0。输入n, 输出f(n)即可。• 利用RISC-V指令实现斐波那契数。• 熟悉每条指令的功能、构成以及扩展。掌握RISC-V中RV32I指令。• 熟练使用Jupiter软件。
2022-12-31 23:02:19
1989
原创 计算机组成原理实验——三、存储器实验
4.识别code编码对应的load指令将该数据 从RAM中读出来,结果显示数据的 [31:28][15:12][7:4]。32的RAM,并在 其上封装一个模块,使得其能完成risc-v 的load/store指令功能。可选:用七段数码管显示该数据的全部 32位。3.掌握RISC-V中存储器的存取方式。mysim.v(不用数码管显示)show.v(七段数码管显示)mysim.v(用数码管显示)seven.v(七段数码管)top.v(不用数码管显示)top.v(用数码管显示)div.v(分频器)
2022-12-31 22:52:11
3496
原创 计算机组成原理实验——二、寄存器实验
3.掌握寄存器堆在微处理器中承担的功能。1.掌握寄存器堆的工作原理和接口。RegFiles.v(寄存器堆)mysim.v(不用数码管显示)show.v(七段数码管显示)mysim.v(用数码管显示)2.掌握寄存器堆的实现方法。square.v(求平方数)seven.v(七段数码管)top.v(不用数码管显示)top.v(用数码管显示)alu.v(加法器)div.v(分频器)
2022-12-31 22:04:53
4451
1
原创 计算机组成原理实验——一、ALU实验
用 Verilog 设计一个算术运算单元 ALU,采 用纯组合逻辑设计,32bit 宽。1.掌握ALU模块的组成和接口,理解ALU的功 能。3.掌握Verilog中多模块编程方法和实现。2.通过编程调用ALU模块计算斐波那契数。fib.v(三段式斐波那契数列)mysim.v(不用数码管显示)show.v(七段数码管显示)mysim.v(用数码管显示)seven.v(七段数码管)top.v(不用数码管显示)top.v(用数码管显示)alu.v(加法器)div.v(分频器)
2022-12-31 21:35:28
3291
原创 计算机网络期末考试重点归纳
主机 A 向主机 B 发送 IP 数据报时,先在其 ARP 高速缓存中查看有无 B 的 IP 地址,若有,查出 B 对应的 MAC 地址,再把该 MAC 地址写入 MAC 帧,通过局域网将该 MAC 帧发往此 MAC 地址;主机 H1 先将要发送的分组的目的地址与本网络 N1 的子网掩码进行按位与运算,若结果等于本网络 N1 的前缀,表明目的主机连接在本网络上,否则交由 R1 转发。假设数据 M 的位数为 k,CRC 运算即为在 M 后添加供差错检测用的 n 位冗余码,构成 (k + n) 位的帧发送。
2022-12-31 11:18:20
730
原创 实现div元素和文字水平及垂直居中的方法(超简单,适应各种场合)
实现实现div元素和文字水平及垂直居中的方法如下:div元素水平居中:`style="margin:0 auto"`div元素垂直居中:`style="padding: (外层div的高-内层div的高)/2; background-clip:content-box; "`div文字水平居中:`外层div中style="text-align: center; "`div文字水平居中:`内层div中style="line-height: 外层div的高; "`具体的代码展示(下面两种方法效果相同)
2022-11-12 23:17:25
7503
原创 前后端分离项目(gin+gorm+vue3)腾讯云部署详细教程(Xshell安装及使用,go,mysql,nginx安装及配置)
(一)服务器购买与配置1. 购买服务器2. 重置密码3. 添加端口(二)Xshell安装与使用1. 安装Xshell2. 使用Xshell连接服务器(三)go和mySQL环境安装与后端部署1. 安装Go环境2. 安装mySQL环境3. 打包并部署后端(四)nginx安装与前端部署1. 安装nginx2. 打包并部署前端(五)总结
2022-11-12 00:57:18
2929
2
原创 Go语言基础归纳(Golang学习笔记)
func 函数名(参数列表) 返回类型 {函数体 }/* 返回一个值:函数返回两个数的最大值 */ func max(num1 , num2 int) int {result = num2 } return result } /* 返回多个值:函数交换两个数的值并返回 */ func swap(num1 , num2)(int , int) {type 结构体名 struct {成员 1 成员类型 1 成员 2 成员类型 2 }结构体 := 结构体名 {成员值 1 , 成员值 2 }
2022-10-30 20:04:23
426
原创 全栈开发实战(二)——简易博客社区前端搭建教程(附源码)
在开始我们的项目前,请确保你已安装好node.js及vue3.js,并配置好相应的编辑器,本项目所使用的编辑器为Visual Studio Code在终端输入以下语句使用vite创建项目blog_client:cd进入输入以下语句安装必要的依赖:输入以下语句运行项目:本项目所使用的模块如下安装上述模块将src/style.css修改为
2022-10-25 17:00:18
3131
3
原创 全栈开发实战(一)——简易博客社区后端搭建教程(附源码)
在项目开始前,首先确保你以安装好Go语言并配置好Go语言编辑器,同时安装好MySQL或其他数据库,其次,为了方便调试,可安装相应的接口测试工具和数据库可视化工具本项目所使用的工具如下:GoLand——编写并运行程序,Postman——接口测试,Navicat Premiun——数据库可视化;模块安装:安装gin——一个golang的微框架,安装gorm——Golang语言中一款性能极好的ORM库,安装mysql驱动——用于操作数据库安装jwt包——用于生成和验证token
2022-10-22 00:16:24
3151
4
原创 算法分析与设计-会场安排问题(贪心)(通俗易懂,附源码和图解,含贪心选择性质和最优子结构性质的证明)(c++)
4-1 会场安排问题(一)题目问题描述假设在足够多的会场里安排一批活动,并希望使用尽可能少的会场。设计一个有效的贪心算法进行安排。(这个问题实际上是著名的图着色问题。若将每个活动作为图的一个顶点,不相容活动间用边相连。使相邻顶点有着不同颜色的最小着色数,相当于要找的最少会场数。)算法设计对于给定的nnn个待安排活动,计算使用最少会场的时间。数据输入由文件input.txt提供输入数据。第1行中有一个整数nnn,表示有nnn个待安排的活动。接下来的nnn行中,每行有2个正整数,分别表示nnn个待
2022-04-27 08:24:45
12583
原创 Go-web开发快速入门——二、使用jwt配合中间件进行用户认证(附源码,超详细)
Go-web开发快速入门——二、使用jwt配合中间件进行用户认证在上一篇博客,我们完成了用户注册登录的功能以及数据库存储用户信息,这篇博客,我们将介绍如何使用jwt配合中间件进行用户认证上一篇博客链接:Go-web开发快速入门——一、gin+gorm完成用户注册登录及用数据库存储用户信息(附源码,超详细)__Eliuak_的博客-优快云博客参考资料:生成解析token · Go语言中文文档 (topgoer.com)一、准备首先我们将jwt包引入进来,在终端输入代码:go get githu
2022-04-22 01:02:44
3501
3
原创 Go-web开发快速入门——一、gin+gorm完成用户注册登录及用数据库存储用户信息(附源码,超详细)
Go-web开发快速入门——一、gin+gorm完成用户注册登录及用数据库存储用户信息参考资料:gin中文文档gorm中文文档一、准备本项目所使用的所有工具如下:Visual Studio Code —— 编写并运行Go程序MySql —— 建立数据库Postman —— 接口测试Navicat Premium —— 数据库可视化首先进行相关的配置:1.新建一个项目文件夹2.使用go mod初始化项目模块go mod init 项目模块名称执行完毕后项目下会出现一个go.
2022-04-18 00:52:38
10016
6
原创 算法分析与设计-数字三角形问题(动态规划)(通俗易懂,附源码和图解,含时间复杂度分析)(c++)
3-4数字三角形问题(一)题目问题描述给定一个由nnn行数字组成的数字三角形,如图所示。 7 3 8 8 1 0 2 7 4 44 5 2 6 5 试设计一个算法,计算从三角形的顶至底的一条路径,使该路径经过的数字总和最大。算法设计对于给定的由nnn行数字组成的数字三角形,计算从该三角形的顶至底的路径经过的数字和的最大值。数据输入由文件input.txt提供输入数据。文件的第1行是数字三角形的行数 nnn,1
2022-04-13 23:25:26
8212
1
原创 Go语言小程序开发快速入门——二、获取用户的openid
下面主要介绍如何使用Go语言获取小程序用户的openid1.获取用户openid的原因由于用户使用微信小程序后,微信后台会产生一个openid,利用这个唯一的openid可以在将用户信息录入数据库时对用户进行区分2.获取用户openid的流程参考微信官方文档:小程序登录 | 微信开放文档 (qq.com)我们只需要在小程序端中调用wx.login()获取code码,将这个code码发送到后端,后端带着这个code码和appid、appsecret向微信接口发起http请求即可获得openid注意
2022-04-05 17:00:52
2193
原创 Go语言小程序开发快速入门——一、用Gin框架实现简单的信息获取
Go语言小程序开发——一、用Gin框架实现简单的信息获取下面主要介绍如何用Go语言的Gin框架把信息通过接口传到小程序前端1.准备(1)注册一个微信小程序(2)下载微信开发者工具(3)下载Go语言编辑器,配置Go语言环境2.新建一个小程序项目在微信开发者工具中新建一个项目,选择不使用云服务开发进入项目,在详情中勾选这个选项3.编写程序(1)前端(在微信开发者工具中编辑)找到index文件夹在index.js写入://index.js//获取应用实例const app = g
2022-04-05 08:01:09
3751
原创 算法分析与设计-最接近中位数的k个数(通俗易懂,含图解,附源码)(c++)
(一)题目问题描述给定nnn个互不相同的数组成的集合SSS以及正整数k≤nk\leq nk≤n,试设计一个O(n)\Omicron(n)O(n)时间算法找出SSS中最接近SSS的中位数的kkk个数。注意:此处“最接近”指数值大小接近,而不是排序位置接近。(二)解答算法思路若已知能在线性时间内找到数组中第kkk小的元素的算法,求解步骤如下:1.通过该算法求数组的中位数;2.计算数组中每个元素与中位数之差的绝对值并存放在绝对值数组;3.通过该算法求绝对值数组中第kkk小的数;4.将原数组中与
2022-04-04 09:59:59
1885
1
原创 算法分析与设计-线性时间选择详解(通俗易懂,含图解,附源码)(c++)
线性时间选择(一)题目问题描述给定线性序集中nnn个元素和一个正数kkk,1≤k≤n1\leq k\leq n1≤k≤n,要求找出这nnn个元素中第kkk小的元素注意:nnn中的元素不重复(二)解答1.RandomizedSelect算法算法思路在数组a[p:r]a[p:r]a[p:r]中随机找一个数iii将数组划分成两个子数组a[p:i]a[p:i]a[p:i]和a[i+1:r]a[i+1:r]a[i+1:r],如果数组a[p:r]a[p:r]a[p:r]的长度小于等于kkk,说明第kkk
2022-04-04 09:38:01
18184
8
原创 算法设计与分析-众数问题(分治递归,含排序与不排序两种解法)(通俗易懂,附源码和图解,含时间复杂度分析)(c++)
2-1众数问题(一)题目问题描述给定含有nnn个元素的多重集合SSS,每个元素在SSS中出现的次数称为该元素的重数。多重集SSS中重数最大的元素称为众数。例如:S=1,2,2,3,5S={1,2,2,3,5}S=1,2,2,3,5。多重集SSS的众数是2,其重数为3。算法设计对于给定的由nnn个自然数组成的多重集SSS,计算SSS的众数及其重数。数据输入输入数据由文件名为input.txt的文本文件提供。文件的第一行为多重集 中元素
2022-03-23 19:59:21
16238
8
原创 操作系统实验——简单理解fork()与execve()的使用与区别(附源码)
fork()与execve()的使用与区别1.fork()与execve()的区别fork()execve()功能用于创建新进程用于加载执行程序新进程的特性子进程是父进程的复制新进程是原进程的覆盖新进程的PID子进程与父进程的PID不同新进程与原进程的PID相同新进程的地址空间子进程拥有独立的地址空间新进程在原进程的地址空间上执行代码执行子进程与父进程并发执行相同的代码新进程执行后,原进程的代码不再执行返回值fork()调用1次,
2022-03-22 19:32:52
2543
原创 汇编语言程序设计-笔记-第1章-汇编语言基础知识(基本概念+数据表示形式+8086微处理器介绍)
第1章 汇编语言基础知识(一)汇编语言设计概述1.(机器)指令与程序指令=操作码(做什么)+操作数(针对谁操作)程序=指令序列2.程序设计语言(1)机器语言(二进制)(2)汇编语言(从内存单元的地址访问)(经过寄存器、CPU)(汇编指令与机器指令一对一)(3)高级语言(不经过寄存器、CPU)面向过程面向用计算机求解问题的过程,不依赖具体机器,如BASIC,PASCAL,C,FORTRAN,COBOL等面向对象面向求解问题本身,如C++,Smalltalk,面向对
2022-03-20 17:19:12
2939
原创 算法分析与设计-格雷码问题(分治递归)(通俗易懂,附源码和图解,含时间复杂度分析)(c++)
2-14格雷码问题(一)题目问题描述Gray码是一个长度为2n2^n2n的序列。序列中无相同元素,每个元素都是长度为 n的(0,1)串,相邻元素只有一位不同。用分治策略设计一个算法对任意的 n构造相应的Gary码。(二)解答方法:分治递归算法思路运用分治递归求解nnn位的Gray码的思路为:将求解 nnn位Gray码的问题划分成求解 n−1n-1n−1位Gray码的问题,再将求解 n−1n-1n−1位Gray码的问题划分成求解 n−2n-2n−2位Gray码的问题…直到划分成求解1位Gray
2022-03-18 23:52:33
7870
原创 计算机组成原理笔记(持续更新)
笔记编辑于幕布,点击链接打开后可以看到每个章节的笔记归纳,可以在页面切换 大纲模式/思维导图 模式 方便阅读第一章 计算机系统概论
2022-03-17 15:23:02
158
原创 算法分析与设计-算法分析题-第1章-题目答案与解析
第1章 算法概述 算法分析题 题目+答案解析算法分析题笔记参考:https://blog.youkuaiyun.com/qq_50737715/article/details/1234418821-1 求下列函数的渐近表达式(1)3n2+10n3n^2+10n3n2+10n∵O(n)<O(n2)\because \Omicron(n)<\Omicron(n^2)∵O(n)<O(n2)∵3n2+10n=O(n2)\because 3n^2+10n=\Omicron(n^2)∵3n2+10n=
2022-03-12 17:43:25
5357
原创 算法设计与分析-笔记-第1章-算法概述(理清5种渐近分析的记号,学会算法复杂性分析,区分P、NP、NPC、NP-Hard问题)
第1章 算法概述(一)算法与程序1.算法算法是解决问题的一种方法或过程算法是由若干条指令组成的有穷序列算法满足: ①输入:有零个或多个输入 ②输出:至少有一个输出 ③确定性:每条指令是清晰无歧义的 ④有限性:每条指令执行次数和执行时间是有限的2.程序程序是算法用某种程序设计语言的具体实现算法必须满足①~④,而程序不一定满足④操作系统是在无限循环中执行的程序而不是算法,操作系统的各种任务由特定的子程序实现,子程序既是程序也是算法数据结构+算法=程序(二)算法复杂性分析1
2022-03-12 12:48:30
1154
原创 算法设计与分析-统计数字问题(暴力、分治递归)(通俗易懂,附源码和图解,含时间复杂度分析)(c++)
1-1统计数字问题(一)题目问题描述一本书的页码从自然数 1 开始顺序编码到自然数nnn。书的页码按照通 常的习惯编排,每个页码都不含多余的前导 0。例如,第 6 页用数字 6 表示而不 是 06 或 006 等。数字计数问题要求对给定书的总页码nnn,计算书的全部页码分别 用到多少次数字 0,1,2,……,9。算法设计给定表示书的总页码的十进制整数n(1≤n≤109)n(1\leq n\leq10^{9})n(1≤n≤109),计算书的全部页 码中分别用到多少次数字 0,1,2,……,9。 数
2022-03-08 17:43:28
7804
3
原创 Gin+Gorm+Kite进行微服务设计下的后端开发——预备知识
前言:接下来的一段时间将进行一项关于用Gin、Gorm、Kite进行后端开发的工作,打算在这里记录下学习的进度。今天,先跟大家分享一些开发前的预备知识,做好实战前的知识储备!文章目录1.web开发本质2.前后端分离3.微服务架构4.Gin框架5.Gorm框架6.Kite框架1.web开发本质浏览器发送一个请求给网站的服务器,服务器根据请求的内容向浏览器发送一个对应的响应2.前后端分离将一个单体应用拆分成两个独立的应用:前端应用和后端应用,以JSON格式进行数据交互3.微服务架构将应
2022-02-26 00:21:30
1190
原创 数据结构学习笔记(c语言版)
文章目录一、概念1.基本术语2.算法3.时间复杂度4.数据的逻辑结构二、线性表1.存储结构2.基本操作三、栈1.存储结构2.基本操作3.实际应用四、队列1.存储结构2.基本操作五、串1.存储结构2.基本操作六、矩阵1.存储结构七、广义表1.存储结构八、树1.存储结构九、二叉树1.存储结构2.基本操作3.实际应用十、图1.存储结构2.基本操作十一、查找1.实际应用十二、内部排序一、概念1.基本术语术语解释数据对客观事物的符号表示数据元素数据的基本单位,由若干个数据项组成
2022-01-15 21:12:20
4832
2
原创 python学习笔记
文章目录一、Python概述1.编程规范2.拓展库的导入和使用3.程序的\_\_name\__属性4.基本输入输出二、内置对象、运算符、表达式、关键字1.常用的内置对象2.常量和变量3.数字4.运算符和表达式5.类型转换和判断6.最值与求和7.排序与逆序8.枚举与迭代9.map()、reduce()、filter()10.range()11.zip()12.关键字三、Python序列结构1.列表与列表推导式2.元组和生成器推导式3.字典4.集合5.序列解包四、选择结构与循环结构1.条件表达式2.选择结构3.
2022-01-15 20:21:31
2390
原创 Verilog硬件描述语言知识点汇总+数字逻辑实验题目汇总及解答
Verilog硬件描述语言文章目录Verilog硬件描述语言1.Verilog的模块结构2.Verilog的模块实例化3.Verilog的词法约定(1)注释(2)数字(3)字符串(4)标识符(5)空白符(6)关键字4.Verilog的数据类型(1)线网型(wire)(2)寄存器型(reg)(3)参数型(parameter)5.Verilog的运算符(1)算术运算符(2)逻辑运算符(3)按位运算符(4)关系运算符(5)等式运算符(6)缩减运算符(7)移位运算符(8)拼接运算符(9)条件运算符运算符的优先级:
2021-11-26 18:40:18
6992
1
原创 数模笔记——三、插值算法
三、插值算法文章目录三、插值算法(一)适用问题(二)运用Matlab中的内置函数实现插值1.Matlab中绘图函数的用法2.Matlab中求插值的两个内置函数3.两种插值方法的比较(三)插值算法的运用1. 预测2.补齐数据(一)适用问题要根据已知的函数点进行数据、模型的处理和分析时,数据过少不足以支撑分析的进行,需要用一些数学的方法,模拟产生一些新的但又比较靠谱的值来满足需求。注意:高次插值会产生龙格现象,即在两端处波动极大,产生明显的震荡。在不熟悉运动趋势的前提下,不要轻易使用高次插值。为提高插
2021-11-16 23:50:51
1597
原创 C语言学习笔记
C语言复习最近在学数据结构,先把c语复习一下吧文章目录C语言复习(一)数据1.常量和变量2.数据类型(二)运算符(三)语句1.赋值语句2.输入输出语句(1)输入输出函数scanf()和printf()(2)字符输入输出函数getchar()和putchar()3.if语句4.switch语句5.while语句6.do···while语句7.for语句8.break语句和continue语句(1)break语句提前终止整个循环(2)continue语句提前结束本次循环(四)数组1.一维数组2.二维数组3.
2021-09-23 14:55:57
354
原创 数模笔记——二、优劣解距离法(TOPSIS)
二、优劣解距离法(TOPSIS)文章目录二、优劣解距离法(TOPSIS)(一)适用问题(二)模型建立1.将原始矩阵正向化(1)常见的四种指标(2)指标转化的公式2.正向化矩阵标准化3.计算得分并归一化(三)代码模板(四)例题分析(一)适用问题一种常用的综合评价方法,能充分利用原始数据的信息,精确地反映各评价方案之间的差距若评价的准则层太多,或准则层中的指标(相对权重已知),则不能用层次分析法评价,要用优劣解距离法(二)模型建立1.将原始矩阵正向化将原始矩阵正向化就是将所有指标类型统一转化为极大
2021-08-27 16:38:09
584
原创 数模笔记——一、层次分析法(AHP)
一、层次分析法(AHP)(一)适用问题层次分析法适用于评价类问题。评价类问题要求确定评价指标、形成评价体系来选择最佳的方案。一般来说,题目中会给出评价的目标,可选的方案,但需要我们给出评价的准则,而这些准则则需要结合题目中的背景资料,常识及网上搜集的参考资料来确定。(二)模型建立1.画出层次结构图分析系统中各因素之间的关系,建立系统的递阶层次结构简而言之,评价某个对象的最终指标由各项指标决定,而这各项指标的总得分决定着各个方案的优劣。2.构造判断矩阵目标层与准则层的各个指标可以构成一个
2021-08-20 20:10:39
620
原创 Typora使用&Markdown基础语法
Typora使用&Markdown基础语法一、标题语法:# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题效果:一级标题二级标题三级标题四级标题五级标题六级标题常用快捷键ctrl+1~6分别对应一~六级标题二、字体语法:**加粗***倾斜****倾斜加粗***~~删除线~~==高亮==X^上标^X~下标~(*与-效果相同)效果:加粗倾斜倾斜加粗删除线高亮X上标X下标常用快
2021-08-16 18:22:58
1475
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人