Mumakore achangopfuura, nyika yekutevedzera yakaita nhanho huru, kunyanya maererano nekuenderana pakati pezvivakwa zvakasiyana se x86-64 uye RISC-V. Kana iwe wakambozvibvunza kuti ungamhanyisa sei zvirongwa nemitambo zvakagadzirirwa Intel kana AMD processors paRISC-V-based mamaboards nemakomputa, mhinduro iri mumaturusi akaita saFelix86. Kusimuka kweRISC-V dhizaini uye kudiwa kwekuyambuka-kuenderana kwaita mapurojekiti akaita saFelix86 hurukuro yedhorobha., inokwezva kutarisisa kwevagadziri, vanofarira Hardware, uye vashandisi vari kutsvaga kuwedzera kugona kwemidziyo yavo.
Felix86 anouya semhepo yekufema. mukati meiyo emulation landscape, ichipa zvigadziriso zvekugadzirisa dambudziko riri kuwedzera kuwanda: huwandu hukuru hwe x86-64 software isingakwanise kumhanya natively paRISC-V Hardware. Haisisiri yekungovhura mitambo paLinux, asi zvakare kuwana chikamu cheWindows catalogue nekuda kweWaini, zvese pazvivakwa zviri kuwedzera kuvepo mumusika nekuda kwekuvhurika kwayo uye maitiro ekugadzirisa.
Chii chinonzi Felix86 uye nei chakakodzera?
Felix86 ndiye emulator mukusimudzira yakagadzirirwa kumhanyisa x86-64 zvikumbiro nemitambo, yakatanga kugadzirirwa Intel uye AMD processors, paRISC-V-yakashongedzerwa zvishandiso pasi peLinux masisitimu. Chikumbiro ichi chinobva kune inoda kukwirisa iyo ecosystem yese yezvishandiso zviripo zve x86-64 pasina kutsamira pane chaiyo hardware.. Kusiyana nechinyakare virtualization inowanikwa mune mhinduro seVMware, Felix86 opts for a shanduro yenguva chaiyo yekushandura (just-in-time kana JIT), ichibvumira software kuti imhanye zvakanyanya nekusimudzira RISC-V's ega ekuwedzera, senge vector rairo yeSIMD mashandiro.
Kuwedzera kweRISC-V Munyika yetekinoroji, iri kutyaira zvakanyanya mukufarira kutevedzera, kunyanya pakati pevashandisi nemabhizinesi ari kutsvaga kuputsa zvipingamupinyi zvechinyakare pakati pezvivakwa. Felix86 akazvarwa mumamiriro ezvinhu aya, achifambisa shanduko uye achiunza idzi nyika mbiri dzakasiyana zvakanyanya pedyo.
Chimiro chehunyanzvi: Aya ndiwo mashandiro anoita Felix86
Musimboti we Felix86 Zvinobva pana a JIT dynamic recompiler, basa rekushandura mirairo pa-the-fly x86-64 kune yavo RISC-V yakaenzana. Iyi sarudzo yakakosha kuchengetedza kushanda kunogamuchirwa, sezvo isingashanduri chete zvakanaka, asiwo Tora mukana wekuwedzera kwepamusoro kuRISC-V Hardware:
- Vector extension: Yakakosha pakugadzirisa SSE mirairo iripo mumitambo yakawanda uye maapplication, ichimhanyisa SIMD mashandiro.
- Kuwedzera B (bit manipulation): Yakashandiswa kushandura mirairo yakaoma senge bsr, yakakosha mune bit manipulation process uye advanced masvomhu mukati mekutevedzera.
- Tsigiro yekusarudzika kwekuwedzera: Felix86 inotarisa zvakasiyana-siyana zvekuwedzera zvakadai seXThead (inoshandiswa mumasisitimu epamusoro emabasa etsika) inogona kunge iripo pane zvemazuva ano zveRISC-V hardware.
Mukuwedzera, iyo emulator inochengetedza a abstraction layer yekugadzirisa mutsauko mukugovaniswa kwendangariro uye system mafoni pakati pezvivakwa, rimwe rematambudziko makuru ekuyambuka-emulation, sezvo x86-64 uye RISC-V vane akasiyana ndangariro uye syscall modhi. Iyi yekuwedzera layer ndiyo kiyi yekutsigira yakaoma maapplication uye kuve nechokwadi kumwe kugadzikana mukuita.
Kugarisana: Chii chaungatarisira kumhanya naFelix86?
Kunyangwe kuve mukukura kuzere, kuyedzwa naFelix86 kwatoburitsa mhedzisiro yakanaka, kunyanya munzvimbo yeLinux yemitambo. Mamwe emazita anozivikanwa kwazvo akaitwa zvinobudirira, aine mareti akasiyana ekudzoka, ndeaya:
- Super Tux Kart
- World pamusoro Goo
- Shovel Knight: Chinyorwa cheTambudzo
- Celeste
- Balatro
- VVVVVV
- Usanetseka
- Kusungwa kwaIsaka: Kuberekwazve
- Hotline Miami 2: Yakashata Nhamba
Uyewo, Nekuda kwekubatanidzwa neWaini, Felix86 ine mukana wekumhanya zviri nyore Windows maapplication nemitambo mukati menzvimbo yeLinux paRISC-V, kunyangwe ichiri nediki nhanho yekuenderana.
Kana zviri zvehardware, bvunzo dzekutanga dzakaitwa pamabhodhi akadai Banana Pi BPI-F3 yakagadzirirwa neSpacemIT K1 SoC, pamwe nemakadhi emifananidzo akasiyana (AMD HD 7350, NVIDIA GTX 1050 Ti, AMD Radeon HD 7790). Kusarudzwa kwehardware kunokanganisa zvakanyanya chiitiko; Semuenzaniso, iyo HD 7350 inoita seinopa zvirinani mhedzisiro, nepo mutyairi tsigiro pane akasiyana Linux kugovera inogona kukanganisa magirafu kuita.
Kuita uye matambudziko makuru
Kunyangwe kufambira mberi, rimwe rematambudziko aFelix86 ari pachena ari mu kushanda. Maedzo ekutanga anoratidza mitengo ye pakati pe0,5 ne10 FPS mumitambo yakaita seNyika yeGoo kana SuperTuxKart, nhamba iyo, kunyange ichivimbisa shanduro yekutanga yakadaro, inoratidza kuti kuchine nzira yakareba yekuenda.
Iyo bottleneck inonyanya kuwanikwa mu JIT shanduro (iyo inofanirwa kuwana chiyero pakati pekubatanidza kumhanya uye optimization) uye mune ndangariro manejimendi, kupihwa kuomarara kunobatanidzwa mukugadzirisa iyo x86-64 memory modhi kuRISC-V pasina kukanganisa kugadzikana. Uyezve, kuenderana kwegraphical kunoenderana zvakanyanya nekuwanikwa kwevatyairi vakakodzera mukugoverwa kweLinux kunoshandiswa uye kubatanidzwa kwakaringana nehardware.
Iyo optimization ine chinangwa chekutora mukana wakazara weSIMD yekuwedzera yeRISC-V processors kukwikwidza nemamwe emulation mhinduro. Nekudaro, haisati yakwanisa kuenderana nemhinduro dzakakura, kunyanya paARM, uko dzimwe nzira dzave mukuvandudzwa kwenguva refu.
Dzimwe nzira kuna Felix86: rv8, Bhokisi64 uye Bhokisi32
Felix86 haisiriyo yega purojekiti inobata x86-64 emulation pane zvisiri zvekuzvarwa Hardware. Mamwe maturusi anozivikanwa mumunda uyu ndeaya rv8 y Bhokisi64 rine Bhokisi32, izvo, kunyangwe vachigovana chinangwa chakafanana, vanopa nzira dzakasiyana:
- rv8: Iyi RISC-V simulator isingashanduri chete x86-64 binaries, asiwo inopa zvishandiso zvekuongorora uye kugadzirisa kodhi muELF mabhinari. Nzira yavo inosanganisa kududzira uye kuunganidzwa kweanowanzo trajectories, optimize mashandiro chete muzvikamu zvinonyanya kudiwa nekushandisa. Yakanakira vagadziri uye vashandisi vepamberi vari kutsvaga yakakwana simulation ecosystem.
- Bhokisi64 uye Bhokisi32: Zvishandiso izvi, zvakakurumbira paARM, zvakawedzera rutsigiro rwavo kuRISC-V. Bhokisi64 rinokutendera kuti umhanye 64-bit zvirongwa, nepo Box32 ichipa rutsigiro rwemakumi matatu-bit maapplication.. Ose ari maviri anoshandisa shanduro ine simba uye anoratidza yepamberi kusanganisa neWaini, zvichiita kuti zvive nyore kumhanya Windows software. Ivo zvakare vanomira kunze kwekubatana kwavo kwakagadziridzwa neOpenGL neVulkan, iyo yakakosha kumitambo yemazuva ano.
Sarudzo pakati peimwe nzira kana imwe ichaenderana nezvinodiwa nemushandisi wega wega. Nepo rv8 ine simba zvakanyanya mukuyeresa-yepamusoro, Bhokisi64 uye Bhokisi32 zvinonyanya kushanda kune. Vashandisi vanongoda kumhanya x86 application paLinux paARM kana RISC-V, pasina akawanda ehunyanzvi matambudziko.. Felix86, kune chikamu chayo, inoramba yakatarisana nekugadzirisa iyo RISC-V chiitiko, kunyangwe ichiri kuda kukura kuti isvike padanho rekubatanidza graphical uye kuenderana kwedzimwe dzakasimbiswa dzimwe nzira.
Felix86 vs Bhokisi64/Bhokisi32: Kuenzanisa Tafura
Feature | Felix86 | Bhokisi64 rine Bhokisi32 |
---|---|---|
Yakatsigirwa zvivakwa | RISC-V | ARM, RISC-V |
Emulation type | JIT x86-64 kuenda kuRISC-V shanduro | Shanduro ine simba x86-64 kuenda kuARM/RISC-V |
Windows kugarisana | Chikamu kuburikidza newaini | Inoenderana neWaini paLinux |
Kuita mumitambo | Yakaderera (0,5-10 FPS) | Zvirinani paARM, yakaganhurirwa paRISC-V |
Graphic rutsigiro | Miedzo ine AMD HD 7350, NVIDIA GTX 1050 Ti | Kubatanidzwa kurinani neOpenGL/Vulkan |
Kugadziridza | RISC-V SIMD Extensions | Yakagadzirirwa kukurumidza kuuraya paARM uye RISC-V |
Budiriro nenharaunda | Emerging project, kuyedza paBanana Pi BPI-F3 | Consolidated project, tsigiro inoshanda |
Shandisa kesi | x86-64 Software paRISC-V | x86 Software paLinux paARM/RISC-V |
Felix86 kubheja kwechidiki uye nechishuvo, chakatarisana ne64% paRISC-V, nepo Bhokisi32 neBhokisiXNUMX vane rekodhi rekodhi uye rutsigiro paARM, izvo zvinovapa imwe mukana mukubatanidza nekuita, zvirinani izvozvi.
Maonero ebudiriro uye kubatanidzwa kwenharaunda
Felix86 ipurojekiti yakavhurika iyo, kunyangwe iri mumatanho ayo ekutanga, yatova nenharaunda inoshanda paGitHub uye inotsigira mipiro kubva kuvagadziri vanofarira emulation, compiler optimization, uye heterogeneous architecture research. Zvikonzero zvekuvandudzwa kwayo zvinobva pakudzidza kwakadzama kwex86-64, RISC-V neLinux, kune chishuwo chekugadzira mhinduro inoshanda uye inonakidza kunharaunda.
Iyo purojekiti inovaka pane zvakafanana zvirongwa zvakaita sePanda3DS, shadPS4, uye ChonkyStation3, iyo yakagadzira nzira munyika yekuyambuka-emulation uye yakakurudzira Felix86's modular chimiro. Uyezve, Kuburitswa kwezvitarisiko uye kuenderana rondedzero kunoitwa kazhinji, zvichiita kuti zvive nyore kune chero munhu anofarira kupa kana kuyedza emulator pamichina yavo yekutevera.
Kune avo vanoda kuona kana kutora chikamu mubudiriro, Felix86's source code yakavhurika uye inowanikwa paGitHub, pamwe neyakagadziridzwa runyorwa rwekuenderana uye zvinyorwa zvehunyanzvi.
Kubudirira kwaFelix86 inhau huru kunharaunda yeRISC-V uye vanofarira kutevedzera. Kunyangwe zvipingamupinyi zvekuita uye kuenderana zvichiripo, kuenderera mberi kweprojekiti kunovimbisa mibairo yakavandudzwa munguva pfupi iri kutevera. Chikamu che hardware libre uye zvivakwa zvitsva zvine muFelix86 chishandiso chakakosha kuita demokrasi kuwana software yakagadzirirwa mapuratifomu echinyakare, ichigadzira nzira yekugamuchirwa kukuru kweRISC-V munzvimbo dzepamba, dzehunyanzvi uye dzedzidzo.
Muchinjikwa-yekuvaka emulation icharamba iri inonakidza tekinoroji dambudziko, uye maturusi akaita saFelix86 ari kutungamira nzira kune inoshanduka-shanduka, inoshanda, uye inowanikwa komputa. Nekusimudzira kwega kwega, vashandisi veRISC-V vanoswedera kune yakakwana, isina musono mushandisi ruzivo.