自作CPU & 自作OSをやっていく (2) - 64ビットRISC-Vの "Hello World" をRustで作った
2020年1月から、趣味エンジニアリング活動として自作CPUと自作OSをやっていく。
今回は、64ビットRISC-V (RV64I) の “Hello World” をRustで作ったので、そのリポジトリの紹介。
自作CPU & 自作OS タグで、この前後の進捗とか目指しているもの(初回記事)とかを追えるようにしている。
2020年1月から、趣味エンジニアリング活動として自作CPUと自作OSをやっていく。
今回は、64ビットRISC-V (RV64I) の “Hello World” をRustで作ったので、そのリポジトリの紹介。
自作CPU & 自作OS タグで、この前後の進捗とか目指しているもの(初回記事)とかを追えるようにしている。
2020年1月から、趣味エンジニアリング活動として自作CPUと自作OSをやっていく。
第一回のこの記事では、目指してることとか、作りたい成果物とか、ロードマップとか、進捗とかを記録していく。インプットが増えたり手を動かしていくと色々と軌道修正があるだろうから、この記事は随時更新されていく。ChangeLogをご参考。
進捗報告は 自作CPU & 自作OS タグで追えるようにしておく。
“パタヘネ本” でおなじみの『コンピュータの構成と設計 第5版』の解答集です。読者は書籍を保有していることを前提として解答・解説を記載します。
訂正案などありましたら本ブログ記事のリポジトリ へPull-Requestくだされば幸いです😊
この記事4章の内容は、プロセッサを実現するハードウェアユニット・パイプライン処理・命令レベル並列化など、CPUに関する中核です。
“パタヘネ本” でおなじみの『コンピュータの構成と設計 第5版』の解答集です。読者は書籍を保有していることを前提として解答・解説を記載します。
訂正案などありましたら本ブログ記事のリポジトリ へPull-Requestくだされば幸いです😊
この記事3章の内容は、
です。
“パタヘネ本” でおなじみの『コンピュータの構成と設計 第5版』の解答集です。読者は書籍を保有していることを前提として解答・解説を記載します。
訂正案などありましたら本ブログ記事のリポジトリ へPull-Requestくだされば幸いです😊
この記事2章では、ひたすらMIPSアセンブリと戯れます。
Rustの特徴のひとつは、所有権(ownership)・移動(move)・借用(borrow)の概念です。これらがコンパイル時に厳格にチェックされることにより、古くから未定義挙動でプログラマを悩ませてきたダングリングポインタなどの問題がなくなり、メモリ安全性がもたらされます。
しかし一方で、自分で多少複雑なデータ構造を定義しようとする場合にはコンパイルを通すだけでもかなりの知識・力量が要求されます。
この(不定期)連載では、 Rustではじめるデータ構造とアルゴリズム と題し、プログラミングコンテストなどでよく見かける基礎的なデータ構造とアルゴリズムを、できるだけシンプルにRustで実装していきます。 &
, &mut
, Box
, Rc
, Cell
, RefCell
などの使い分けや、なぜそれを使う必要があるかの解説を、実例を通して行います。
今回第2回では、 二分探索木 を取り扱います。値の大小に沿った構造を持つ二分木であり、単純なデータ構造でありながら、検索やソートなど実用性が高いです。第1回の二分木に少し制約を付け足した構造になるので、未読の方はぜひ第1回のほうからご覧ください。
Rustの特徴のひとつは、所有権(ownership)・移動(move)・借用(borrow)の概念です。これらがコンパイル時に厳格にチェックされることにより、古くから未定義挙動でプログラマを悩ませてきたダングリングポインタなどの問題がなくなり、メモリ安全性がもたらされます。
しかし一方で、自分で多少複雑なデータ構造を定義しようとする場合にはコンパイルを通すだけでもかなりの知識・力量が要求されます。
この(不定期)連載では、 Rustではじめるデータ構造とアルゴリズム と題し、プログラミングコンテストなどでよく見かける基礎的なデータ構造とアルゴリズムを、できるだけシンプルにRustで実装していきます。 &
, &mut
, Box
, Rc
, Cell
, RefCell
などの使い分けや、なぜそれを使う必要があるかの解説を、実例を通して行います。
第1回は、最もシンプルな木構造である 二分木 を取り扱います。基礎的な木構造なので、再帰・深さ優先探索・幅優先探索のエッセンスを集中的に理解することが期待できます。
各回共通し、以下のような構成を予定しています。
全世界のプレイングマネージャーに捧ぐ・・・
自分自身がプレイングマネージャー的な役割をこなす場面があるときに、「プレイヤー仕事たのし〜」「マネージメント仕事戻るの気が重いよ〜〜」となることがあります。多々あります。
そんな自分を慰めるために、自分の心に秘めた独自理論があります。名付けて
です。
一生自分の胸だけに秘めるつもりだったのですが、同僚と1on1してポロッと話してみたら意外とウケたので、増長してブログに書きました。
活動報告。
Rustで簡潔データ構造のライブラリを3つリリースしました。
これらの簡潔データ構造に興味のある方、APIを綺麗に整備してREADMEも分かりやすく書いたつもりですので、是非スターをお願いします✌
2018/02/18に開催された Backlog World にブログレポーター枠として参加してきました。
■ Backlog Worldとは?
Backlog Worldは、プロジェクト管理に関わる全ての方のための祭典です。一言でプロジェクト管理と言っても、業種や職種、チームの規模、プロジェクトの期間などは様々。それでも、どんなプロジェクトでも、「仲間とコラボレーションしてプロジェクトを進める」ということは必須です。
Backlog Worldでは、どのようにプロジェクト管理を行なっているのか、様々な立場の方による知見のシェアが行われます。実例に基づいたセッションの中に、あなたのチームで取り入れられるヒントがきっとあるはず。
この記事では自分の参加したセッションに触れ、その中でも特に印象に残った「アジャイル開発とプロジェクト管理ツールの相性」のセッションについて詳しく感想を書きます。