基于Hexo搭建的静态网页博客,记录写过的文档,大部分是一些课程作业/实验/报告。
使用的主题 hexo-theme-serendipity 和 hexo-theme-notebook 是博主学习 JavaScript 和 CSS 时作为练手写的,目前代码比较混乱,待有时间整理后开源
基于Hexo搭建的静态网页博客,记录写过的文档,大部分是一些课程作业/实验/报告。
使用的主题 hexo-theme-serendipity 和 hexo-theme-notebook 是博主学习 JavaScript 和 CSS 时作为练手写的,目前代码比较混乱,待有时间整理后开源
求平面上n个顶点的最近点对问题
分治法
用x轴上某个点m将S划分为2个子集S1和S2,使得S1={x∈S|x≤m};S2={x∈S|x>m},S1∪S2=S ,S1∩S2=Φ,则线段上最近点对为以下三者中的距离最小者:
(1)左半边S1的最近点对
(2)右半边S2的最近点对
(3)跨越分点m的最近点对
左半边S1的最近点对和右半边S2的最近点对的求解可以递归地调用该过程。而跨越分点m的最近点对,我们可以将S1中的一点与S2中的每一点计算距离,但这将花费O(n^2)。
之前一位大一的学弟问我微积分作业,我发现当时觉得还算简单的题,现在竟然已经不会做了。
而且每当考试前我都会发现,平时努力记下的知识,大部分已经生疏了。
我一直在想,如果所有的知识都将被遗忘,那么学习的意义在哪呢?
学习多年,我相信大部分人和我一样,在认知上认为记忆只是学习的一步,但行动上记忆几乎成为学习的全部,无论是记笔记或是所谓的错题本,都是强行以记忆代替学习。
这些方法固然有效,在信息量小的时候增加强化次数以永久记忆,但在信息爆炸的现在,如何?
在用Verilog编写流水线CPU时,ALU需要实现add、addu、sub、subu、slt、sltu功能,分别是加、减、小于则置位的有符号和无符号版本,不过之前使用Verilog编写代码的时候从来没有考虑过符号问题,基本都是按无符号处理,除了在立即数符号拓展部分涉及到了符号
`assign SignExtented = {{16{IMM16[15]}},IMM16};`
这里相当于是手动按符号拓展。
那么,现在要实现的addu和add的区别在哪呢?还有溢出如何判断?
模块化设计,主要有以下几个模块
a) alu模块——算术逻辑单元
b) regfile模块——寄存器文件
c) mux模块和mux4模块——2路和4路选择器
d) IP核生成的Mem模块——存放数据段和代码段
e) nextpclogic模块——计算下一个PC
模块化设计,主要有以下几个模块
a) alu模块——算术逻辑单元
b) regfile模块——寄存器文件
c) mux模块——选择器
d) IP核生成的IMem模块和DMem模块——存放数据段和代码段
综合利用三次实验的结果,完成以下功能:
通过例化,向ram中0地址到13地址存入14个数,比如10-23;向ram中100地址到106地址存入7个数,比如0~6,分别代表运算符(与ALU的操作符对应),最后向ram 107地址写入-1