tinyriscv 实现的是一个微 RISC-V 处理器核,用 verilog 语言编写,只求以最简单、最通俗易懂的方式实现 RISC-V 指令的功能,因此没有特意去对代码做任何的优化。
tinyriscv 处理器核有以下特点:
1.实现了 RV32I 指令集,通过 riscv 的 RV32I 指令兼容性测试,支持以下指令:add addi and andi auipc beq bge bgeu blt bltu bne fence_i jal jalr lb lbu lh lhu lw lui or ori sb sh sw sll slli slt slti sltiu sltu sra srai srl srli sub xor xori;
2.支持 RV32M 指令集:mul mulh mulhu mulhsu div divu rem remu;
3.采用三级流水线,即取指,译码、访存、执行,回写;
4.可以运行简单的 c 语言程序。
红楼鬼影 发布的最新帖子
-
通俗易懂的微型RISC-V 处理器核tinyriscv
-
spring数据库
Spring的JDBC模块负责数据库资源管理和错误处理,大大简化了开发人员对数据库的操作,使得开发人员可以从繁琐的数据库中解脱出来,从而将更多精力投入到编写业务逻辑中
Spring数据库事务约定处理逻辑流程如下:
与JDBC事务实现代码相比,基于Spring的方式只需要添加一个@Transactional注解即可,代码中只需要实现业务逻辑即可,实现了事务控制机制对业务代码的低侵入性。
Spring支持的基于Spring AOP实现的声明式事务功能,所谓声明式事务,即使用@Transactional注解进行声明标注,告诉Spring框架在什么地方启用数据库事务控制能力。@Transactional注解,可以添加在类或者方法上。如果其添加在类上时,表明此类中所有的public非静态方法都将启用事务控制能力。项目地址:
https://so.csdn.net/so/search?q=框架&spm=1001.2101.3001.7020 -
求近似最近邻的库Annoy
Annoy 是 Spotify 开源的高维空间求近似最近邻的库,在 Spotify 使用它进行音乐推荐。最邻近搜索(Nearest Neighbor Search, NNS)又称为 “最近点搜索”(Closest point search),是一个在尺度空间中寻找最近点的优化问题。
Annoy 能够使用静态文件作为索引,意味着可以跨进程共享索引。它还创建了大量的基于只读文件的数据结构,这些数据结构被嵌入内存中,以便许多进程可以共享相同的数据。Annoy 的另一个好处是它试图最小化内存占用,因此索引非常小。欧几里德距离, 曼哈顿距离, 余弦距离, 汉明距离或 点 (内) 积距离;余弦距离等价于归一化向量的欧氏距离 = sqrt (2-2*cos (u,v);如果你的维度不多 (比如 < 100),效果会更好,即使达到 1000 个维度,它也表现得非常出色;内存使用量小;允许你在多个进程之间共享内存;索引创建与查找是分开的(特别是在创建树后,就无法添加更多项目);原生 Python 支持;在磁盘上生成索引,以便为不适合内存的大型数据集建立索引。
-
数据增强Python 库AugLy
AugLy 是 Facebook 开源的一个数据增强 Python 库。该库目前支持音频、图像、文本和视频四种模式,一方面可以用现实数据对数据进行增强,另一方面还可以检测出相似内容,消除重复数据带来的干扰。
-
度量学习TensorFlow Similarity
TensorFlow Similarity 是一个用于相似性学习的 TensorFLow 库,也被称为度量学习和对比性学习。目前仍处于测试阶段。
Tensorflow Similarity 提供了先进的度量学习算法和所有必要的组件来研究、训练、评估和服务基于相似性的模型。通过 TensorFlow 的相似性,你可以训练并提供模型,在大量的例子语料库中找到类似的项目。度量学习不同于传统分类,因为它的目标不同。该模型学习以监督或自我监督的方式最小化相似示例之间的距离并最大化不同示例之间的距离。无论哪种方式,TensorFlow Similarity 都提供了必要的损失、指标、采样器、可视化器和索引子系统,以使其快速简便。目前,TensorFlow Similarity 支持监督训练。在未来的版本中,它将支持半监督和自监督训练。
-
用于嵌入式系统的微型J S引擎Elk
Elk 是一个小型的可嵌入 JavaScript 引擎,它实现了 ES6 的一个小但可用的子集。它专为微控制器开发而设计。Elk 允许使用 JavaScript 进行开发,而不是使用 C/C++ 编写固件代码。另一个用例是为客户提供安全、受保护的脚本环境以进行产品定制。跨平台。适用于从 8 位微控制器到 64 位服务器的任何地方。零依赖。由 ISO C 或 ISO C++ 编译器干净地构建,易于嵌入:只需复制elk.c并添加elk.h到您的源代码树中、非常小而简单的嵌入 API,可以从 JavaScript 调用本机 C/C++ 函数,反之亦然,不使用 malloc。仅使用给定的内存缓冲区操作,占用空间小:闪存/磁盘上大约 20KB,核心 VM 大约 100 字节 RAM,没有字节码。直接解释JS代码。
-
.NET的通用管理平台Admin.NET
Admin.NET 是基于.NET 5/6 实现的通用管理平台。整合最新技术,模块插件式开发,前后端分离,能够做到开箱即用,十分的方便。并且Admin.NET 通用管理平台的后台基于Furion框架实现,vue2前端是基于小诺框架实现的,vue3前端基于Vben-Admin框架实现。Admin.NET通用管理平台还集成了海量的EF Core、多租户、缓存、数据校验、鉴权、事件总线、动态API、通讯、远程请求、任务调度、gRPC等众多黑科技。
Admin.NET通用管理平台的核心模块包括:用户、角色、职位、组织机构、菜单、字典、日志、多应用管理、文件管理、定时任务等功能。代码简洁、易扩展,做到了让开发更简单、更通用、更流行!
-
求近似最近领的库Annoy
Annoy 是 Spotify 由开源的一个高维空间求近似最近邻的库,在 Spotify 库中使用它进行音乐推荐。最邻近搜索(Nearest Neighbor Search, NNS)又被称为“最近点搜索”(Closest point search),Spotify 库能够在尺度空间中寻找最近点的优化问题。
Annoy库是使用静态文件作为索引的,意味着能够跨进程共享索引。它还创建了大量的基于只读文件的数据结构,这些数据结构被嵌入内存中,以便许多进程可以共享相同的数据,达到数据共享的效果。
Annoy 库的另一个好处就是它能够试图最小化内存占用,因此索引是非常小的。允许你在多个进程之间共享内存;索引创建与查找是分开的;原生 Python 支持;在磁盘上生成索引,以便为不适合内存的大型数据集建立索引。
-
基于WebGL的地理空间数据可视分析框架L7
**L7 是由蚂蚁金服 AntV 数据可视化团队推出的基于 WebGL 的开源大规模地理空间数据可视分析开发框架。**L7 专注于空间数据的可视化表达。图形符号学为理论基础,将抽象复杂的空间数据转化成 2D、3D 符号,通过颜色、大小、体积、纹理等视觉变量实现丰富的可视化表达。2.0 beta 版发布一个多月以来经过 20 多个小版本的迭代发布,正式告别 beta 版,迎来 2.0 正版。正式版主要增加图层交互功能以及点,线、面的动画支持;在可视化种类上新增聚合图,文本标注,虚线,城市建筑等新图层。在数据类型上增加了卫星遥感数据可视化支持。文档方面对内容结构进行了重构,详细介绍每个图层如何使用,文档内容更丰富,使用更快捷。为了方便新用户快速上手我们还提供了不同框架的 项目模板。
-
大数据管理分析系统UMAD-SZU
**UMAD (Universal Management and Analysis of Data) 是致力于实现通用的大数据管理分析系统的项目。**该项目利用度量空间的高度抽象性的特点,将各种各样的数据类型抽象到度量空间之中,而所有的索引算法都针对度量空间这一数据结构进行设计,以此达到算法通用的目的。项目基于 jdk12.0.2 实现,为了更好地支持中文,全部编码统一采用 UTF-8。项目目前支持 DNA、RNA、Peptide、Spectra、 Image 和 Vector 数据库的建立和相似性搜索。实现了常用的支撑点选择算法,如 FFT、CENTER、RANDOM 等;常用的数据划分算法,例如 Balanced、ClusteringKMeans、CGHT 和 GHT 等。