Linux Foundation ืชืขื‘ื•ื“ ืขืœ ืฉื‘ื‘ื™ ืงื•ื“ ืคืชื•ื—

ืงืจืŸ ืœื™ื ื•ืงืก ื”ืฉื™ืงื” ื›ื™ื•ื•ืŸ ื—ื“ืฉ - ื‘ืจื™ืช CHIPS. ื‘ืžืกื’ืจืช ืคืจื•ื™ืงื˜ ื–ื” ื™ืคืชื— ื”ืืจื’ื•ืŸ ืืช ืžืขืจื›ืช ื”ื”ื•ืจืื•ืช ื”ื—ื™ื ืžื™ืช RISC-V ื•ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ืœื™ืฆื™ืจืช ืžืขื‘ื“ื™ื ื”ืžื‘ื•ืกืกื™ื ืขืœื™ื”. ืชื ื• ืœื ื• ืœืกืคืจ ืœื›ื ื‘ื™ืชืจ ืคื™ืจื•ื˜ ืžื” ืงื•ืจื” ื‘ืชื—ื•ื ื–ื”.

Linux Foundation ืชืขื‘ื•ื“ ืขืœ ืฉื‘ื‘ื™ ืงื•ื“ ืคืชื•ื—
/ ืชืžื•ื ื” ื’ืืจืช 'ื—ืฆื™ืืงืจื™ CC BY-SA

ืžื“ื•ืข ื”ื•ืคื™ืขื” ื‘ืจื™ืช ืฆ'ื™ืคืก?

ืชื™ืงื•ื ื™ ื”ื’ื ื” ืžืคื ื™ Meltdown ื•-Spectre, ื‘ืžืงืจื™ื ืžืกื•ื™ืžื™ื ืœื”ืคื—ื™ืช ืืช ื”ืชืคื•ืงื” ืฉืจืชื™ื ื‘-50%. ื‘ืžืงื‘ื™ืœ, ืขื“ื™ื™ืŸ ืฆืฆื•ืช ื•ืจื™ืืฆื™ื•ืช ื—ื“ืฉื•ืช ืฉืœ ืคื’ื™ืขื•ื™ื•ืช ื”ืงืฉื•ืจื•ืช ืœื‘ื™ืฆื•ืข ืคืงื•ื“ื•ืช ืกืคืงื•ืœื˜ื™ื‘ื™ื•ืช. ืขืœ ืื—ื“ ืžื”ื ื ื•ื“ืข ื‘ืชื—ื™ืœืช ืžืจืฅ - ืžื•ืžื—ื™ ืื‘ื˜ื—ืช ืžื™ื“ืข ื›ื™ื ื• ืืช ื–ื” ืกืคื•ื™ืœืจ. ื”ืžืฆื‘ ื”ื–ื” ืžืฉืคื™ืข ืืช ื”ื“ื™ื•ืŸ ื”ืฆื•ืจืš ืœืกืงื•ืจ ืคืชืจื•ื ื•ืช ื—ื•ืžืจื” ืงื™ื™ืžื™ื ื•ื’ื™ืฉื•ืช ืœืคื™ืชื•ื—ื. ื‘ืžื™ื•ื—ื“ ืื™ื ื˜ืœ ื›ื‘ืจ ืžืชื›ื•ื ื ื™ื ืืจื›ื™ื˜ืงื˜ื•ืจื” ื—ื“ืฉื” ืขื‘ื•ืจ ื”ืžืขื‘ื“ื™ื ืฉืœื”, ืœื ื›ืคื•ืคื” ืœ-Meltdown ื•-Spectre.

ื’ื ืงืจืŸ ืœื™ื ื•ืงืก ืœื ืขืžื“ื” ืžื ื’ื“. ื”ืืจื’ื•ืŸ ื”ืฉื™ืง ื™ื•ื–ืžื” ืžืฉืœื•, CHIPS Alliance, ืฉื—ื‘ืจื™ื” ื™ืคืชื—ื• ืžืขื‘ื“ื™ื ืžื‘ื•ืกืกื™ RISC-V.

ืื™ืœื• ืคืจื•ื™ืงื˜ื™ื ื›ื‘ืจ ืžืคื•ืชื—ื™ื?

ื—ื‘ืจื™ CHIPS Alliance ื›ื•ืœืœื™ื ืืช ื’ื•ื’ืœ, Western Digital (WD) ื•-SiFive. ื›ืœ ืื—ื“ ืžื”ื ื”ืฆื™ื’ ืืช ื”ื”ืชืคืชื—ื•ื™ื•ืช ืฉืœื•. ื‘ื•ืื• ื ื“ื‘ืจ ืขืœ ื›ืžื” ืžื”ื.

RISCV-DV

ืขื ืงื™ืช ื—ื™ืคื•ืฉ ื”-IT ืคืจืกืžื” ืคืœื˜ืคื•ืจืžื” ืœื‘ื“ื™ืงืช ืžืขื‘ื“ื™ื ืžื‘ื•ืกืกื™ RISC-V ืœืงื•ื“ ืคืชื•ื—. ืคืชืจื•ืŸ ืืงืจืื™ ืžื™ื™ืฆืจ ืฆื•ื•ืชื™ื ืฉ ะฟะพะทะฒะพะปััŽั‚ ื‘ื“ื•ืง ืืช ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืœ ื”ืžื›ืฉื™ืจ: ื‘ื“ื™ืงืช ืชื”ืœื™ื›ื™ ืžืขื‘ืจ, ืขืจื™ืžื•ืช ืฉื™ื—ื•ืช, CSR- ืจื™ืฉื•ืžื™ื ื•ื›ื•'.

ืœื“ื•ื’ืžื”, ื›ืš ื ืจืื™ืช ื”ื›ื™ืชื”ืื—ืจืื™ ืขืœ ื‘ื™ืฆื•ืข ื‘ื“ื™ืงื” ืคืฉื•ื˜ื” ืฉืœ โ€‹โ€‹ื”ื•ืจืื•ืช ื—ืฉื‘ื•ืŸ:

class riscv_arithmetic_basic_test extends riscv_instr_base_test;

  `uvm_component_utils(riscv_arithmetic_basic_test)
  `uvm_component_new

  virtual function void randomize_cfg();
    cfg.instr_cnt = 10000;
    cfg.num_of_sub_program = 0;
    cfg.no_fence = 1;
    cfg.no_data_page = 1'b1;
    cfg.no_branch_jump = 1'b1;
    `DV_CHECK_RANDOMIZE_WITH_FATAL(cfg,
                                   init_privileged_mode == MACHINE_MODE;
                                   max_nested_loop == 0;)
    `uvm_info(`gfn, $sformatf("riscv_instr_gen_config is randomized:n%0s",
                    cfg.sprint()), UVM_LOW)
  endfunction

endclass

ืขืœ ืขืœ ืคื™ ืžืคืชื—ื™ื, ื”ืคืœื˜ืคื•ืจืžื” ืฉื•ื ื” ืžื”ืื ืœื•ื’ื™ื ืฉืœื” ื‘ื›ืš ืฉื”ื™ื ืžืืคืฉืจืช ื‘ื“ื™ืงื” ืจืฆื™ืคื” ืฉืœ ื›ืœ ืจื›ื™ื‘ื™ ื”ืฉื‘ื‘, ื›ื•ืœืœ ื‘ืœื•ืง ื”ื–ื™ื›ืจื•ืŸ.

ืคืจื•ื˜ื•ืงื•ืœ OmniXtend

ื–ื”ื• ืคืจื•ื˜ื•ืงื•ืœ ืจืฉืช ืž-WD ื”ืžืกืคืง ืงื•ื”ืจื ื˜ื™ื•ืช ืžื˜ืžื•ืŸ ืขืœ Ethernet. OmniXtend ืžืืคืฉืจ ืœืš ืœื”ื—ืœื™ืฃ ื”ื•ื“ืขื•ืช ื™ืฉื™ืจื•ืช ืขื ืžื˜ืžื•ืŸ ื”ืžืขื‘ื“ ื•ืžืฉืžืฉ ืœื—ื™ื‘ื•ืจ ืกื•ื’ื™ื ืฉื•ื ื™ื ืฉืœ ืžืื™ืฆื™ื: GPU ืื• FPGA. ื”ื•ื ืžืชืื™ื ื’ื ืœื™ืฆื™ืจืช ืžืขืจื›ื•ืช ื”ืžื‘ื•ืกืกื•ืช ืขืœ ืฉื‘ื‘ื™ RISC-V ืžืจื•ื‘ื™ื.

ืคืจื•ื˜ื•ืงื•ืœ ื›ื‘ืจ ื ืชืžืš ืฉื‘ื‘ื™ SweRVืžื›ื•ื•ืŸ ืœืขื™ื‘ื•ื“ ื ืชื•ื ื™ื ื‘ืžืจื›ื–ื™ ื ืชื•ื ื™ื. SweRV ื”ื•ื ืžืขื‘ื“ ืกื•ืคืจ-ืกืงืœืืจื™ ื‘ืขืœ 32 ืกื™ื‘ื™ื•ืช ื“ื•-ืฆื™ื ื•ืจื•ืช ื”ื‘ื ื•ื™ ืขืœ ื˜ื›ื ื•ืœื•ื’ื™ื™ืช ืชื”ืœื™ืš ืฉืœ 28 ื ื ื•ืžื˜ืจ. ืœื›ืœ ืฆื™ื ื•ืจ ื™ืฉ ืชืฉืข ืจืžื•ืช, ืžื” ืฉืžืืคืฉืจ ืœื˜ืขื•ืŸ ื•ืœื‘ืฆืข ืžืกืคืจ ืคืงื•ื“ื•ืช ื‘ื• ื–ืžื ื™ืช. ื”ืžื›ืฉื™ืจ ืคื•ืขืœ ื‘ืชื“ืจ ืฉืœ 1,8 ื’ื™ื’ื”-ื”ืจืฅ.

ื’ื ืจื˜ื•ืจ ืจื•ืงื˜ ืฉื‘ื‘

ื”ืคืชืจื•ืŸ ื”ื•ื ืžื‘ื™ืช SiFive, ืืฉืจ ื”ื•ืงืžื” ืขืœ ื™ื“ื™ ืžืคืชื—ื™ ื˜ื›ื ื•ืœื•ื’ื™ื™ืช RISC-V. ืฉื‘ื‘ ืจื•ืงื˜ ื”ื•ื ืžื—ื•ืœืœ ืœื™ื‘ื” ืฉืœ ืžืขื‘ื“ RISC-V ื‘ืฉืคืช ืื–ืžืœ. ื”ื•ื ื”ื•ื ืงื‘ื•ืฆื” ืฉืœ ืกืคืจื™ื•ืช ืขื ืคืจืžื˜ืจื™ื ื”ืžืฉืžืฉื™ื ืœื™ืฆื™ืจื” SoC.

ื‘ื™ื—ืก ืึดื–ึฐืžึตืœ, ืื– ื–ื•ื”ื™ ืฉืคืช ืชื™ืื•ืจ ื—ื•ืžืจื” ื”ืžื‘ื•ืกืกืช ืขืœ Scala. ื–ื” ืžื™ื™ืฆืจ ืงื•ื“ Verilog ื‘ืจืžื” ื ืžื•ื›ื” ะฟะพะดั…ะพะดะธั‚ ืœืขื™ื‘ื•ื“ ืขืœ ASIC ื•-FPGA. ืœืคื™ื›ืš, ื–ื” ืžืืคืฉืจ ืœืš ืœื”ืฉืชืžืฉ ื‘ืขืงืจื•ื ื•ืช OOP ื‘ืขืช ื”ืคื™ืชื•ื— RTL.

ืกื™ื›ื•ื™ื™ ื”ื‘ืจื™ืช

ืžื•ืžื—ื™ื ืื•ืžืจื™ื ืฉื”ื™ื•ื–ืžื” ืฉืœ ืงืจืŸ ืœื™ื ื•ืงืก ืชื”ืคื•ืš ืืช ืฉื•ืง ื”ืžืขื‘ื“ื™ื ืœื“ืžื•ืงืจื˜ื™ ื™ื•ืชืจ ื•ืคืชื•ื— ืœืฉื—ืงื ื™ื ื—ื“ืฉื™ื. ื‘ื‘ื™ื ืชื—ื•ืžื™ ืœื—ื’ื•ื’ืฉืœืคื•ืคื•ืœืจื™ื•ืช ื”ื’ื•ื‘ืจืช ืฉืœ ืคืจื•ื™ืงื˜ื™ื ื›ืืœื” ืชื”ื™ื” ื”ืฉืคืขื” ื—ื™ื•ื‘ื™ืช ืขืœ ืคื™ืชื•ื— ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืžืขืจื›ื•ืช AI ื‘ื›ืœืœ.

Linux Foundation ืชืขื‘ื•ื“ ืขืœ ืฉื‘ื‘ื™ ืงื•ื“ ืคืชื•ื—
/ ืชืžื•ื ื” ืคืจื™ืฆ'ื ืก ืคืจื™ืฅ PD

ืคื™ืชื•ื— ืžืขื‘ื“ื™ ืงื•ื“ ืคืชื•ื— ื™ืงื˜ื™ืŸ ื’ื ืืช ืขืœื•ืช ืขื™ืฆื•ื‘ ื”ืฉื‘ื‘ื™ื ื”ืžื•ืชืืžื™ื ืื™ืฉื™ืช. ืขื ื–ืืช, ื–ื” ื™ืงืจื” ืจืง ืื ืงื”ื™ืœืช Linux Foundation ืชืฆืœื™ื— ืœืžืฉื•ืš ืžืกืคื™ืง ืžืคืชื—ื™ื.

ืคืจื•ื™ืงื˜ื™ื ื“ื•ืžื™ื

ืืจื’ื•ื ื™ื ืื—ืจื™ื ืžืคืชื—ื™ื ื’ื ืคืจื•ื™ืงื˜ื™ื ื”ืงืฉื•ืจื™ื ืœื—ื•ืžืจื” ืคืชื•ื—ื”. ื“ื•ื’ืžื” ืœื›ืš ื”ื™ื ืงื•ื ืกื•ืจืฆื™ื•ื CXL, ืฉื”ืฆื™ื’ ืืช ืชืงืŸ Compute Express Link ื‘ืืžืฆืข ืžืจืฅ. ื”ื˜ื›ื ื•ืœื•ื’ื™ื” ืžืงื‘ื™ืœื” ืœ-OmniXtend ื•ืžื—ื‘ืจืช ื’ื CPU, GPU, FPGA. ืœื”ื—ืœืคืช ื ืชื•ื ื™ื, ื”ืชืงืŸ ืžืฉืชืžืฉ ื‘ืืคื™ืง PCIe 5.0.

ืคืจื•ื™ืงื˜ ื ื•ืกืฃ ื”ืžื•ืงื“ืฉ ืœืคื™ืชื•ื— ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ืžืขื‘ื“ ื”ื•ื MIPS Open, ืฉื”ื•ืคื™ืข ื‘ื“ืฆืžื‘ืจ 2018. ื”ื™ื•ื–ืžื” ื ื•ืฆืจื” ืขืœ ื™ื“ื™ ื”ืกื˜ืืจื˜-ืืค Wave Computing. ื”ื™ื–ืžื™ื ืžืชื›ื ื ื™ื ืœืคืชื•ื— ื’ื™ืฉื” ืœืžืขืจื›ื•ืช ื”ืคืงื•ื“ื•ืช ื”ืื—ืจื•ื ื•ืช ืฉืœ 32 ื•-64 ืกื™ื‘ื™ื•ืช MIPS ืขื‘ื•ืจ ืงื”ื™ืœืช ื”-IT. ืชื—ื™ืœืช ื”ืคืจื•ื™ืงื˜ ืฆืคื•ื™ ื‘ื—ื•ื“ืฉื™ื ื”ืงืจื•ื‘ื™ื.

ื‘ืื•ืคืŸ ื›ืœืœื™, ื’ื™ืฉืช ื”ืงื•ื“ ื”ืคืชื•ื— ื”ื•ืคื›ืช ืœืžืงื•ื‘ืœืช ืœื ืจืง ืขื‘ื•ืจ ืชื•ื›ื ื”, ืืœื ื’ื ืขื‘ื•ืจ ื—ื•ืžืจื”. ืคืจื•ื™ืงื˜ื™ื ื›ืืœื” ื ืชืžื›ื™ื ืขืœ ื™ื“ื™ ื—ื‘ืจื•ืช ื’ื“ื•ืœื•ืช. ืœื›ืŸ, ืื ื• ื™ื›ื•ืœื™ื ืœืฆืคื•ืช ืฉื‘ืขืชื™ื“ ื”ืงืจื•ื‘ ื™ื•ืคื™ืขื• ื‘ืฉื•ืง ื™ื•ืชืจ ืžื›ืฉื™ืจื™ื ื”ืžื‘ื•ืกืกื™ื ืขืœ ืชืงื ื™ ื—ื•ืžืจื” ืคืชื•ื—ื™ื.

ื”ืคื•ืกื˜ื™ื ื”ืื—ืจื•ื ื™ื ืžื”ื‘ืœื•ื’ ื”ืืจื’ื•ื ื™ ืฉืœื ื•:

ืคื•ืกื˜ื™ื ืžืขืจื•ืฅ ื”ื˜ืœื’ืจื ืฉืœื ื•:

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”