SkyEye处理器仿真系列:龙芯2K1000处理器

news2024/9/23 21:22:18

SkyEye简介:

天目全数字实时仿真软件SkyEye作为基于可视化建模的硬件行为级仿真平台,能够为嵌入式软件提供虚拟化运行环境,开发、测试人员可在该虚拟运行环境上进行软件开发、软件测试和软件验证活动。小到芯片,大到系统,SkyEye均可进行模拟。

01.背景介绍

1936年,被誉为“计算机科学与人工智能之父”的艾伦·图灵在其著作中证明了一个能够执行任何可计算序列的通用计算机的可行性[1],奠定了计算机仿真技术的理论基础。20世纪50年代,世界上第一台“商用程序内藏式电子计算机”EDSAC项目便使用了这一理论,其所使用的错误诊断技术中的“STEP-BY-STEP”技术已具备当前处理器仿真中常用的“解释执行”特性[2]。

随着计算机硬件性能飞速提高和软件技术的不断进步,计算机仿真技术也取得了长足的发展,并进入广泛实用阶段,已被应用于移植异构计算机、研制处理器、开发和测试操作系统以及应用软件、检测病毒、虚拟化服务器等领域。

在应用仿真的诸多领域之中,嵌入式软件开发测试凭借以下特点,在仿真技术的适用性上显得尤为突出:

(1) 复杂的交叉开发环境:仿真能够避免可执行文件的下载操作;

(2) 相对低速的嵌入式处理器:仿真所造成的性能损耗能够被PC机运行速度克服,甚至超过真实目标机的运行速度;

(3) 高可靠性要求的嵌入式软件:避免物理测试环境的缺乏及其固有缺陷。

使用仿真技术来构建嵌入式软件虚拟验证系统的方式越来越受到重视。

02.全数字实时仿真

作为仿真技术中最为适合嵌入式软件的类型,全数字实时仿真技术指在达到仿真目标硬件平台实时性要求的基础上,对仿真目标进行纯软件模拟。

嵌入式领域中的全数字实时仿真,指通过软件方式对嵌入式板块的SoC以及各种外设进行建模,并实现功能级别的仿真,其实时性能够和真实硬件相媲美。其主要价值在于可以脱离硬件,及时甚至提早进行功能开发和非干预的验证,且仿真结果和硬件平台的运行结果保持一致。

03.SkyEye仿真龙芯2K1000处理器

龙芯中科作为国内知名的自主CPU设计供应商,面向国家信息化建设需求,现已推出三个系列(龙芯一、二、三号)多款CPU,且自研LoongArch指令集。本文主要聚焦于龙芯二号系列产品:龙芯2K1000处理器。

龙芯2K1000处理器主要面向于网络应用,兼顾平板应用及工控领域应用。采用40nm工艺,片内集成2个GS264处理器核,与MIPS64体系结构兼容,主频1GHz,64位DDR3控制器,以及各种系统IO接口。

龙芯2K1000结构图如下:

▲ 龙芯2K1000结构图

使用SkyEye平台对龙芯2K1000进行仿真,共分为三步:

第一步:基于SkyEye的设备建模工具,完成龙芯2K1000板卡上CPU和外设功能级的建模,形成动态链接库提供给SkyEye仿真引擎使用。

第二步:按照龙芯2K1000结构图,在SkyEye Workstation的建模区域,通过拖拽基本模块(第一步中完成的)、配置外设和总线属性完成龙芯2K1000板卡级的建模,此时已经得到一块全数字的仿真板卡。

第三步:创建SkyEye的启动脚本,对应物理板卡的烧录流程。

SkyEye已经支持龙芯2K1000,并在该仿真板卡成功运行Linux3.10(使用gcc4.9编译),在串口中可以输入Shell命令和Linux进行交互。以下为运行过程:

参考文献

[1] Turing A M. On Computable Numbers, with an Application to the Entscheidungsproblem[J]. Proceedings of the London Mathematical Society, 1936, 42(1):230-265.

[2] Gill S. The Diagnosis of Mistakes in Programmes on the EDSAC[J]. Proceedings of the Royal Society A Mathematical Physical & Enginee ring Sciences, 1951, 206(1087):538-554.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/728168.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

win10 DBeaver (升级)下载、安装、彻底卸载

DBeaver (升级)下载及安装 一、DBeaver 下载二、安装三、DBeaver 的基本使用 - mysql连接四、DBeaver 彻底卸载 DBeaver是一种通用数据库管理工具,适用于需要以专业方式使用数据的每个人;适用于开发人员,数据库管理员&…

苹果笔买原装的还是随便买?便宜好用的手写笔推荐

自从ipad和其他的平板电脑都搭配上了电容笔以后,电容笔很好地取代了我们的手指,书写的效率就大大提升了,但由于苹果原装电容笔的价格不够人性化,一直高居不下给普通人带来了很大的负担,特别是对于学生们来说&#xff0…

QT DAY1

做一个窗口界面 #include "mainwindow.h" #include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {ui->setupUi(this);//设置窗口标题、图标this->setWindowTitle("Fly_Chat")…

6、Flume安装部署

按照采集通道规划,需在hadoop102,hadoop103,hadoop104三台节点分别部署一个Flume。可参照以下步骤先在hadoop102安装,然后再进行分发。 1、Flume入门 1.1、 Flume安装部署 1.1.1、 安装地址 (1) Flume官…

全网最牛,Web自动化测试Selenium八大元素定位实战(详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 安装Selenium和下…

BFT 最前线|OpenAI暂时下线ChatGPT”浏览“功能;Stability AI CEO:5年内,人类程序员将不复存在

原创 | 文 BFT机器人 AI视界 TECHNOLOGY NEWS 01 Open AI暂时下线ChatGPT“浏览”功能 日前OpenAI方面宣布,面向ChatGPT Plus用户的"浏览"功能会在某些情况下出现故障,因此已于7月3日暂时禁用了这一功能。该功能是为了提高ChatGPT的搜索体验…

威胁检测和取证日志分析

在网络中,威胁是指可能影响其平稳运行的恶意元素。因此,对于任何希望搁置任何财政损失或生产力下降机会的组织来说,威胁检测都是必要的。为了先发制人地阻止来自各种来源的任何此类攻击,需要有效的威胁检测情报。 威胁检测可以是…

mmap函数

参考 https://blog.csdn.net/bhniunan/article/details/104105153void *mmap(void *addr, size_t len, int prot, int flags, int fd, off_t offset);参数 addr:出参, 指定映射的起始地址,通常设为NULL,由内核来分配 len&#x…

网络编程3——TCP Socket实现的客户端服务器通信完整代码(详细注释帮你快速理解)

文章目录 前言一、理论准备Socket套接字是什么TCP协议的特点 二、TCP 流套接字提供的APIServerSocket APISocket API 三、代码实现请求响应式 客户端服务器服务器客户端疑惑解答为什么服务器进程需要手动指定端口号而客户端进程不需要为什么客户端中的服务器IP与端口号是"…

Mysql架构篇--Mysql 主从同步方案

文章目录 前言一、传统的主从复制:1 原理:2 缺点: 二、半同步复制(Semi-Synchronous Replication):三、组复制:1 原理:2 实现:2.1 myql 实例安装:2.1 myql 实…

量子近似优化算法(QAOA)入门(1):从量子绝热算法(QAA)角度的直观理解

文章目录 前言:量子计算的本质是测量一、基于量子逻辑电路的常用算法1.NISQ:Noisy Intermediate-Scale Quantum(含噪声中等规模量子) 二、量子绝热算法(QAA:Quantum Adiabatic Algorithm)1.QAA的…

【KingFusion】用KingFusion3.6创建一个客户端工程的步骤

哈喽,大家好,我是雷工! 今天学习用KingFusion3.6创建一个客户端工程,以下记录创建过程。 客户端组件作为KingFusion3.6的数据展示功能模块,其主要功能是通过组态组态式配置以及丰富的图表元素、动画连接等多样的展示形…

ROS:TF坐标变换

目录 一、TF坐标变换背景二、概念三、静态坐标变换3.1概念3.2实际用例3.2.1分析3.2.2流程3.2.3C实现 一、TF坐标变换背景 机器人系统上,有多个传感器,如激光雷达、摄像头等,有的传感器是可以感知机器人周边的物体方位(或者称之为:坐标&#…

《LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS》论文笔记

引言 全量参数微调在LLM背景下由“不方便”演变为“不可行|高昂成本”,基于“收敛的模型参数可以压缩到低维空间”的假设: the learned over-parametrized models in fact reside on a low intrinsic dimension. 作者提出LORA(Low Rank Adap…

远程关闭或重新启动计算机

远程关机只是从远程位置关闭计算机的过程。主要领域是组织在没有知识的情况下失去收入将是电力费用。员工倾向于在周末打开他们的系统。不必要的电力消耗也会影响我们的环境。在这种情况下,系统管理员可以在周末和非工作时间安排自动系统关闭,或者在必要…

Valve 签约开源 Linux 图形驱动开发者

导读据外媒 phoronix 报道,Valve 最近聘用了著名开源 Linux 图形驱动开发者 Alyssa Rosenzweig,以改进开源 Linux 图形驱动程序堆栈,增强 Linux 游戏生态系统。 Alyssa Rosenzweig 多年来在 Panfrost 开源、逆向工程 Arm Mali 图形驱动程序方…

【自动化测试基础知识】什么是自动化测试?

什么是自动化测试? 自动化测试是一种软件工具的应用,用于自动化由人驱动的检查和验证软件产品的手工过程。大多数现代敏捷和DevOps软件项目现在都包括从一开始就进行自动化测试。然而,为了充分理解自动化测试的价值,先学习下在它被广泛采用…

优化|一阶方法:求解不具有凸性和lipschitz连续性的复合问题

论文解读者:陈康明,赵田田,李朋 编者按:​ 对于大多数一阶算法,我们会在收敛性分析时假设函数是凸的,且梯度满足全局 Lipschitz 条件。而本文中,对于某一类特殊函数。我们不仅不要求函数是凸的…

基于信号博弈模型的区块链赋能下中小企业融资问题

​ 我国的金融体系是银行主导性,银行信贷是企业融资的首要来源。然而银企之间存在着严重的信息不对称,根据经典的微观银行理论,银行与企业之间的信息不对称会引发道德风险和逆向选择问题。因此在银行信贷市场中,当中小企业需要融资…

MySQL实现数据炸裂拆分(类似Hive的explode函数的拆分数组功能)

MySQL实现数据炸裂拆分(类似Hive的"explode"函数的拆分数组功能) 需求背景 背景描述 ​ 在Hive中,"explode"函数用于将数组类型的列拆分为多行,以便对数组中的每个元素进行处理。然而,在MySQL中,并没有直接…