自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 资源 (12)
  • 收藏
  • 关注

原创 预备打工人之SystemC学习 (五) 事务级建模库

预备打工人之SystemC学习TLM2.0基本概念TLM2.0基本概念在前面说了很多特有的行为建模语法。在十几种,这些语法能够帮助你高效地建模实际系统,但不要受限于新语法。片上系统建模时SystemC的核心功能之一。...

2021-04-15 14:53:21 3255

原创 计算机体系结构知识记录

冯·诺依曼体系结构将指令和数据同时存放在存储器中,是冯·诺伊曼计算机方案的特点之一。计算机由控制器、运算器、存储器、输入设备、输出设备五部分组成。哈弗结构哈佛体系结构使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存。其实现代处理器L1Cache就是类似的。据说ARM的M系列等都是哈弗结构,还有51单片机。指令集复杂指令集与精简指令集。CISC和RISC。CISC(复杂指令集),X86为代表,更加专注于高性能但同时高功耗的实现RISC,ARM为代表,专注于小尺

2021-03-25 18:06:25 582

原创 备打工人之SystemC学习(四) 行为建模2

预备打工人之SystemC学习动态创建进程sc_spawn动态创建进程SC_METHOD、SC_THREAD、SC_CTHREAD都是讲台进程,从SystemC2.1开始引入了动态进程。动态进程 创建允许在同一个函数方法中自动创建和分配多个进程,用于临时断言检查、处理零时性的并发事件等。相关的语法包括:sc_spawnsc_spawn_optionsSC_FORKSC_JOINsc_process_handle::wait()sc_bindsc_refsc_cref注意:使用任何上述语

2021-03-17 12:04:17 1995 2

原创 预备打工人之SystemC学习(四) 行为建模语法

预备打工人之SystemC学习TLMTLM相关语法接口存储器接口实例接口基类sc_interface端口自定义端口一个端口实例TLMTLM是指事务处理级建模。TLM建模从整体考虑现代电子系统,从一开始就迅速完成的高层次系统行为的表述,确定最佳的系统架构。什么叫“事务”?事务是设计中给定两个时间点内发生的呗认为不可分割的活动。TLM相关语法SystemC定义了接口、端口和通道。接口是一个C++抽象类。通道实现一个或者多个接口端口。模块通过端口来使用通道。端口总是与一定的接口类型相关联,只能连

2021-03-04 16:46:52 4693 2

原创 预备打工人之SystemC学习(三) 基本语法

预备打工人之SystemC学习例子SystemC头文件模块模块的构造和析构函数构造函数析构函数模块的内部函数端口和信号端口和信号的定义端口端口的使用延时多驱动处理器SystemC时钟和时间模型时钟时间基本数据类型sc_bit和sc_logic数据类型固定精度整型数据类型任意长度比特和逻辑向量用户自定义类型定点数据类型进程wait()和next_trigger()wait()next_trigger()dont_initialize()和sensitive仿真与波形顶层函数sc_main()仿真控制Syste

2021-01-26 13:58:42 5726 7

原创 预备打工人之SystemC学习(二)——一个全加器的例子

预备打工人之SystemC学习半加器全加器测试模块driver模块monitor负责监控顶层模块这是一个全加器的例子。这个全加器是由两个半加器构成,这样可以学习一下层次的连接与描述。半加器一位的半加器就是输入a,b,输出进位符号c和结果sum。由于和c++一样的描述,所以将module定义写在.h文件中,将具体函数写在.c中。1、首先是.h中#include "systemc.h"SC_MODULE(half_add){ sc_in<bool> a,b; sc_out<b

2020-11-10 15:31:12 2882 6

原创 预备打工人之SystemC学习(一)——安装环境并测试

预备打工人之SystemC学习SystemC环境安装测试程序hello world在学习SystemC入门这一本书SystemC环境安装我是使用linux环境1、在网站上 下载systemc最新版https://accellera.org/downloads/standards/systemc目前是2.3.32、上传到到linux服务器3、解压tar -zxvf systemc-2.3.3cd systemc-2.3.34、创建临时文件夹mkdir tmpcd tmp5、安装

2020-11-08 10:12:43 2446

原创 我的C++并发编程实战之旅(二)

我的C++并发编程实战之旅(二)线程间共享数据共享数据带来的问题避免恶性调节竞争使用互斥量保护共享数据互斥量范围大小与接口设计死锁使用层次避免死锁线程间共享数据共享数据带来的问题共享数据如果是只读的,那么不会带来影响。如果多个线程要修改共享数据,那就很麻烦。双链表删除节点后,需要更新两边。避免恶性调节竞争并发中竞争条件的形成,取决于一个以上线程的相对执行顺序,每个线程都抢着完成自己的任务。而恶性条件竞争通常发生于完成对多于一个的数据块的修改时。避免恶性条件竞争有三个主要方法。1、对数据块进行

2020-11-08 09:31:34 235 1

原创 我的C++并发编程实战学习之旅(一)

C++并发编程实战第一章 你好,C++的并发世界并发多进程与多线程hello work线程管理线程管理基础启动线程线程结束特殊情况下的等待后台运行向线程函数传递参数简单的传递使用类的成员函数作为线程函数转移线程所有权获取系统能并行的线程数量识别线程第一章 你好,C++的并发世界并发最简单和最基本的并发,是指两个或者更多独立的活动同时发生。计算机领域的并发指的是在单个系统里同时执行多个独立的任务,而非顺序的进行一些活动。以前的计算机只有一个处理器,他的并发其实是任务切换,只是因为切换的太快,我们无法感

2020-08-01 14:53:08 496 2

原创 Verilog奇数分频(50%占空比)的三种方式 与 或 异或

为了找工作,整理一下。时间是6.8号16:43verilog奇数分频50%占空比是经常要考的。偶数分频通过计数器,奇数分频,特别是50%的占空比需要两个信号进行组合逻辑。因为要说三种方式,所以规定一下,输入是clk,rst,输出是out。方法一:两个counter,两个信号或运算大概就是第一个信号采样上升沿,第二个信号采样下降沿。都在等于n-1和(n-1)/2时翻转,这时候是得到的是占空比1/3的两个信号。将两个信号或得到最后时钟module fenp(clk,rst,out);paramet

2020-06-08 16:43:45 5429 2

转载 IC设计常用文件及格式介绍

GDSII:GDSII流格式,常见的缩写GDSII,是一个数据库文件格式。它用于集成电路版图的数据转换,并成为事实上的工业标准。GDSII是一个二进制文件,其中含有集成电路版图中的平面的几何形状,文本或标签,以及其他有关信息并可以由层次结构组成。GDSII数据可用于重建所有或部分的版图信息。它可以用作制作光刻掩膜版。CIF:(caltech intermediate format),叫caltech中介格式,是另一种基本文本的掩模描述语言。LEF: (library exchange forma

2020-06-04 21:56:00 2584

转载 低功耗设计

低功耗设计入门(一)低功耗设计入门(二)低功耗设计入门(三)低功耗设计入门(四)低功耗设计入门(五)低功耗设计入门(六)低功耗设计入门(七)低功耗设计入门(八)

2020-06-02 14:09:45 646

原创 计算机体系结构量化研究方法(六)——流水线基础与中级概念

计算机体系结构量化研究方法——流水线基础与中级概念流水线什么是流水线RISC基本指令集基础知识RISC指令集简单实现经典五级流水线流水化的基本性能问题流水线冒险停顿流水线性能结构冒险数据冒险利用转发技术将数据冒险停顿减至最少需要停顿的数据冒险分支冒险降低流水线分支分支预测的性能通过预测降低分支成本静态分支预测动态分支预测和分支预测缓冲区如何实现流水化MIPS简单实现MIPS基本流水线流水线什么是流水线流水线是一种将多条指令重叠执行的实现技术。一条指令的执行需要多个操作,流水线技术充分利用了这些操作之间

2020-05-30 15:54:43 1477

原创 计算机体系结构量化研究方法(五)

计算机体系结构量化研究方法——存储器层次结构回顾术语解释缓存性能回顾四个存储器层次结构问题举例缓存性能缺失代价与乱序执行处理器6种基本的缓存优化增大块大小以降低缺失率增大缓存提高相联度多级缓存使读取缺失的优先级大于写入缺失,以降低缺失代价术语解释缓存(cache):是指地址离开处理器后遇到的最高级或第一级存储器层次结构。由于局域性原理适用于许多级别,而且充分利用局域性来提高性能的做法非常普遍。缓存命中(cache hit):处理器在缓存中找到了所需要的数据项缓存缺失(cache miss):处理器

2020-05-29 10:40:44 2122

原创 计算机体系结构量化研究方法学习(四)

计算机体系结构量化研究方法——指令集原理指令集体系结构的分类存储器寻址解释存储器地址寻址方式位移量寻址方式立即数或直接操作数寻址方式操作数的类型与大小指令集中的操作控制流指令控制流指令的寻址方式条件分支选项过程调用选项指令集编码RISC中的精简代码编译器的角色编译器的结构寄存器分配优化对性能的影响编译器技术对架构师决策的影响架构师如何帮助编译器编写人员谬论和易犯错误指令集体系结构时程序员或者编译器编写人员能够看到的计算机部分。指令集体系结构的分类处理器中内部存储类型是最基本的区别,所以关注这一部分,主

2020-05-27 10:58:40 1144 1

原创 计算机体系结构量化研究方法学习(三)

计算机体系结构量化研究方法——指令集并行及其开发指令级并行指令级并行定义数据相关与冒险数据相关指令级并行大约在1985年之后的所有处理器都使用流水线来重叠指令的执行过程。指令之间可能实的并行执行称为指令级并行(ILP)。ILP大体有两种不同开发方法:依靠硬件来帮助动态发现和开发并行依靠软件技术在编译时静态发现并行一个流水化处理器的CPI值等于基本CPI与因为各种停顿而耗费的全部周期之和:流水线CPI=理想流水CPI+结构化停顿+数据冒险停顿+控制停顿指令级并行定义开发指令间的并行。基

2020-05-26 16:51:48 2817 1

原创 RISC-V架构学习

RISC-V架构RISC-V简介RISC-V起源RISC-V大事件RISC-V 指令特点设计哲学-简单就是美无病一身轻——架构的篇幅能屈能伸——模块化的指令集浓缩的都是精华——指令的数量RISC-V指令集简介模块化的指令子集规整的指令编码优雅的压缩指令子集特权模式自定制指令扩展总结RISC-V开源处理器研究现状标量处理器——Rocket超标量乱序执行处理器——BOOMSHAKTI引用RISC-V简介在芯片领域,应用范围最广的指令集都是收费的(X86基本不对外授权,ARM费用相当不菲。所以芯片设计领域迫切

2020-05-24 16:28:46 9087

原创 ARM架构学习

ARM架构ARM架构ARM处理器简介RISC指令集特点ARM历史简单的内核工作方法分类ARM 的big.LITTLEARM V8架构ARMv8 -a架构ARMv8-A架构模块AArch64 Exception level引用ARM架构具体可以在arm开源设计进行了解。http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0407e/BABFAHID.htmlARM处理器简介ARM架构过去称作进阶精简指令集机器(AdvancedR

2020-05-24 14:53:23 2792

原创 内存知识

自己mark一下:操作系统-内存管理ARM内存管理C++内存管理命令C++内存分类

2020-05-19 15:34:42 147

原创 verilog 1bit跨时钟同步器

快时钟到慢时钟有周期要求,不能太密集//Synchronousmodule Sync_Pulse( input clka, input clkb, input rst_n, input pulse_ina, output pulse_outb, output signal_outb);//----------------------

2020-05-15 16:36:19 1180 2

原创 计算机体系结构量化研究方法学习(二)

计算机体系结构量化研究方法学习(二)存储器层次结构设计基础知识缓存性能的10种高级优化方法小而简单的第一级缓存路预测缓存访问流水化无阻塞缓存多种缓存关键字有限和提前重启动关键字优先提前重启动合并写缓冲区编译器优化循环交换分块硬件预取编译器控制预取小结存储器技术与优化SRAM技术DRAM技术提高DRAN芯片内部的存储器性能降低SDRAM中的功耗闪存虚拟存储器和虚拟机虚拟存储器提供保护程序员希望拥有无限数量的快速存储器,为了满足这一愿望,一种经济型解决方案是存储器层次结构,这种凡是利用了局域性原理。由于快速

2020-05-12 19:37:12 2398 1

原创 计算机体系结构量化研究方法——学习(一)

计算机体系结构量化研究方法学习量化设计与分析基础计算机的分类个人移动设备(PMD)桌面计算服务器集群/仓库级计算机嵌入式计算机并行度与并行体系结构的分类计算机体系结构定义指令集体系结构(ISA)ISA分类寄存器寻址寻址模式操作数的类型和大小操作指令控制流指令量化设计与分析基础20世纪80年代成功地开发了新的体系结构RISC体系结构。计算机的分类个人移动设备(PMD)带有多媒体用户界面的无线设备,比如手机、平板电脑等。成本主要因素是功耗和电池。多媒体应用程序的关键特性是响应性能和可预测性能。桌面

2020-05-09 19:07:13 4139 4

原创 System Verilog我的学习之路(一)

System Verilog学习Data types常量整型常量实型常量字符串常量数组常量结构体常量时间文本值整型logic类型实数字符串空类型动态数组队列联合数组数组的操作语法procedural statement新操作符强制转换Data typesSystem Verilog引进了几种新的数据类型。C语言程序员会熟悉其中的大多数。引进新的数据类型构思是这样的,如果C语言和System V...

2020-05-08 16:47:34 7018

原创 GEM5错误fatal: Can't unserialize 'system.cpu:_pid'

如果gem5是从断点中开始,又创建新断点。然后要从新断点开始,恢复这个checkpoint,会报这样的错误:fatal: Can’t unserialize ‘system.cpu:_pid’这是因为,定义fast-forward后,保存检查点时cpu状态已经切换到switch_cpus,因此保存的SimObject对象的字段都是system.switch_cpus。。。(可打开checkp...

2020-05-02 20:42:57 433

原创 硬件架构的艺术(四)

硬件架构的艺术 第七八九章处理字节顺序大端小端的特点处理字节顺序不匹配问题消抖技术抖动开关行为开关种类消抖技术RC消抖硬件消抖电路软件消抖电路在足以让抖动停止后的时间读出开关开关启动时中断CPU并在中断服务程序(ISR)中消抖使用计数器消除噪声并验证开关状态电磁兼容性能设计指南处理字节顺序字节顺序定义数据在计算机系统中的存储格式。它描述存储器中地址的最高有效位MSB和最低有效位LSB的位置。...

2020-04-05 14:55:42 523

原创 硬件架构的艺术(三)

硬件架构的艺术第五、六章低功耗设计功耗源在各设计抽象层次降低功耗系统级低功耗技术片上系统硬件/软件划分低功耗软件选择处理器体系结构级降低功耗高级门控时钟DVFS基于缓存的系统体系结构对数FFT体系结构异步(无时钟)设计电源门控多阈值电压多电压供电存储器电源门控在寄存器级传输降低功耗状态机编码和解码二进制数表示法门控时钟基础独热码多路器除去多余的转换资源共享使用行波计数器来降低功耗总线翻转高度活跃网...

2020-04-05 13:51:48 1101

原创 硬件架构的艺术(二)

硬件架构的艺术第三、四章处理多个时钟单时钟域多时钟域多时钟设计的处理技术时钟命名法分模块设计跨时钟域跨同步时钟域问题同频零相位差时钟同频恒定相位差时钟非同频、可变相位差时钟整数倍频率时钟处理多个时钟单时钟域易于实现,并且更少产生于亚稳态、建立与保持时间违背方面的问题。多时钟域多时钟设计具有问题:建立时间和保持时间的违背亚稳态多时钟设计的处理技术通用的准则有时钟命名法和分模...

2020-04-04 23:37:18 616

原创 硬件架构的艺术(一)

学习《硬件架构的艺术》,做一下笔记

2020-04-03 22:11:58 3869 1

原创 Perf_event_open 解决问题之一。

上一篇博客说Perf_event_open遇到了问题,获得的计数器不准。我分析原因,可能是性能计数器是一个核中的硬件,它只能计数在该核中运行的程序。而在多核处理器中,任务调度可能会将我需要计数的程序分配给其他的核,而这种分配是动态的,所以每次得到的不一样。这可能是原因之一。很凑巧,我误打误撞竟然得到了较为正确的做法。在官方手册中说明。 The pid and cpu argument...

2019-12-18 10:05:28 1290

原创 Perf_event_open 遇到的问题和想法

之前一篇写了如何使用Perf_event_open来监控性能计数器。也找了一些例子监控多个性能计数器,有创建多个寄存器的,也有创建组的,比如https://stackoverflow.com/questions/42088515/perf-event-open-how-to-monitoring-multiple-events但是有一个通用的问题,就是我将type设置为PERF_TYPE_HA...

2019-11-19 20:41:49 1154

原创 Linux perf获得性能计数器

上一次讲了DVFS,但是论文中都是根据PMC计算功耗。仿真中PMC容易获得,但是实际的系统中,我们很难获得,得从linux内核源码层次访问寄存器。简单的我们可以使用perf_event_open()这个子系统来获得,虽然不太方便吧,还是可以用的。大致上讲,perf_event_open()有两个使用模式,一个叫做计数,一个叫做采样。所谓计数,就是测量一段时间内某个事件发生的次数,比如获取每...

2019-11-05 18:41:48 1552 2

原创 LLVM学习日志11——看书 LLVM中后端修改(1)

这个我要修改一个后端,最好是能增加一条指令,如果增加指令其实挺麻烦的。首先在clang增加对c语言的解析?然后在LLVM中增加一条相对应的指令,再增加c语言到LLVM IR的转变?再增加目标平台的指令集和LLVM IR到平台语言的转换?一个大工程!!!!!!!!!!!!!在搜索一系列资料之后,找到了文章或者说一本书,先看着。首先是IR语言到目标平台语言的转换,这可以用在增加一些llvm I...

2019-10-14 10:05:56 711

转载 CPU中的DVFS

转载CPU动态调频二:interactive governor加入了自己的一些看法,看源码可以用source insight软件。Linux提供了多种governor供用户选择,这里以interactive为例,毕竟现在的android手机中都是采用该governor.。基于linux 3.14以下代码若未指明位置则默认在drivers/cpufreq/cpufreq_interacti...

2019-10-10 14:34:05 1868

原创 GEM5中AMR全系统DVFS

首先下载编译gem5,之前的博客说过就不再说了。现在就开始BB。1、既然是运行ARM的全系统,所以就要ARM的kernel和DISK。其中内核需要翻墙。git clone --depth 10 https://gem5.googlesource.com/arm/linux-arm-legacywget http://www.gem5.org/dist/current/arm/ar...

2019-09-29 10:30:53 901

原创 OneHotEncoder独热编码和 LabelEncoder标签编码

在水一个比赛的时候,看到了get_dummies,不知道什么意思,就百度了。记录一下OneHotEncoder独热编码和 LabelEncoder标签编码。独热编码one-hot encodingone-hot的基本思想:将离散型特征的每一种取值都看成一种状态,若你的这一特征中有N个不相同的取值,那么我们就可以将该特征抽象成N种不同的状态,one-hot编码保证了每一个取值只会使得一种状...

2019-09-04 10:26:36 498

原创 数据挖掘——sklearn了解

数据挖掘——sklearn了解sklearn库的大概sklearn官方文档的内容sklearn官方文档结构使用sklearn进行简单的数据挖掘数据挖掘的步骤参考文献sklearn库的大概网上有很多关于sklearn的学习教程,其实最好的就是官方文档。  自2007年发布以来,scikit-learn已经成为Python重要的机器学习库了,scikit-learn简称sklearn,支持包括分...

2019-08-29 13:29:04 538

转载 sklearn中fit_transform,fit,transform区别和作用详解

本篇是因为写的好所以转载。感谢原作者啊噗不是阿婆主原文链接:https://blog.csdn.net/weixin_38278334/article/details/82971752写在前面 fit和transform没有任何关系,仅仅是数据处理的两个不同环节,之所以出来fit_transform这个函数名,仅仅是为了写代码方便,会高效一点。 sklearn里的封装好...

2019-08-29 10:37:50 7554

原创 BERT模型使用及心得

这几天学习使用了一下BERT模型先简单介绍一下: BERT是基于Vaswani et al(2017)的论文"Attention is all you need"中提出的transformer模型构建的多层双向transformoer encoder。就是说BERT只是一个NLP方向的编码器。他能对单独句子进行表征,也可以对问答等进行表征。具体的可以看文章https://blo...

2019-08-15 16:11:38 14966 13

原创 瑞士出行签证攻略

由于要去瑞士,之前在签证忙了很久。记录一下瑞士商务签。欧洲的比较简单,申根不需要面签提问,但是需要现场录指纹,所以还是得自己去。我全都自己弄的,没有找第三方。首先申根表,网页填写生成pdf,pdf打印之后可以手填或修改看网页要求准备材料,邀请函可以是电子签名,银行流水中我只流了1k(其他的在支付宝里),本来担心会被拒绝,还好没有。选择经济独立会少很多材料另外的材料补充,我准备了...

2019-07-23 14:13:47 464

原创 TX2安装jetpack

因为需要,所以我们给TX2安装Jetpack4.2和Jetpack3.3。网上教程也很多,但是我还是要记录一下需要注意的点。一、安装Jetpack4.21、首先需要准备的东西,host machine ——ubuntu 16.04及其以上,TX2,数据线,路由器,vpn(或者翻墙软件)2、在Jetpack官网下载Jetpack安装包,在host machine上安装3、4.2版...

2019-05-28 13:32:43 1137

Turbo技术的机器学习方法的文献调查.zip

之前的那个是传统的方法,比如线性规划等。这个主要是自适应模型,包括了监督学习,强化学习等。自己辛苦整理

2020-06-27

Turbo技术传统方案综述.zip

Turbo技术传统方法的综述,是我自己辛苦整理总结。从Turbo技术的优化目标到优化方法,也调查了现在业内的公开资料

2020-06-27

2016春课件合并verilog.pdf

哈工大的verilog讲义,从语法到状态机,也会讲如何modelsim仿真。

2020-05-20

linux-arm-legacy-b2af78846ad0fe2a0fb114bd3f55ef8d4eff4d7d.tar.gz

ARM的linux内核文件,这是3.14版本。基本用于gem5的全系统仿真

2019-09-29

svm程序解决兵王问题,matalb

这个是基于libsvm的程序,讲述了使用SVM解决兵王问题的matlab代码,亲测可以运行,libsvm库也在压缩包里了

2018-10-26

parsec-arm的补丁

这个是基准测试集PARSEC3的补丁,这是为了在arm平台上运行测试集所用。这是教程中TR-gem5-parsec3-arm-mansuni.pdf所用

2018-08-01

海洋航行器比赛程序

这是参加海洋航行器比赛的程序的最初版,用stm32搭建的主控

2018-04-10

计算机系统结构量化研究方法 英文版

计算机系统结构量化研究方法第五版 英文原版,既可以看,也锻炼英语

2018-04-05

qt5很基础很详细的教程

qt5很基础很详细的教程,非常好的书籍,讲解很清晰,分享给大家

2018-04-03

qt5学习教程电子书

qt5非常详细的教程,我自己也再看,分享给大家,和大家一起学习

2018-04-03

c-c++写的卷积神经网络

c-c++写的卷积神经网络,没有使用库,都是自己写的函数,是vs工程文件,minst手写库识别,最基础的cnn

2018-04-03

循迹小车资料

循迹小车自己做了一辆之后的资料,里面东西比较多,有点乱

2015-10-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除