「 第一次去卢浮宫 并无什么特别的感觉
因为独属于我的蒙娜丽莎 我早已遇见 」
超大规模集成电路设计笔记:第五篇
这一章不考,至少往年题没有考过。 SoC总线 总线提供了系统中各个设备之间一种互连的访问共享硬件机制 在数字系统中,总线承担数据传输任务,如处理器和存储器之间的数据传输 总线的传输能力由总线的带宽和工作频率决定 总线的设计通常要考虑4个因素:总线宽度、时钟频率、仲裁机制和传输类型 常见的总线有: AMBA:ARM公司定义的总线体系,广泛用于嵌入式SoC,包括 AHB、APB、AXI 等多个子协议 OCP:开放式核心接口协议,模块化设计,适合IP核集成 Wishbone:由OpenCores定义的开源SoC总线,简单易用,适合教学或FPGA设计 Avalon:原Altera公司定义的片上总线协议 AMBA 常见IP SoC中的常见IP包括:中断控制器、实时时钟、SPI、定时器、看门狗等。 一个完整的 SoC 通常包含如下模块(IP): 123456789101112131415┌──────────────────────────┐│ CPU / DSP │ ← 控制/计算IP├──────────────────────────┤...
LaTeX代码开启连字等特性
前言 在 LaTeX插入代码并设置高亮中,使用minted和listings 为代码块添加了高亮。但许多等宽字体都包含连字(Ligature)特性,可以增强代码的可读性,视觉效果更好。那如何在代码块里也开启连字特性呢? 这里安利Maple Mono字体,对中文显示极其友好,完美的中英文2:1比例,还支持Nerd Font。我已经将所有等宽字体都换成Maple Mono Normal NF CN了。 修改样式 首先要确保使用了fontspec宏包:\RequirePackage{fontspec} 接着指定等宽字体,并添加: 12345678910\setmonofont[ AutoFakeBold=true, ItalicFont=MapleItalic, % 指定斜体字体 Contextuals = Alternate, % 开启连字 Ligatures = Common, % liga CharacterVariant={1,62,63}, % cv特性 Stylist...
超大规模集成电路设计笔记:第四篇
Cache 可参考 计算机原理与嵌入式系统笔记:第六篇 直写与回写 Write-Through(直写) 和 Write-Back (回写)是两种 Cache 写策略,用来决定当 CPU 写数据时,数据如何更新到主存的。 当 CPU 对 cache 写数据时,同时也把数据写入主存,称为直写: 数据一致性好(cache 和 主存内容始终同步) 对系统可靠性高 简单易实现 写操作慢,写操作频繁时会增加总线带宽占用 当 CPU 写 cache 时,只更新 cache 中的数据,不立即写入主存,只有当该 cache block 被替换时,才将其写回主存,称为回写: 写操作快,节省总线带宽 数据一致性较差 实现复杂,需要 dirty 位标记 系统崩溃时可能丢失尚未写回的数据 写缓冲区可以解决直写写内存慢、回写替换时大量写回的问题,因此均需要写缓冲区。 性能例子 假设: I-Cache命中缺失率2% D-Cahce命中缺失率4% 未命中惩罚为100周期 基础CPI为2 数据存取类指令占总共的36% 则可计算每次指令的缺失周期数: I-Cache: 0.02 x 100 =...
更适合Powershell体质的grep
前言 Powershell下筛选字符串有findstr指令。但我用grep习惯了,一时半会不想改主要是findstr字太多了 所以自己写一个脚本来模拟grep功能。 代码 1234567891011121314151617181920@echo offsetlocal enabledelayedexpansion:: 检查参数if "%~1"=="" ( echo 用法: grep 搜索词 echo 示例: command | grep 搜索词 exit /b 1):: 搜索词是第一个参数set "searchterm=%~1":: 处理标准输入并搜索for /f "usebackq tokens=*" %%a in (`findstr /i /L /C:"%searchterm%" 2^>nul`) do ( echo %%a)endlocalexit /b 0
HDLBits刷题之旅鼠冲冲冲
前言 百战小旅鼠1991年由DMA Design(今rockstar north,蓝R)开发。 旅鼠会左右走,还会挖洞。如果下落太久了还会摔得四分五裂坠机了 思路 七个状态:左右、下落左右、向下挖时原本朝向左右,以及四分五裂。 代码 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124module top_module ( input clk, input areset, // Freshly brainwashed Lemmings walk left. input bump_...
HDLBits刷题之生命游戏
纪念约翰·霍顿·康威,他因新冠于2020年4月11日逝世,享年82岁。 前言 Conwaylife - HDLBits 康威的生命游戏在科学美国人上刊登过,小时候还看到过,印象很深。 简单来说,就是对一个矩阵进行轮次变换,对每个元素的变换规则如下: 0-1 个邻居:单元格变为 0 2 个邻居:单元格状态不变 3 个邻居:单元格变为 1 4 个及以上邻居:单元格变为 0 要注意的是矩阵四周是“连续”的,即首尾相接。可以理解成桌面壁纸的平铺。 思路 连续的意思就是说边界处会发生“跳变”。那我整一个四周大一圈的矩阵把它包进去就可以了。 然后在每个时钟沿进行判断,再赋新的值给寄存器即可。 代码 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960module top_module ( input clk, input load, input ...
雨落长安
九月的西安,不是在下雨,就是即将要下雨。 骗你的,其实十月也一样。 仍记得四年前刚来到西安——这是身为南方人的我,第一次来到真正意义上的北方。尽管从纬度上来看,老家连云港和西安差不多,但一个沿海一个内陆,气候差异还是蛮大的。八月来到学校的时候正是万里无云的好天气——灼热的阳光直晒几乎要将人烤焦。如果说南京是南方特有的“蒸笼热”,那西安便是北方的“直射热”。毕竟,树荫底下,仍存留一丝清凉。若有微风拂面,更是惬意。不走在太阳下,便还是很凉快的。 八月都这么热,九月想必也是一样的吧?可惜,想错了。 刚步入九月,开学后便是连绵不断的雨、雨、雨。雨并不大,但很让人恼火——哪怕是小雨,你也没有办法骑车在外,更不用说稍微密集一点的毛毛雨了,它会迅速打湿衣服外层。与雨一同而来的,是冷空气群。气温一度降低到十几度,出门甚至都要穿上羽绒服。极大的温差也容易让人感冒。有趣的是,这雨似乎真和集体活动有关——不论是开学典礼,还是校内举办的露天演唱会,亦或者运动会,前几天还一直是阴天,只要到了活动当天,必定会开始下雨。是活动没选好时间,还是天公作美呢? 记得大一的国庆就没出去玩,因为雨连绵不断。大二的国庆...
超大规模集成电路设计笔记:第三篇
RISC-V简介 也可以看一下 数字系统设计复习笔记:第十二篇 寄存器 RV32/64I指令集定义了32个32/64位的通用整数寄存器x0~x31,其中x0固定用于存放数据0;寄存器位数决定了其可以访问的地址空间大小。 寄存器 别名 常见用途 x1 ra 返回地址 (Return Address):jal 指令自动将返回地址存入此处。 x2 sp 栈指针 (Stack Pointer):指向当前栈顶。 x3 gp 全局指针 (Global Pointer):指向 2048 字节的小数据区(.sdata),用于高效访问小全局变量。 x4 tp 线程指针 (Thread Pointer):用于线程本地存储(TLS)。 x5 t0 临时寄存器 (Temporary):调用者保存(caller-saved)。 x6–x7 t1, t2 额外的临时寄存器。 x8 s0 / fp 保存寄存器 / 帧指针:被调用者保存(callee-saved)。也可用作帧指针。 x9 s1 保存寄存器。 x10–x17 a0–a7 函数参数和返回值:传递前 8 ...
隐秘参数APP使用ADB打印更多信息
最近在用“隐秘参数”这款APP查看手机信息。软件内有提示说无法获取的信息要用ADB命令,奈何软件太久没更新,帮助链接已经失效了。 上网查询了一下,要在CMD里运行下面命令(Powershell执行时会报错,不知道为啥): 1FOR /F "tokens=2 delims=:" %p IN ('adb shell pm path com.x1y9.probe') do adb shell CLASSPATH=%p app_process / com.x1y9.app.MainActivity 额外的参数就会被打印到终端了。






![[星港游记] 残月、火星与木星](https://webpn.esing.dev/img/starport.webp)