挖个坑,聊聊ARM以及跨平台计算(更新 为什么Rosetta2跑不了虚拟机)

  • j
    jiang_gg
    支持技术贴! iOS fly ~
  • l
    lanwater
    如果苹果搞定armx86生态,是不是 其他arm也可以受益?比如rockchip和allwinner这种平板cpu芯片 iOS fly ~
  • s
    sunshines
    回复93#ph_d
    也不算新手用吧,科学计算什么的很有用的,设置虚拟环境也很方便 iOS fly ~
  • 郭德纲
    回复5#94crazy

    这是自动化翻译的吗?
    粗略看一下,应该是左边错了吧,最后俩长跳转是怎么转换出来的?不过看左边性能好一些,str ldr这种一不小心就要占总线周期的指令起码比右边少一半。
  • j
    jckimi
    Mark大牛
  • 谁家丢的西瓜皮
    标记一下 iOS fly ~
  • 谁家丢的西瓜皮
    已经折腾过了 有些许小瑕疵 iOS fly ~
  • 1
    14783139
    回复39#notrue

    App store 一个个信息孤岛,果子抽成一统江湖?
  • 9
    94crazy
    回复104#郭德纲

    嗯 自动翻的 左边是优化过的 动态翻译有两套运行环境,一个是翻译器一个是模拟出来的guest程序 后面的跳转用来控制继续执行下一个代码块还是跳到翻译器翻译下一个代码块 基于下一个是不是已经翻译过了
  • 9
    94crazy
    回复102#lanwater

    最好的情况就是给苹果写的ARM项目可以很容易适配到其它ARM处理器 也许ARM社区需要提供一套等价的库
  • n
    notrue
    iOS 的APP Store不就这么玩的么,有什么问题?

    为啥大家打破头想进APP STORE ? 因为那里真的赚钱啊。难道iOS开发都傻么?都愿意白打工?

    你们整天哭着喊着说别人苹果封闭

    是不给你开发工具了还是不给你接口了?

    微软开放?他给你源代码了吗?

    苹果手机上哪个App 是信息孤岛?

    不要老是拿PC电脑的思维来考虑互联网时代的问题。 iOS fly ~
  • 懒散的牛
    这种贴子真好。收藏了慢慢看。 ios fly~
  • l
    littlelong
    lznb,这个是直接指令翻译后直接运行?还是上虚拟机模拟cpu翻译?
  • 拭刀问情
    明白人,那些讨论太空洞了,完全驴头和马嘴在一起讨论
  • t
    tuzky
    我觉得消费者信心来自于良好的,自由的文件管理、性能管理、复制粘贴管理。
  • 9
    94crazy
    虚拟机模拟是怎么模拟的,没想过吧?最终是不是都得变成宿主机的指令才能运行?这段代码就是虚拟机交给宿主机执行的指令
  • z
    zzzzz
    回复2#94crazy

    以苹果M1那个封装方式再接个SSD是不是就是一台机器了。那以后会不会出现插在网口上的POE的服务器棒呢?以后一台交换机就是一个集群。
  • 9
    94crazy
    回复118#zzzzz

    可以大胆去想 一切皆有可能 计算无处不在
  • j
    jiuzhege1
    dell x96平板装chrome os

    其实很足够用了,arm的我觉得也没什么

    但是前提有个电脑,远程干活
  • p
    pal726
    插个眼慢慢看,学习 iOS fly ~
  • d
    denq
    回复107#谁家丢的西瓜皮
    USB性能可能是最大的问题 估计很难解决 然后GPIO不能passthrough有vmware的员工在用业余时间完善driver iOS fly ~
  • 剑二十三
    rpi4cm




    这下可以上nvme的ssd了

    hoho
  • l
    l32606
    m1的出现,会不会加速arm平台的生态演进,包括服务器端
  • y
    yaohoo
    mark 慢慢看 iOS fly ~
  • 谁家丢的西瓜皮
    USB 应该还好,可以直接USB 3.0 接SSD 盘,但是需要用转接线。主要是所有上面跑的虚拟机都是通过树莓的UEFI BIOS 启动的,如果有虚拟机无法使用这个UEFI,基本上就可以放弃虚拟了 iOS fly ~
  • 9
    94crazy
    一个看市场的刺激,一个看苹果的ARM程序能不能很容易适配到其它ARM处理器平台。本来已有趋势,它可以推波助澜
  • L
    LittleBlue
    上次谁说要收购arm来着? 成功没有
  • 9
    94crazy
    x86可以用QEMU模拟,但是性能低下,等我上面这个优化做完能有大幅提升。另外,跨平台的虚拟化必须有指令翻译的过程,esxi没有。
  • d
    denq
    回复123#剑二十三
    貌似还不能做系统启动盘 只能做数据盘 另外CM扩展板有点大了… iOS fly ~
  • d
    denq
    回复130#94crazy
    iOS fly ~
  • 9
    94crazy
    回复132#denq


    跟这篇帖子一样,也是在挤牙膏。。。
  • l
    littlelong
    哦哦,这个qemu的tcg的改进?小尾巴~
  • 1
    14783139
    回复111#notrue
    哎呀,捅了马蜂窝了
    Epic 算怎么回事儿? iOS fly ~
  • 9
    94crazy
    是的
  • l
    littlelong
    那我知道了,这个坑不小啊
  • l
    littlelong
    没有对应的硬件指令不是就坑了
  • 9
    94crazy
    回复137#littlelong

    其实代码都写的差不多了 主要是调试太麻烦 在code cache里面崩了卡一两天找不到问题在哪都正常 我还是只能业余时间搞
  • 9
    94crazy
    回复138#littlelong

    2个办法。可以用更多的指令来翻译,保证语义等价就行。有的指令太复杂,会通过helper function来实现,跳出模拟环境,进到翻译器里面用函数来做操作,搞完了再跳回去。
  • l
    littlelong
    我知道,我意思这样性能大概率直降,比如avx这种
  • l
    littlelong
    第二种方法相当于直接调用宿主本地实现的函数吧?
  • 9
    94crazy
    是的。这种模拟器/虚拟机运行时有两套环境,一套是翻译器(Dynamic Binary Translator, DBT),一套是生成的代码(Code cache),需要的时候来回跳,互不影响。大部分时间都在执行Code cache里面的代码,遇到没有翻译的代码块,会跳到DBT翻译,翻译完了又跳回去。如果遇到比较复杂的guest指令,比如很多浮点运算,也会跳出来,调用已经写好的对应的浮点运算helper function,完了再跳回去。
    上面有朋友提到翻译出来的代码,最后怎么多出来两个长跳转,就是干这个用的,一条是跳出Code Cache,一条是跳到下一个代码块。
  • i
    iorlkyok
    想知道m1芯片目前在apple的几个常用软件上貌似全面碾压,包括8k视频等,那么缺点呢?性能方面不可能没有缺点,非常想知道哪些项目能被intel amd打成渣渣
  • 9
    94crazy
    DBT的性能都是很低的,但是我们有很多优化的方法,其中就有专门针对SIMD指令的,单说这个又够一篇长贴了,但是太细节,没人原意看的。
  • 9
    94crazy
    我没有这玩意啊,但是关于性能测试又是另外一个很复杂的故事了。。。后面填坑的时候尽量包括一些介绍进来
  • w
    wrs
    大神,请教个问题。rpi4 跑 Ubuntu Desktop 20.10,使用 USB3.0 U盘,用一会 WIFI 就用不了了。拔下 U 盘后恢复正常,貌似温度上升后 USB3.0 和 WIFI 冲突。这个有解吗?
  • 剑二十三
    rpi4性能还是不够高
  • i
    ilcvm
    回复147#wrs


    USB 3会影响2.4G的Wi-Fi和蓝牙信号。换连5G频段的Wi-Fi试试
  • w
    wrs
    回复149#ilcvm

    多谢~