- 博客(19)
- 收藏
- 关注
原创 利用Spectre(幽灵)实现Meltdown攻击
Meltdown攻击通过利用Intel微处理器结构的设计缺陷,通过乱序执行时的计算痕迹建立信道,从而实现越界访问,进而攻击内核空间的地址。然而朴素的Meltdown攻击由于会频繁触发缺页错误,导致攻击程序提前退出,无法持续的对靶地址进行持续的访问。在这篇笔记中,主要介绍第三种处理异常退出攻击的方式:Spectre(幽灵)攻击。具体的说,通过处理器分支预测算法的设计缺陷,在错误的分支预测被系统发现之前的间隙,完成meltdown攻击。
2022-10-21 07:14:31
723
原创 【量子计算】如何实现一个量子比特
非固态量子比特的实现光子实现利用偏振,可以实现叠加,测量,传播。两个偏振方向,一个是0,另一个是1.电子实现基态是0,激发态是1. 利用能级存储和传递信息。固态量子比特的实现超导传输线(IBM,Google,…)约瑟夫森结(Josephson Junction)和电容组成的非线性LC谐振电路。类似电子,利用能级存储和传递信息。参考资料European Microwave 2020 Conference演讲...
2021-12-17 22:03:08
468
原创 【已解决】缺少build/index.js:coc nvim的安装问题
neovim的自动补全插件coc.nvim在正常使用之前,需要进行如下操作:安装nodesudo apt install node npm安装yarn这里要注意yarn在apt默认里没有维护,想要正常使用coc.nvim需要添加第三方:curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -echo "deb https://dl.yarnpkg.com/debian/ stable main" | s
2021-12-15 02:40:35
3526
1
原创 【最大流算法】从O(a(m+n))到O(mn):前沿的传统算法在研究什么
对于算法的研究,我认为主要包含以下几个方面:(1)对于算法正确性/最优性的证明,(2)对于算法复杂度的增长趋势计算,(3)对于算法能够解决的应用建模。算法应用和问题简介网络最大流是一大类应用问题的高层抽象。它可以解决(或部分解决)的应用有:二分图最大权匹配网络连接强度工作量计划分配问题图片裁剪(比如:提取人脸)假设本文的读者已经对最大流问题定义有了简单的了解:最大流问题 – OI wiki最大流综述文章 – 2014ACM算法理论Ford-Fulkerson(FF)算法思路:.
2021-12-14 00:50:34
505
原创 【c++标准库黑魔法】如何有效使用类型推导
类型推导背景知识c++11变量的自动类型推导c++17模板的自动类型推导例子1 python print()这些编译器功能减轻了写代码的负担,比如我们可以利用模板类型推导,实现python中的print函数,#include <iostream>auto print() {}template<class T, class... Ts>auto print(T x, Ts... args) { std::cout << x << ","; p
2021-12-07 02:55:49
633
原创 【c++标准库黑魔法】利用编译器打表--编译时间换运行时间
注:Fibonacci数列最快的方法是直接表达式求解,本文只利用它记录如何使用constexpr和模板推导利用编译器打表class Solution {private: template<int n> struct fib_t { static const int val = fib_t<n-1>::val + fib_t<n-2>::val; }; template<> struct fib_t&l
2021-12-04 08:21:34
617
原创 【已解决】Matlab和SpectreRF联合仿真(cds_srr)的证书问题
问题描述:在运行Matlab脚本读取Virtuoso仿真schematic结果时,报错如下:Error: License for the SpectreRF option could not be obtained.One or more output arguments not assigned during call to "cds_innersrr".相关问题:提问1: Cadence论坛提问2: EEtop论坛解决思路:运行Matlab的cds_系列功能时,需要证书。即:环境变量
2021-12-03 00:19:49
1358
原创 DRAM分层的完整整理和解释
DRAM存储DRAM层级的解释DRAM从上到下由以下部分组成:channel: CPU可以直接看到的memory controlDIMM: 物理上插槽上的内存条(DIMM相比SIMM内存条两侧管脚独立)rank: 是一组公用MUX的芯片组chip: 在同一个die上,封装在同一个芯片内bank: 最小的的缓存控制位置subarray: bank里公用感应放大器的一行MAT: subarray里的一列row: 一行bitlinecolumn: 一列cell: 最小存储电荷的结构,一个
2021-11-16 07:45:15
1462
原创 折腾CPU系列:scala+chisel+mill基础知识
简介这篇文章中,将跑通程序来学习基础知识准备工作在工作目录下新建以下目录(文件):CPU/src/main/scala/ simTop.scala main.scalabuild.scsimTop为顶层模块,main为程序入口。build.sc为mill的配置。mill配置教程注意事项mill <Object>里的Object名字需要与当前目录下<Object>/src/main/scala统一。常见问题问题描述原因解决方法valu
2021-08-28 21:36:05
2768
原创 折腾CPU系列:chisel+mill+difftest环境配置
NEMU安装bison和flexsudo apt-get install bison flex libreadline-dev安装nemugit clone https://github.com/OpenXiangShan/NEMU.gitcd NEMUexport NEMU_HOME=$pwdmake riscv64-xs-ref_defconfig # load default configurationmakechisel安装millcurl https://github.c
2021-08-25 14:31:03
3298
7
原创 SpaceVim的C/C++编译器打造:基于clangd lsp的语法高亮和自动补全
space vim官网上给出了各个语言的简略教程,但是过于粗略。这里给出逐步的操作。首先,将c/cpp文件的lsp协议为clangd[[layers]] name = "lsp" filetypes = ["c", "cpp"] [layers.override_cmd] c = ["clangd", "--limit-results=5"] cpp = ["clangd", "--limit-results=5"]其次,添加c/c++语言插件[[layers]] name =
2021-08-24 17:11:26
3033
原创 SpaceVim主题设置
在spacevim中提前设定好了很多主题,但是插件在默认情况下并不会直接安装,要更换其他主题,首先需要添加(SpaceVim的配置文件在~/.SpaceVim.d/init.toml):[[layers]] name = "colorscheme"然后,重新进入SpaceVim时会自动安装所有plugin。只需要在配置里修改即可,比如:[options] colorscheme = "one" colorscheme_bg = "dark"定期更换主题有助于避免审美疲劳...
2021-08-24 16:58:49
1387
原创 SpaceVim在windows系统字体错误:wsl字体修改
win+r输入regedit找到HKEY_CURRENT_USER找到Console找到C:_Program Files_WindowsApps_CanonicalGroupLimited.UbuntuonWindows(找到自己wsl版本)右键新建:DWORD类型,名字CodePage右键修改:16进制 01b5重启wsl进入vim
2021-08-24 11:02:09
378
原创 git使用规范
branch规范master developreleasefixbugfeaturecommit规范feature:新功能fix:修补docs:文档/注释refactor:重构/美化test:增加测试
2021-08-24 10:58:59
150
原创 SpaceVim笔记:vim基本操作
Installbackgroundnormal mode:insert mode:tutorialmode changei: change to insert modeo: go down a line and change to insert modec: delete and go to insert modea: go forward and go to insert modeA: go to the end of the line and change to insert mod
2021-08-23 19:40:04
248
原创 SpaceVim自动补全coc:最强自动补全插件
node安装 (nvm为node版本管理)curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.38.0/install.sh | zshnvm install --ltsnvim安装:wget https://github.com/neovim/neovim/releases/download/v0.5.0/nvim.appimage sudo mv nvim.appimage /usr/local/bin/nvimsud
2021-08-22 00:08:26
2383
原创 ubuntu20.04 docky安装
mkdir -p ~/Downloads/dockycd ~/Downloads/dockywget http://archive.ubuntu.com/ubuntu/pool/universe/g/gnome-sharp2/libgconf2.0-cil_2.24.2-4_all.debwget http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/multiarch-support_2.27-3ubuntu1_amd64.debwget http
2021-08-21 12:29:12
1233
原创 vscode美化
参考资料:A Guide to Beautifying Visual Studio Code --MediumLigatures:{ "editor.fontFamily": "Fira Code", "editor.fontLigatures": true}Path IntellisenseBracket Pair Colorizer
2021-08-15 11:01:20
164
原创 折腾CPU系列:简介
chisel仿真测试:Verilator: 需要写C/C++看波形ChiselTester ChiselUtestTester playground可以用chisel3.iotesterReference:Initialization of Mill+Scala Project
2021-08-08 23:36:06
364
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人