第一课主要是描述环境搭建,以及rvemu效果演示
我使用docker搭建了一个实验环境,其中使用了clang-15,根据老师的测试,比系统默认的版本是10要快。使用方法如下:

下载Ubuntu 22.04,并运行container执行脚本

docker pull ubuntu:22.04
docker run -it -v <本地文件夹路径>:<container中文件夹路径> --name <container名称> build.sh
docker exec -it <container名称> bin/bash

build.sh

#!/bin/bash
export DEBIAN_FRONTEND=noninteractiveapt-get update
apt-get upgrade
apt-get install -y apt-utils
apt-get install -y build-essential
apt-get install -y wget git-core
apt-get install -y autoconf automake autotools-dev curl python3 libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev ninja-buildmkdir -p /home/rvemu
cd /home/rvemuwget https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/2023.01.31/riscv64-elf-ubuntu-22.04-nightly-2023.01.31-nightly.tar.gz
tar -zxvf riscv64-elf-ubuntu-22.04-nightly-2023.01.31-nightly.tar.gz
mv riscv /opt/
export PATH=$PATH:/opt/riscv/binapt-get install -y clang-15 lldb-15 lld-15
ln -s /usr/bin/clang-15 /usr/bin/clang

技术总结:

  1. 本课程使用了newlib而不是glibc,因为

我们之所以选择使用 Newlib 版本的工具链而不是常见的 glibc,是因为 Newlib
只需要实现很少的系统调用就可以完成大部分的功能,这样可以简化我们模拟器的实现。

  1. 需要补充很多前置知识
    例如:Makefile,C语言基础,最重要的是

RISC-V,尤其是 RV64GC 非特权指令集的部分

RISC-V 参考资料:
Volume 1, Unprivileged Specification version 20191213
The RISC-V Reader: An Open Architecture Atlas

[手搓 RISC-V 高性能模拟器]笔记一相关推荐

  1. 还在做手搓党和模拟器党?手机投屏电脑玩吃鸡你值得拥有

    有没有什么模拟器电脑上玩刺激战场可以匹配手机玩家?我告诉你,已经没有了,基本所有的可以叫得出名字的安卓模拟器玩刺激战场都是匹配的模拟器家.不想做手搓党也不想被系统检测模拟器,你只需要一款神奇:手机投屏 ...

  2. 和平精英手搓别扭?低配电脑又带不动模拟器?教你一招轻松搞定

    自从刺激战场下架.和平精英上线之后,虽然有不少玩家吐槽甚至转战国际服,但是丝毫不影响和平精英在ios和安卓应用市场手游下载量第一.其实和平精英基本上是还原了80%以上的刺激战场,除了操作感没有那么顺手 ...

  3. 计组学习笔记2(RISC v版)

    指令集解释 (规定:R[r]表示通用寄存器r的内容,M[addr]表示存储单元addr的内容,SEXT[imm]表示对imm进行符号扩展,ZEXT[imm]表示对imm进行零扩展) 整数运算类 -U型 ...

  4. 狂肝10个月手搓GPU,他们在《我的世界》里面玩《我的世界》

    梦晨 衡宇 萧箫 发自 凹非寺 量子位 | 公众号 QbitAI 自从有人在<我的世界>里用红石电路造出CPU,就流传着一个梗: 总有一天,这帮红石佬能在我的世界里玩上我的世界. 这一天, ...

  5. ​“从0到1手搓GPT”教程来了!李飞飞高徒出品,马斯克点赞!

    来源:量子位 "从0到1手搓GPT"教程来了! 视频1个多小时,从原理到代码都一一呈现,训练微调也涵盖在内,手把手带着你搞定. 该内容刚发出来,在Twitter已吸引400万关注量 ...

  6. 手柄映射键盘_“吃鸡”直接匹配“手搓”玩家?北通G2是一款非常好用的手柄...

    大家好,欢迎来到<刺激实战教室>,我是你们的老朋友刺激哥. 作为一名吃鸡手游的爱好者,刺激哥的水平虽然并不见得有多好,但入手的游戏手柄可是真的一点都不少. 前前后后,接连入手了数款手机手柄 ...

  7. 手搓一个“七夕限定”,用3D Engine 5分钟实现烟花绽放效果

    七夕来咯!又到了给重要的人送惊喜的时刻. 今年,除了将心意融入花和礼物,作为程序员,用自己的代码本事手搓一个技术感十足"七夕限定"惊喜,我觉得,这是不亚于车马慢时代手写信的古典主义 ...

  8. 手搓卷积神经网络(CNN)进行手写数字识别(python)

    前言: 本文属于学习笔记性质.为了让自己更深入地理解卷积神经网络,我只用numpy.pandas等几个库手搓了一个识别MNIST数字的CNN.500张图单次训练,准确率70-80%. 注意: 1.代码 ...

  9. DNF手游怎么在手游模拟器上玩使用教程

    改编自地下城与勇士的DNF手游已经测试,作为格斗网游标杆的DNF手机版游戏,安卓模拟器竟然可以和端游一样在电脑上操作,在电脑上玩,账号全互通.可以让用户DNF手游在电脑上完美沿袭端游的整体特色.用户在 ...

最新文章

  1. cocos2dx基础篇(9)——触碰事件Touch
  2. Struts 2配置详解
  3. 【转】PHP面试题总结
  4. Session丢失的解决办法小结(转)
  5. Serverless 场景排查问题利器:函数实例命令行操作
  6. [原] Android中Scroller类的分析
  7. js转义html,反转义
  8. 主从复制之操作实践(二)
  9. RAC连接时的2种方式Connect Time Failver和taf
  10. 阿里iconfont图标的使用教程
  11. 小米笔记本linux无线网失效,小米笔记本无线网络打不开怎么办
  12. 从高排到低变成小楼梯儿歌_春季学期幼儿园常规儿歌律动,收藏了就能用上
  13. 利用百度身份证识别服务和python语言实现身份证信息的提取和保存
  14. Pytorch版本过高产生的RuntimeError: Legacy autograd function with non-static forward method is deprecated.
  15. 【数字信号】基于matlab GUI DTMF电话模拟系统(频谱图+时域图+语谱图)【含Matlab源码 2092期】
  16. android listview 点击获取焦点,android – ListView项目焦点行为
  17. IBM ServerGuide 9.0
  18. 生产制造企业一物一码解决方案_爱码SaaS
  19. 汇编原理自我总结(三)
  20. (转)vim 常用快捷键 二

热门文章

  1. Ubuntu下opencv的安装使用
  2. 文件文档在线预览开源项目kkFileView的使用
  3. Tomcat管理页面登陆方法
  4. 解决URL传参中文乱码
  5. Java 和 HTTP 的那些事(四) HTTPS 和 证书相关
  6. 应急响应典型案例分析
  7. 烘焙赛道频出黑马,复盘「熊猫不走」融资历程
  8. Xbox One 游戏欣赏: Forza 5定制自己的×××
  9. swf文件用什么打开?3种打开方法
  10. 问题 I: 4.18 join、split  删除字符串s=‘zzz xx y u v w ttt ‘中多余的空白字符,如果有连续多个空白字符,只保留一个。