Can Data-Oriented-Design be Improved?programming • Modules • 2000s • Template metaprogramming • Concurrency • 2020s • ??? 3What is DoD about? • DoD (“Data oriented design”) • Not about cache lines, nor struct layout (at its core) • From wikipedia: 4Minimalist definition of DoD 𝐷𝑎𝑡𝑎!"#$"# = 𝐹(𝐷𝑎𝑡𝑎%&$"#) Transformation Input Data Output Data Specific transformation Previous transformation Next transformation 5How DoD is used in actual ChatGPT… 7 That’s cool, but it won’t get us very far…How can we improve it? (second try) • At its core DoD is just: 𝐷𝑎𝑡𝑎!"#$"# = 𝐹(𝐷𝑎𝑡𝑎%&$"#) • … With a heavy focus on the data. • What if we looked0 码力 | 39 页 | 1.18 MB | 6 月前3
Embracing an Adversarial Mindset for Cpp SecurityMalware Research # @ Endgame 0x40200B Malware Research # @ Fireeye 0x40201A Computer Forensics # @ DoD PREVIOUS 0x40D021 Blackhat, RSA, DEFCON, 0x40D02B 44Con, CanSecWest 0x40D02E BsidesSF, WiCys 0x40D0320 码力 | 92 页 | 3.67 MB | 6 月前3
Just-in-Time Compilation - J F Bastien - CppCon 2020carry much more semantic information implicitly. Here, think of examples where a single bytecode instruction might do a full matrix multiplication, or change the prototype of a class. There are much higher architecture on another architecture. Dynamic binary translation: execute the program from one Instruction Set Architecture in another (or the same) ISA, performing the translation dynamically. In other dynamic optimization system that is capable of transparently improving the performance of a native instruction stream as it executes on the processor. Focus its efforts on optimization opportunities that0 码力 | 111 页 | 3.98 MB | 6 月前3
MoonBit月兔编程语言 现代编程思想 第十四课 案例:堆栈虚拟机
local.set 控制流: if/else call 7 类型定义 数据 1. enum Value { I32(Int) } // 只考虑32位有符号整数 指令 1. enum Instruction { 2. Const(Int) // 常数 3. Add; Sub; Modulo; Equal // // 函数调⽤ 5. Local_Get(String); Local_Set(String) // 取值、设值 6. If(Int, List[Instruction], List[Instruction]) // 条件判断 7. } 8 类型定义 函数 1. struct Function { 2. name : String 3. // 只考虑⼀种数据 称和数量 4. params : List[String]; result : Int; locals : List[String] 5. instructions : List[Instruction] 6. } 程序 1. struct Program { 2. functions : List[Function] 3. start : Option[String] 4. }0 码力 | 31 页 | 594.38 KB | 1 年前3
C++ Memory Model: from C++11 to C++23www.linkedin.com/in/alexdathskovsky INO Execution • instruction fetch • if operands available execute it if not fetch them • The instruction is executed by the functional unit • The functional unit Scheduling • instruction fetched • instruction dispatched to instruction que • The instruction waits in the que untils its input operand are available • if operands available instruction is allowed to to leave the queue before other instructions • The instruction is issued to a functional unit • Only if all older instructions have completed the operation the result is written to register fileAlex0 码力 | 112 页 | 5.17 MB | 6 月前3
The RISC-V Reader:
An Open Architecture AtlasFirst Edition, 1.0.0 - 2021designer of the Digital PDP-11 and VAX-11 instruction set architectures This handy little book effortlessly summarizes all the essential elements of the RISC-V Instruction Set Architecture, a perfect reference of the inventors of RAID storage systems RISC-V is a fine choice for students to learn about instruction set architecture and assembly-level programming, the basic underpinnings for later work in higher-level were doing that now, I’d happily use this book. —John Mashey, one of the designers of the MIPS instruction set architecture This book tells what RISC-V can do and why its designers chose to endow it with0 码力 | 232 页 | 5.16 MB | 1 年前3
Guia prático RISC-V
Atlas de uma Arquitetura Aberta
Primeira edição, 1.0.0Computing Machinery. Na década de 1980, ele liderou quatro gerações de projetos RISC (Reduced Instruction Set Computer), que inspiraram o mais recente RISC de Berkeley a ser chamado de "RISC Five". Juntamente objetivo do RISC-V (“RISC five”) é tornar-se uma arquitetura de conjunto de instruções universal (Instruction Set Architecture—ISA). Para isso, ele deve satisfazer alguns requisitos: • Atender a todos os outro exemplo de elegância ISA, em comparação com as numerosas instruções de força bruta Single Instruction Multiple Data (SIMD) do ARM-32, MIPS-32 e x86-32. De fato, centenas de instruções adicionadas ao0 码力 | 215 页 | 21.77 MB | 1 年前3
The Zig Programming Language 0.12.0 Documentationthe stack memory: stack_trace_struct.zig pub const StackTrace = struct { index: usize, instruction_addresses: [N]usize, }; Here, N is the maximum function call depth as determined by call graph "no-inline" in LLVM IR fn __zig_return_error(stack_trace: *StackTrace) void { stack_trace.instruction_addresses[stack_trace.index] = @returnAddress(); stack_trace.index = (stack_trace.index + 1) actually zero. What is a return statement in code without error return tracing can become a jump instruction in code with error return tracing. Optionals One area that Zig provides safety without compromising0 码力 | 241 页 | 7.37 MB | 1 年前3
The Zig Programming Language 0.5.0 Documentationvector is a group of Integers, Floats, or Pointers which are operated on in parallel using a single instruction (SIMD). Vector types are created with the builtin function @Vector. TODO talk about C ABI interop initialize this struct in the stack memory: pub const StackTrace = struct { index: usize, instruction_addresses: [N]usize, }; Here, N is the maximum function call depth as determined by call graph "no-inline" in LLVM IR fn __zig_return_error(stack_trace: *StackTrace) void { stack_trace.instruction_addresses[stack_trace.index] = @returnAddres stack_trace.index = (stack_trace.index + 1) %0 码力 | 224 页 | 5.80 MB | 1 年前3
PyArmor Documentation v5.6.5any more. For example, change instruction JZ to JNZ, so that _pytransform.so can execute even if checking license failed How JIT works? First PyArmor defines an instruction set based on GNU lightning. Then write some core functions by this instruction set in c file, maybe like this: t_instruction protect_set_key_iv = { // function 1 0x80001, 0x50020, ... // function 2 0x80001 0x80001, 0xA0F80, ... } t_instruction protect_decrypt_buffer = { // function 1 0x80021, 0x52029, ... // function 2 0x80001, 0xC0901, ... } Build _pytransform.so, calculate0 码力 | 103 页 | 86.97 KB | 1 年前3
共 635 条
- 1
- 2
- 3
- 4
- 5
- 6
- 64
相关搜索词
CanDataOrientedDesignbeImprovedEmbracinganAdversarialMindsetforCppSecurityJustinTimeCompilationBastienCppCon2020MoonBit编程语言编程语言现代思想第十十四第十四案例堆栈虚拟虚拟机C++MemoryModelfrom11to23TheRISCReaderAnOpenArchitectureAtlasFirstEdition1.02021GuiaprticoAtlasdeumaArquiteturaAbertaPrimeiraedizigPyArmorDocumentationv56.5













