# books

timestamp: 2022-01-26 19:07:24.673071
pubdate: 2017-05-22 00:00:00.000000
author_sort: Patterson, David A. & Hennessy, John L.
uuid: d9ca2b32-86e5-4bfb-ae0e-331a998bb1e2
last_modified: 2022-01-26 19:08:31.653065
title:
Computer Organization and Design RISC-V Edition: The Hardware Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design)

sort:
Computer Organization and Design RISC-V Edition: The Hardware Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design)

path:
David A. Patterson/Computer Organization and Design RISC-V Edition_ The Hardware Software Interface (The Morgan Kaufmann Series in Computer Archite (47)


title: RISC-VとChiselで学ぶ-はじめてのCPU自作-――オープンソース命令セットによるカスタムCPU実装への第一歩
sort: RISC-VとChiselで学ぶ-はじめてのCPU自作-――オープンソース命令セットによるカスタムCPU実装への第一歩
timestamp: 2022-06-11 05:23:03.815875
pubdate: 0101-01-01 00:00:00.000000
author_sort: Yutaro Aki, Kenta Ina
uuid: 1155627a-3b99-436f-a3df-b563e471634c
last_modified: 2022-06-11 05:26:00.785773
path:
Yutaro Aki, Kenta Ina/RISC-VtoChiseldeXue bu-hazimetenoCPUZi Zuo -----opunsosuMing Ling setsutoniyorukasutamuCPUShi Zhuang henoDi Yi Bu (52)


timestamp: 2023-07-24 05:56:39.503172
pubdate: 0101-01-01 00:00:00.000000
author_sort: 未知
uuid: ee797006-c420-4608-aa81-ba38269be22b
last_modified: 2023-07-24 05:59:23.280164
title:
Introduction to High Performance Computing for Scientists and Engineers (Chapman & Hall/CRC Computational Science)

sort:
Introduction to High Performance Computing for Scientists and Engineers (Chapman & Hall/CRC Computational Science)

path:
未知/Introduction to High Performance Computing for Scientists and Engineers (Chapman & Hall_CRC Comp (73)


# comments

text:
<p>The book is for compiler programmers who are familiar with concepts of compilers and want to indulge in understanding, exploring, and using LLVM infrastructure in a meaningful way in their work. This book is also for programmers who are not directly involved in compiler projects but are often involved in development phases where they write thousands of lines of code. With knowledge of how compilers work, they will be able to code in an optimal way and improve performance with clean code.</p>


text:
<p>Learn how to build and use all parts of real-world compilers, including the frontend, optimization pipeline, and a new backend by leveraging the power of LLVM core libraries Key Features Get to grips with effectively using LLVM libraries step-by-step Understand LLVM compiler high-level design and apply the same principles to your own compiler Use compiler-based tools to improve the quality of code in C++ projects Book Description LLVM was built to bridge the gap between compiler textbooks and actual compiler development. It provides a modular codebase and advanced tools which help developers to build compilers easily. This book provides a practical introduction to LLVM, gradually helping you navigate through complex scenarios with ease when it comes to building and working with compilers. You'll start by configuring, building, and installing LLVM libraries, tools, and external projects. Next, the book will introduce you to LLVM design and how it works in practice during each LLVM compiler stage: frontend, optimizer, and backend. Using a subset of a real programming language as an example, you will then learn how to develop a frontend and generate LLVM IR, hand it over to the optimization pipeline, and generate machine code from it. Later chapters will show you how to extend LLVM with a new pass and how instruction selection in LLVM works. You'll also focus on Just-in-Time compilation issues and the current state of JIT-compilation support that LLVM provides, before finally going on to understand how to develop a new backend for LLVM. By the end of this LLVM book, you will have gained real-world experience in working with the LLVM compiler development framework with the help of hands-on examples and source code snippets. What you will learn Configure, compile, and install the LLVM framework Understand how the LLVM source is organized Discover what you need to do to use LLVM in your own projects Explore how a compiler is structured, and implement a tiny compiler Generate LLVM IR for common source language constructs Set up an optimization pipeline and tailor it for your own needs Extend LLVM with transformation passes and clang tooling Add new machine instructions and a complete backend Who this book is for This book is for compiler developers, enthusiasts, and engineers who are new to LLVM and are interested in learning about the LLVM framework. It is also useful for C++ software engineers looking to use compiler-based tools for code analysis and improvement, as well as casual users of LLVM libraries who want to gain more knowledge of LLVM essentials. Intermediate-level experience with C++ programming is mandatory to understand the concepts covered in this book more effectively.</p>


text:
<p><span>Learn how to build and use all parts of real-world compilers, including the frontend, optimization pipeline, and a new backend by leveraging the power of LLVM core libraries Key Features Get to grips with effectively using LLVM libraries step-by-step Understand LLVM compiler high-level design and apply the same principles to your own compiler Use compiler-based tools to improve the quality of code in C++ projects Book Description LLVM was built to bridge the gap between compiler textbooks and actual compiler development. It provides a modular codebase and advanced tools which help developers to build compilers easily. This book provides a practical introduction to LLVM, gradually helping you navigate through complex scenarios with ease when it comes to building and working with compilers. You'll start by configuring, building, and installing LLVM libraries, tools, and external projects. Next, the book will introduce you to LLVM design and how it works in practice during each LLVM compiler stage: frontend, optimizer, and backend. Using a subset of a real programming language as an example, you will then learn how to develop a frontend and generate LLVM IR, hand it over to the optimization pipeline, and generate machine code from it. Later chapters will show you how to extend LLVM with a new pass and how instruction selection in LLVM works. You'll also focus on Just-in-Time compilation issues and the current state of JIT-compilation support that LLVM provides, before finally going on to understand how to develop a new backend for LLVM. By the end of this LLVM book, you will have gained real-world experience in working with the LLVM compiler development framework with the help of hands-on examples and source code snippets. What you will learn Configure, compile, and install the LLVM framework Understand how the LLVM source is organized Discover what you need to do to use LLVM in your own projects Explore how a compiler is structured, and implement a tiny compiler Generate LLVM IR for common source language constructs Set up an optimization pipeline and tailor it for your own needs Extend LLVM with transformation passes and clang tooling Add new machine instructions and a complete backend Who this book is for This book is for compiler developers, enthusiasts, and engineers who are new to LLVM and are interested in learning about the LLVM framework. It is also useful for C++ software engineers looking to use compiler-based tools for code analysis and improvement, as well as casual users of LLVM libraries who want to gain more knowledge of LLVM essentials. Intermediate-level experience with C++ programming is mandatory to understand the concepts covered in this book more effectively.</span></p>


text:
<p><span>IME-Diamond处理器是一款VLIW结构的多核处理器,具有多个通道,可并行执行多条指令.为了充分利用多通道并行执行的特性,IME-Diamond处理器需要编译器提供并行度信息来实现指令并行.开源的LLVM 编译器架构为编译器的移植和优化提供了一个便利的平台.在此平台上可以配置和插入相应的Pass模块对指令进行分析与静态调度,并根据分析结果插入Paralink指令来显式的指示出指令的并行度,指导硬件并行发射.实验结果表明,通过并行调度后,生成代码的性能提升了16%～30%.</span></p>


text:
<p>Digital Design and Computer Architecture, (2021) IBC1-IBC2. doi:10.1016/B978-0-12-820064-3.00025-8</p>


text:
<p><span><span>本文档</span><span>解释了如何</span></span><wbr></wbr><span><span>使用加州大学伯克利分校开发的开源指令集 (ISA) “RISC-V”来制作 CPU 。</span></span><wbr></wbr><span><span>我们将以通俗易懂的方式从基础知识中学习，以便即使对计算机体系结构和</span></span><wbr></wbr><span><span>硬件了解不多的人也可以理解。</span><span>在解释了 CPU 和计算机体系结构的机制之后，</span></span><wbr></wbr><span><span>从基本整数指令的实现、</span></span><wbr></wbr><span><span>在加速 CPU 中活跃的流水线的实现、</span></span><wbr></wbr><span><span>在超级计算机中也活跃的向量扩展指令 (SIMD)</span></span><wbr></wbr><span><span>以及</span></span><wbr></wbr><span><span>在通用 CPU 上的负载。甚至实现了可以添加到 CPU 的自定义指令，以更高的速度执行高速处理。</span></span><wbr></wbr><span><span>Chisel 是一种抽象 Velilog 的 HDL（硬件描述语言），</span><span>用作 CPU 设计的基本语言。</span></span><br><span><span>关于自制CPU的范围，</span></span><wbr></wbr><span><span>我们不检查FPGA的运行情况，程序复杂，</span></span><wbr></wbr><span><span>目标是软件仿真，</span></span><wbr></wbr><span><span>软件工程师很容易上手。</span></span><br><span><span>在书的最后，</span><span>我们总结了 RISC-V 带来的价值，</span></span><wbr></wbr><span><span>以梳理 RISC-V 这几天备受关注的原因。</span></span></p>


text:
<p><span>This new, expanded textbook describes all phases of a modern compiler: lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection via tree matching, dataflow analysis, graph-coloring register allocation, and runtime systems. It includes good coverage of current techniques in code generation and register allocation, as well as functional and object-oriented languages, that are missing from most books. In addition, more advanced chapters are now included so that it can be used as the basis for a two-semester or graduate course. The most accepted and successful techniques are described in a concise way, rather than as an exhaustive catalog of every possible variant. Detailed descriptions of the interfaces between modules of a compiler are illustrated with actual C header files. The first part of the book, Fundamentals of Compilation, is suitable for a one-semester first course in compiler design. The second part, Advanced Topics, which includes the advanced chapters, covers the compilation of object-oriented and functional languages, garbage collection, loop optimizations, SSA form, loop scheduling, and optimization for cache-memory hierarchies.</span></p>


text:
<p>Drawing on an impressive roster of experts in the field, <strong>Fundamentals of Computer Graphics, Fifth Edition</strong> offers an ideal resource for computer course curricula as well as a user-friendly personal or professional reference</p>


# data

format: PDF
name:
Computer Organization and Design RISC-V Edition_ The Hardware Software Interface (The Morgan Kaufmann Series in Computer Archite - David A. Patterson


format: PDF
name:
RISC-VtoChiseldeXue bu-hazimetenoCPUZi Zuo -----opunsosuMing Ling setsutoniyorukasutamuCPUShi Zhuang henoDi Yi Bu - Yutaro Aki, Kenta Ina


