**BIO:** *バオI/Oコプロセッサ*

2026/03/21 4:20

**BIO:** *バオI/Oコプロセッサ*

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

(抜けている詳細を含める)**

Summary

BIO は、Baochip-1x システム・オン・チップにおいて Raspberry Pi スタイルの PIO を置き換える軽量で RISC‑V ベースの入出力共処理装置です。CISC スタイルの PIO が XC7A100 FPGA のロジックセルの 50 % 超を消費し、動作が遅いのに対し、BIO は Artix‑7 上で約 14 k セルのみを使用し、同一プロセスノードで少なくとも 4 倍以上高速に稼働します。

設計は 4 つの同一コア から構成され、それぞれが 4 KiB の命令メモリを備えています。各コアは 16 個の汎用レジスタ (r0–r15) を公開し、r16–r31 は FIFO ヘッド/テイル、量子/割り込み同期、GPIO 制御、およびイベント処理に使用 されます。ブロッキングレジスタ (x16‑x19 が FIFOs、x20 が量子、x30 がイベント) により、コアは条件が満たされるまで停止でき、サイクルカウントなしで決定的なタイミングを実現します。

C ツールチェーン(Zig/Clang)はプログラムを Rust アセンブリマクロにコンパイルし、BIO 上で実行可能にするため、WS2812 LED ドライバや固定小数点演算などの高レベル I/O コードが利用でき、「量子」レジスタを通じて決定的タイミングを保持します。BIO はオープンソースかつ特許フリーで、標準 RISC‑V ツールチェーンを活用し、Arty A7‑100T などの小型 FPGA にも十分に収まります。主 CPU からプロトコルスタック管理をオフロードすることで設計の複雑さが軽減され、従来の PIO ソリューションよりも性能が向上します。

本文

BIO – Baochip‑1x の I/O コプロセッサ


概要

  • 何か
    PicoRV32(RV32E)コアを4つ搭載した RISC ベースの I/O コプロセッサ。GPIO、FIFO、イベント、および DMA を処理します。

  • なぜ必要か
    Raspberry Pi の PIO に比べてロジック面積を小さく抑えつつ、決定的でクロック周期単位の I/O 処理を実現するためです。


主な概念

機能PIOBIO
命令セット9 個の CISC スタイル命令RV32E RISC + 独自拡張
コア数4 台が 1 つの 32 エントリプログラム ROM を共有4 台の独立コア、それぞれ 4 KiB の専用コードメモリを持つ
FIFO / イベント処理各コアに組み込み型 FIFO(深さ8)ブロッキングレジスタ経由でアクセスする共有 FIFO(深さ8)
クロック周波数1 コアあたり約 100 MHzArty A7‑100T 上で最大 700 MHz
面積約 39 k LUT (FPGA)約 15 k LUT (FPGA)
リアルタイム保証クロック周期単位の命令により実現ブロッキングレジスタ (
halt to quantum
,
halt to event
) による実現

レジスタマップ(各コア)

レジスタアクセス意味
x16–x19r/w (ブロッキング)FIFO ヘッド/テイル – 空/満杯時に読み書きでブロック
x20-/whalt to quantum – クロック分周パルスまたは外部イベントまで待機
x21–x26GPIO 制御 & マスク書き込み: マスク適用 → ピン設定/クリア/方向; 読み取り: 現在のピン状態
x27-/wイベント感度マスク
x28-/w事件ビットをセット(0‑23 のみ有効)
x29-/w事件ビットをクリア
x30r/-halt to event – マスクされたイベントが発生するまでブロックし、イベント値を返す
x31r/-コア ID (bits 31:30) とリセット以降の CPU クロック周期数

例:FIFO を使った DMA

bio_code!(dma_mc_copy_code,
    DMA_MC_COPY_START, DMA_MC_COPY_END,
    "20:",
        "lw a0, 0(x16)", // FIFO0 から読み込み
        "sw a0, 0(x17)", // FIFO1 に書き込み
        "j 20b"
);
  • コア A:
    x16
    (FIFO0)からソースデータを読み取り、
    x17
    (FIFO1)へ書き込む。
  • コア B:
    x16
    にアドレスを生成。
  • コア C:
    x17
    への書き込みアドレスを生成。

3 コアが並列で動作するため、単一コアより高い DMA 帯域幅を実現します。


例:SPI ビットバンギング

// TX + クロック (コア 1)
"82:",
    "li x1, 0x700",          // データピン用マスク
    "mv x26, x1",            // マスクレジスタへ設定
    ...
"20:",
    "mv x15, x16",           // FIFO から次のバイトをロード
    ...                       // シフト&GPIO 切替
// RX (コア 2)
"31:",
    "and x8, x6, x21",
    "bnez x8, 31b",          // CS が低になるまで待機
    ...

両コアとも quantum (

x20
) を利用して SPI クロックと同期します。


C‑for‑BIO

  1. Zig ツールチェーンをインストール

    python3 -m pip install ziglang   # 0.15 が唯一動作するバージョン
    
  2. C プログラムを Rust マクロへビルド

    python3 -m ziglang build -Dmodule=<your-program>
    
  3. 例:WS2812 LED ドライバー

void ws2812c(uint32_t pin, uint32_t *strip, uint32_t len) {
    if (pin > 31) return;
    uint32_t mask = 1 << pin, antimask = ~mask;

    set_gpio_mask(mask);
    set_output_pins(mask);

    clear_gpio_pins_n(antimask);
    wait_quantum();

    for (uint32_t i = 0; i < len; i++) {
        uint32_t led = strip[i];
        for (uint32_t bit = 0; bit < 24; bit++) {
            if ((led & 0x800000) == 0) { /* low pulse */ }
            else                          { /* high pulse */ }
            led <<= 1;
        }
    }
}

プログラムは quantum を利用して、手動でクロックカウントを行わずに正確なタイミングを実現します。


トレードオフまとめ

項目PIOBIO
面積大きい(≈39 k LUT)小さい(≈15 k LUT)
クロック周波数約 100 MHz最大 700 MHz
命令 IPC1 (CISC, 1 命令/サイクル)0.2–0.33 (RISC, 複数命令)
リアルタイム決定性クロック周期単位の命令で容易ブロッキングレジスタにより実現
ツールチェーン独自、コンパイラ無し標準 RISC‑V + Rust マクロ
オープンソースクローズド / 特許制約あり完全オープン、特許フリー

はじめに

  • ハードウェア – Baochip‑1x (Arty A7‑100T) または Dabao 開発ボード。
  • ソフトウェア – GitHub リポジトリ
    bio-lib
    ,
    rtl/
    ,
    tests/
    をクローン。
  • 開発手順 – Rust + Zig C ツールチェーンを使用し、コンパイル・ロードして決定的 I/O 動作を確認。

BIO でハッキングを楽しんでください! Happy coding.

同じ日のほかのニュース

一覧に戻る →

2026/03/24 7:52

Windows 3.1 用 タイル背景 .bmp アーカイブ

## Japanese Translation: GitHubは、コード作成・ワークフロー自動化・セキュリティ・コミュニティ協働を向上させるAI搭載の開発者ツールとエンタープライズサービスの包括的なスイートを提供します。 - **AI コード生成**:Copilot、Spark、および Models は開発者がコードを自動で生成・改善するのに役立ちます。 - **開発者ワークフロー**:Actions、Codespaces、Issues、Plan、Code Review が、コーディングからデプロイまでの開発パイプライン全体を統括します。 - **セキュリティ**:GitHub Advanced Security は脆弱性を検出しシークレットを保護します;エンタープライズグレードのセキュリティは Copilot for Business にバンドルされています。 - **エンタープライズプラットフォーム**:AI 搭載の開発環境とプレミアムサポートにより、大規模チームがスケールで高度なツールを採用できるようになります。 - **ユースケースの幅広さ**:このスタックは、医療・金融・製造・政府などの業界で App Modernization、DevSecOps、および CI/CD をサポートします。 - **マーケットプレイスとコミュニティ**:Advanced Security のようなアドオンは Marketplace で入手可能です;Sponsors、Security Lab、Maintainer Community、Accelerator、Stars、Archive Program といったイニシアチブがオープンコラボレーションを促進します。 - **ドキュメントとサポート**:GitHub は包括的なドキュメント、ブログ、変更ログ、およびユーザー向け専用サポートチャネルを提供しています。 今後の展望として、GitHub は AI 統合を深化させ、エンタープライズ機能を拡充し、業界固有のサポートを拡大することを計画しており、デジタルトランスフォーメーションの加速、コード品質基準の向上、および組織全体でのセキュリティ強化に寄与すると期待されています。

2026/03/24 3:40

既存の研究アイデアに対する自己主導型調査

## Japanese Translation: 研究は、検索空間とサンドボックス制約が厳密に定義された場合、LLM駆動エージェントが機械学習トレーニングパイプラインを自律的に改善できることを示しています。エージェントは制限付きループで動作します:仮説 → `train.py`/`program.md` を編集(メモリ用にスクラッチパッド使用)→ トレーニング(RTX 4090 で約800ステップ ≈ 3 分)→ 平均順位を評価し、コミットまたはロールバック。各実行はノイズ過剰適合を防ぐために約5 分の壁時計時間で制限されます。 トレーニングは医療用X線データセットから始まり、その後 Ukiyo‑eVG(≈11 K 日本の木版画)へ切り替えました。フレーズ注釈はガウスヒートマップに変換され、追加の「視線」入力として使用されました。CLIPバックボーンは ViT‑Small (22 M) + DistilBERT (66 M) + HeatmapProcessor (~90 M パラメータ) で構成され、ホールドアウト1 Kテストセットで評価しました(ベースライン平均順位 344.68、R@1 img→txt 17.2%、txt→img 16.5%)。 1日間にわたりエージェントは42実験を実行し、そのうち13がコミットされ29がロールバックされました。平均順位は344.68から157.43へ(54 %減少)しました。主な向上は温度制限修正(-113点)と Optuna++ ハイパーパラメータ調整(-30点)によるもので、他のアーキテクチャ変更はほぼ影響がありませんでした。フェーズ 4/5では成功率が低下し、多くの「スパゲッティ」仮説が失敗しました;サンドボックス違反は、エージェントが未承認の bash 呼び出しを試みたりループを早期に停止した際に発生しました。 実験は、LLM エージェントが明確に定義された検索空間内で機械学習研究を自律的に推進できることを示していますが、予期せぬ(「未知の未知」)挙動には苦戦し、厳格なサンドボックス化が必要です。将来の作業では計画段階やサブエージェントを導入して、1実験あたりの単一変更制限を克服し、ハイパーパラメータのより深い探索と成功率の向上を可能にすることが考えられます。

2026/03/22 0:07

**朱祁:磁器修復の技術**

## Japanese Translation: **概要:** ジュチ(锔瓷)は、宋代(960‑1279)に遡る中国の破損した磁器を修復する工芸です。13世紀の絵画に作業員が壊れた陶器を修理している様子が描かれており、ユネスコはジュチを無形文化遺産として認定しています。この技術では、職人が**脆弱な磁器に穴を開け、慎重に手作業で製造した金属のスタープレート(銅、鉄、または貴金属)を挿入し、裂け目を覆いながら物体の機能と美的整合性を保ちます**。ジュチは「不完全さの美」を称える哲学を具現化しており、日本の金継ぎ(壊れた陶器を漆で修復し、金箔で縫い合わせる)と類似しています。両方の伝統において、裂け目は再生されたアイデンティティへ変容し、人生に伴う傷や回復力を象徴します