注意) オープンソースで公開予定だったWZetaですが、 16bit CPU WZetaへ移行します。まだ正式公開ではありません。 WZeta搭載パソコン 試作したWZeta搭載パソコンのWZ-660(8bit CPU)でゲームのデモが動くようになりました。 8bitパソコンWZ-660マルチライト機能でゲームが高速に! 詳細の開発状況は日記に書いています。 当サイトの連絡先に日記のリンクがあります。 新着情報 2023年5月4日 16bit WZeta予告 2022年5月28日 命令セット、設計資料の更新 2022年2月21日 WZetaのSDogコアの設計資料の更新 2021年9月3日 WZeta SDogコアの論理レベル設計図を先行公開 2021年9月3日 サイトの大幅更新 2021年7月26日 WZetaのSDogコアの設計資料の更新 2021年6月03日 WZetaのSDogコア
Cpu0のインポートを実施したLLVMの最初のビルドを実施してみる。参考にしたのは以下だ。 Cpu0 architecture and LLVM structure — Tutorial: Creating an LLVM Backend for the Cpu0 Architecture チュートリアルのLLVMのバージョンはどうも古いようで、きちんとパッチが当たらない。 いろいろ改造したので、GitHubに7.0.0に対応したものを構築した。 github.com 一番驚いたのは、llvm/Support/ELFRelocs/Cpu0.defがinclude/llvm/BinaryFormat/ELFRelocs/Cpu0.defに移動されていたこと。 かなり手こずった。 ここから先はLLVM 7.0.0をベースに構築している。 git clone https://github.com
CPU脆弱性についての論文を読んでいると必ずと言っていいほど出てくるIntel SGX(Software Guard Extension)。 なんとなく秘匿データを扱うためのIntelのハードウェア機構なんだろうなと思っていたけど、あまり知ったかぶりをしているのもよくないのでチュートリアルを読んでみることにした。 参考にしたのは、Intel® Software Guard Extensions Tutorial Series だ。ハードウェアの詳細について書いてあるわけではないが、使い方についていろいろ書いてあるので基礎知識を得るのにはよさそう。 software.intel.com 長々と書いているが要するに、 SGXは秘密情報を扱うためにアプリケーション階層内に「飛び地(enclave)」を作成する。この飛び地に秘密情報を格納して管理する。 enclaveに入れるのは、Intelの専用
はじめまして、木村 廉と申します。現在神戸大学大学院の修士2年生で、システムソフトウェアの脆弱性検出やself protectionについて研究しています。 § 実はこのコラム執筆のお誘いをいただいた時、はじめはお受けするかどうか少し迷いました。というのも、「GeekOut」の過去のコラムを見ると、執筆者の皆さんは最前線で活躍されている方ばかりで、一介の学生の私では見劣りするような気がしたからです。 しかしながら、私もエンジニアの端くれですので、他のエンジニアと差別化できる強みも多少は持っています。そしてそれは、幸いにも他の人とかぶりづらいマニアックな部類のもので、参考にできる資料も多くありません。 その強みとは、OSやハイパーバイザ(コンピュータを仮想化するための制御ソフトウェア)といった、基本的な制御を行うシステムソフトウェアを開発したり、それに手を入れたりすることです。いわゆる“低レ
RISC-Vのコンパイル時に登場する謎のメモリモデルについて調査したのでまとめておく。 以下の資料を参考にした。 All Aboard, Part 4: The RISC-V Code Models www.sifive.com RISC-Vはコード内をジャンプするための手法としては複数の手段があるのだが、他のプロセッサアーキテクチャと比較すると決しては多いわけではない。 RISC-Vの場合は以下の3種類に限定される。 PC相対 (auipc / jal / br*命令) レジスタ相対 (jalr / addi命令) 絶対 (lui命令) gccによりプログラムがコンパイルされる際には、ジャンプ先やメモリアクセス先はどこに配置されるのかは分からない。 これは、実際にリンクしてみるまで分からないので、オブジェクトを作成する段階では、とりあえずアクセス先の情報を空に設定しておき、リンカによる再
僕は1994年に日立 中央研究所 超高速プロセッサ部に入ったが、次の年には超高速プロセッサ部は無くなった。プロセッサを作るやつは「犯罪者」であり受刑者のような雰囲気だったのは確かだ。そして僕はIBMのCPUを買うための仕事にとりかかった。 1996年、大学などの研究機関向けにVDECが設立されLSIの試作、研究が行えるようになったようです。VDECの年報、1996年と1997年を読みました。東大のプロセッサのための研究が、いくつか掲載されています。 この頃は、パイプライン段数を増やす、スーパーパイプラインという思想で、周波数を上げる技術の研究が盛んだったようです。加算器をパイプライン化する研究や、加算する値によって計算時間が異なることを利用し、1~3サイクルで加算をする「疑似非同期」というアイディアがあったようです。 僕のICF3-Vの「疑似パイプライン」は面積当たりの性能を向上させるため
Posted on December 21st, 2016. In the previous post we looked at how to emulate a CHIP-8 CPU with Common Lisp. But a CPU alone isn't much fun to play, so in this post we'll add a screen to the emulator with Qt. The full series of posts so far: CHIP-8 in Common Lisp: The CPU CHIP-8 in Common Lisp: Graphics CHIP-8 in Common Lisp: Input CHIP-8 in Common Lisp: Sound CHIP-8 in Common Lisp: Disassembly
ICF3の派生プロジェクトの一覧のページを追加 こちら OpenICF3とは OpenICF3は暗号プロセッサのオープンソースハードウェアです。 日立製作所が1999年に製品出荷したメインフレームMP5600EXの内蔵暗号装置に搭載された暗号LSIである ICF3と暗号プロセッサについては同一です。当サイトはOpenICF3の公式サイトです。 ICF3は開発コード名でRSA演算器、SHA-1演算器、Multi2演算器、DES演算器をもっていました。 RSA演算器は、当時、世界一高速であり内部にプロセッサを持っていました。 このプロセッサは非常に簡素ですが楕円暗号も演算可能であることから、 暗号プロセッサのオープンソースハードウェアとして2016年6月に公開することになったのです。 1999年製ですが、メインフレームの高性能暗号装置として開発されたものであるため、 現在のIoTのCPUの暗号
まいどまいど考えるだけで手を動かさない無調法者ですみません_(-.-)_ 以下の要件を満たす回路を考えてみました。 リセット中は、P20,P21,P22=H,L,Lとなる(mode == 1) リセット解除に先立ち、P20,P21,P22=L,H,Lとする(mode==2) リセット解除後、P21はオープン(Hi-Z)とする 現在のsbc6303基板に、NPNトランジスタ1個(Q1)と抵抗(10k)各1個を追加します。図中の4.7k pullup,pulldown抵抗は現在搭載済(R3,R7)です。 リセットSWがONの間は、積分回路出口(A)は0Vで、IC5Bの出力はHになっています。トランジスタQ1はONですので、P21の電位は約0.6V程度になり、Lと判定されます。 リセットSWをOFFにすると、47k抵抗から10uFコンデンサへの充電が始まり、(A)の電位が徐々に上がってゆきます。
HD6303のマニュアルですっかり見落としていたのが下の表(クリックで拡大します)。付け加えると、tomi9jpさんやtendai22plusさんから指摘があったにもかかわらず、しばらくは気が付かなくてたぶんお二人をイライラさせたやつ。この表によれば、SBC6303(マルチプレックスモード)をリセットし続けた場合、アドレスバスはハイインピーダンスになるが、データバスはハイインピーダンスにならない。ブートローダを正しく動かすには両方ともハイインピーダンスにする必要がある、というのが今回のテーマ。 この表の脚注を見ると「次の(1)または(2)の対策を行なってください」と書いてある。英語のマニュアルだと「(1) and (2)」なんだけど日本語のほうをとってどちらか一方でいいと解釈。だから(2)にしたがいAS端子にプルダウン抵抗4.7kΩを付加してみた。AS端子はGNDとほどよい距離にあって抵抗
困ったことにマーキングが6809で中身が6809Eという偽造品が横行している。それとおぼしきものがとうとうボクの手もとにもやってきた。部品店に「これ偽造品ですよ」というからにはそれなりの確証がいる。本物の6809はSBC6809で動くからすぐわかる。動かなかったとき、ただの不良品なのか中身が6809Eなのかを知るため、SBC6809を6809E対応に改造。PIC12F1822で間に合わせのクロックジェネレータを作って空中配線。 PIC12F1822のプログラムをGitHubに置いておく。素人臭いソースだが、確実に動き、これでも500kHzのクロックを出力する。下に示す接続でHD468A09EPが動作。TSC、E、Qは接続先変更、5VとGNDは配線追加、Xは切断、あとは現状維持。GrantのMS-BASIC(ソースとバイナリはこちら)がちゃんと走った。ちなみに、500kHzがことさら遅いわけ
このブログは、株式会社フィックスターズのエンジニアが、あらゆるテーマについて自由に書いているブログです。 Broadwell 世代から、いくつかのCPUではProcessor Traceと呼ばれる機能が付いています。簡単に使いかたを説明します。 Intel Processor Trace それなりの規模のCPUにはプロセッサ内で発生したイベントを収集する仕組みがあります。よく使うものだと、パフォーマンスカウンタのイベント等ですね。 Haswell以前では、これらのイベントは割り込みを経由して収集されていました。ただ、割り込み経由だと、それなりにオーバーヘッドが大きくなってしまうので、 全てのイベントを収集することは難しく、サンプリングベースのものが主流でした。 Intel Processor Trace は、メモリ経由で、CPU内のイベントを収集する仕組みです。 これを使うと、メモリ経由で
東大の情報科学科では3年の秋学期にCPU実験という、自分たちでCPU、コンパイラ、シミュレーターを作ってレイトレーシングを動かすことが単位要件の名物実験があります。僕らの班では12月初旬に単位要件を満たすCPUは出来ていたので、2/20にあった成果報告会までの間にIwashi班という自作CPU上でlinuxを動かすことを目標とした余興班を作ってこのエントリのタイトルにあるような結果に終わったのでその報告をしたいと思います。 コンテキストスイッチしている画像: 目次 目次 対象とする読者 自己紹介 できたこととできなかったこと 技術的な詳細 ISA よかったところ 悪かったところ 結論 ステート管理 Floating point UART 自作OS/Shellの仕様 動機 やること 実装方針 増えるレジスタ 増える命令 MMUの挙動 タイマ割り込みの挙動 iretの挙動 Kernelの実装
シンガポール国立大学、既存より20倍少ない消費電力のマイクロチップを発表。ミリ単位の太陽電池によって生活照明で連続給電するコンピュータビジョンシステムも可能に 2018-01-22 シンガポール国立大学の研究者らは、コンピュータビジョンシステム等で使用できる低消費電力の新たなビジョンマイクロプロセッサ「EQSCALE」を発表しました。 本チップは、既存の最高クラスチップよりも20倍少ない電力で処理できると述べており、極めて低い消費電力を特徴としています。 このことで、例えば、バッテリ交換を必要とせずに、ミリメートルサイズの太陽電池によって生活空間の照明で連続的に給電することを可能にしたりします。 これには、消費電力を1ミリワットより少なくする必要があり、本チップではそれが20分の1の0.2ミリワットで連続した特徴抽出を実行できると言います。これは、スマートビジョンシステムの大幅な向上につな
これは TECHSCORE Advent Calendar 2017 の8日目の記事です。 今回は、Load Average は単純に平均をとっているわけではないよ、という話をします。 はじめに バッチサーバのように、ある時間帯だけ一定の CPU 負荷がかかるようなサーバを運用していると、Load Average のグラフがこんな形になるのをよく見かけます。 このグラフは CentOS 6 (Kernel 2.6.32-696.16.1.el6.x86_64) のサーバで 11:05 から 12:00 までの間、CPU 1コア占有する負荷をかけたときのものです。3本の折れ線グラフはそれぞれ過去 1, 5, 15分間の平均負荷です。平均をとる期間が長くなるほどグラフの立ち上がり・立ち下がりが緩やかになる様子が見てとれます。 次のグラフは 11:00 から 11:30 までを拡大したものです。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く