タグ

CPUに関するokagawaのブックマーク (17)

  • 低レイヤを知りたい人のための Cコンパイラ作成入門

    はじめに このオンラインブックは執筆中です。完成版ではありません。フィードバックフォーム このには一冊のに盛り込むにはやや欲張りな内容を詰め込みました。書では、C言語で書かれたソースコードをアセンブリ言語に変換するプログラム、つまりCコンパイラを作成します。コンパイラそのものもCを使って開発します。当面の目標はセルフホスト、すなわち自作コンパイラでそれ自身のソースコードをコンパイルできるようにすることです。 このでは、コンパイラの説明の難易度が急に上がりすぎないように、様々なトピックを書全体を通じて次第に掘り下げていくという形で説明することにしました。その理由は次のとおりです。 コンパイラは、構文解析、中間パス、コード生成といった複数のステージに概念的に分割することができます。よくある教科書的アプローチでは、それぞれのトピックについて章を立てて解説を行うことになりますが、そのよう

  • 最新CPUはPentium D、Core 2 Duoの何倍速いのか?

    最新CPUはPentium D、Core 2 Duoの何倍速いのか?
    okagawa
    okagawa 2018/11/13
    CPUの処理能力の向上というよりは、メモリ(バス)の性能向上が大きいんだろうな。
  • Googleが発見した「CPUの脆弱性」とは何なのか。ゲーマーに捧ぐ「正しく恐れる」その方法まとめ - 4Gamer.net

    Googleが発見した「CPUの脆弱性」とは何なのか。ゲーマーに捧ぐ「正しく恐れる」その方法まとめ ライター:米田 聡 一般メディアにもニュースとして取り上げられたので,2017年末からにわかに騒がれだした「CPUの脆弱性」については,4Gamer読者も多くが聞き及んでいることだろう。海外では,「Spectre」(スペクター)や「Meltdown」(メルトダウン)といったおどろおどろしい名前が付いているので,そちらを目にしたという読者もいると思う。 「Intel製のCPUだけが持つ脆弱性で,AMD製のCPUなら問題ない」から始まって,「いやいやAMD製のCPUも同様の脆弱性を抱えている」,さらには「メモリページング方式の仮想記憶を使うCPUのすべてが持つ脆弱性である」などと,情報が錯綜しているので,何を信じたらいいのか分からないという人も多いのではなかろうか。そもそも,メモリページング方式

    Googleが発見した「CPUの脆弱性」とは何なのか。ゲーマーに捧ぐ「正しく恐れる」その方法まとめ - 4Gamer.net
    okagawa
    okagawa 2018/01/05
  • 自作CPU向けCコンパイラをつくってOS動かした話 (CPU実験まとめ) - kw-udonの日記

    僕の学科では伝統的に3年の後期に半年かけてCPU実験というものをおこなう。 班で自作のアーキテクチャを設計・実装し、FPGA基板上でMinCaml(OCamlのサブセット)でかかれた課題用レイトレーシングプログラムが動けば単位がもらえるというものである。 レイトレ完動後には、その高速化にはげむもよし、余興としてゲームをつくるもよしで、自作CPU上で色々あそんだりする。 今年は有志で班を結成し、自作CPU上でxv6というOSを動かした。 僕はその班にCコンパイラ係として参加したので、そのことについてかく。 あと、OS移植班全体の成果についても触れる。 わりと長くなってしまったので、結局なにができたんだっていう人は、とりあえず先にこっちに飛んでほしい。 動機 期間は4ヶ月程度、配布されたFPGA基板のうえで動かしたいという制約のもとで移植するOSはxv6を選択した。 このOSはシンプルであるが

    自作CPU向けCコンパイラをつくってOS動かした話 (CPU実験まとめ) - kw-udonの日記
    okagawa
    okagawa 2015/03/28
  • CPU実験でコアつくってOS動かしたまとめ - wasabizの日記

    2015-03-22 CPU実験でコアつくってOS動かしたまとめ 東大IS名物のCPU実験が3/17に最終発表を迎えて無事終了しました。半年のCPU実験を始めるにあたって初めにお世話になったのが先輩たちのブログだったりするので、恩返しの意味で僕もここに記録を残して置きたいと思います。基的に今後ISでCPU実験を行う人々に向けた記事なので関係ない人が読んでも面白くないかもしれません…(OBが酒の摘みにニヤニヤしながら眺めるのはアリかも)。 CPU実験復習 CPU実験といえば 情報科学科の専門課程に入って1年しか経ってないぺーぺーの学部3年生に 半年間でCPUとコンパイラをゼロから自作させて 最終発表会でその性能を競う という知る人ぞ知る超鬼畜演習です。CPU・コンパイラの「性能」はmin-rtという共通のレイトレーサープログラムを動かすことで計測します。FPUは自作することが要求されます。

    CPU実験でコアつくってOS動かしたまとめ - wasabizの日記
    okagawa
    okagawa 2015/03/28
  • CPU実験で自作CPUにUNIXライクOS (xv6) を移植した話 - 豆腐の豆腐和え

    今年のCPU実験では、有志からなる我らがX班が、おそらくCPU実験史上初である自作CPUへのOS (xv6) 移植に成功しました。コア係とコンパイラ係の面々がそれぞれまとめ記事を書いていたので、OS係から見たOS移植のまとめも書こうかなと思います。こんなことしてましたってことが伝わればいいなと思います。 この記事を読む後輩やらなんやらがいたら、ぜひ僕らがやったようなことはさっさとクリアしちゃって、さらにさらに面白いことをする踏み台にしていってほしいですね。 どなたが読んでもある程度概要が伝わるよう、まずCPU実験とは何かということをさらっと書いた後、実際にxv6を移植するにあたってやったことをまとめたいと思います。 CPU実験とは CPU実験は僕の学科(理学部情報科学科)で3年冬に行われる、半年間にわたる学科名物演習です。 最初の週で4~5人程度の班に分けられた後、それぞれの班でオリジナル

    CPU実験で自作CPUにUNIXライクOS (xv6) を移植した話 - 豆腐の豆腐和え
    okagawa
    okagawa 2015/03/28
  • はじめてのひき - CPUTsukuru

    東大情報理工の CPU 実験というやつが楽しそうでうらやましい。勝手に同じようなルールセットで競ってみたらどうかと 目標 min-caml てやつに入ってる、 min-rt ってやつを、オリジナルのコードをいじらずに、自作 CPU 向けのバイナリを出力できるコンパイラ (改造 min-caml で OK) を使って、 FPGA でなるべく速く動かす。結果があってれば単位が来る、ってもの…だと思う。 https://github.com/esumii/min-caml 外野としては、まあ学生ほど時間があるわけでもなし、できなければできない、やらないならやらない、で良い。速度勝負に興味がなければゲーム機作ってもいいし Linux を動かすとかいう目標でも良いと思う。学生は日程は10月くらいからで2月半ばくらいまである感じらしい。暇な人は予習しておくと良いようだ。実際熱心な学生の人達は夏休みくら

    okagawa
    okagawa 2014/06/27
  • Overview of OpenSPARC Resources

    In March 2006, the complete design of Sun Microsystems' UltraSPARC T1 microprocessor was released-in open-source form, it was named OpenSPARC T1. In early 2008, its successor, OpenSPARC T2, was also released in open-source form. These were the first (and still only) 64-bit microprocessors ever open-sourced. They were also the first (and still only) CMT (chip multithreaded) microprocessors ever ope

  • sandpile.org -- The world's leading source for technical x86 processor information.

    The world's leading source for technical x86 processor information.

    okagawa
    okagawa 2008/05/13
  • doubleの精度が-O0だと80ビットで-O3だと64ビットになるケース - sumiiのブログ

    誰か同じ罠に嵌る and/or 気づくかと思い「秘密のエントリ」「あとで公開する」としていましたが、だれもハマってくれないようなので公開します。 例のPHPのround問題の関係でgccの-ffloat-storeを試していたのですが、 static double f(double x) { return x * 100.0; } int main() { return f(1.075) >= 107.5; }というプログラムをコンパイルして動かすと下のようになります。 > uname -mrs Linux 2.6.9-42.0.10.ELsmp i686 > gcc --version gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-8) Copyright (C) 2006 Free Software Foundation, Inc. This is f

    doubleの精度が-O0だと80ビットで-O3だと64ビットになるケース - sumiiのブログ
    okagawa
    okagawa 2007/06/05
    x86におけるgccの最適化とdoubleの精度。
  • 浮動小数点演算ではまった話 - bkブログ

    浮動小数点演算ではまった話 浮動小数点演算のありがちな問題ではまりました。 いろいろ調べているうちに x86 特有のちょっとおもしろい 現象に遭遇したので紹介したいと思います。 パーセンテージの計算 簡単な C のプログラムでパーセンテージを計算しようと思い、 次のようなコードを書きました。 int x, y; ... int a = (double)x / y * 100; int a = x * 100 / y としないのは、 x が大きい場合に x * 100 が オーバーフローを起こす (INT_MAX を越える) ためです。 このコードは一見、期待通りに動いていたのですが、 しばらく使っていると、手元の環境では x = 53, y = 100 のときに a は 53 ではなく 52 になることに気づきました。 これは次の理由によります。 式の最初の (double)53 / 10

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    okagawa
    okagawa 2006/06/11
  • Opencores by Verilog Source with VHDL Translation

    このページでは、当社で開発したIPやトランスレータを使ってVHDLコアをVerilogに翻訳したもの、OpencoresのVerilog等を紹介していきます。 とりあえず、既存の設計例を通して、CPUアーキテクチャ、HDLコーディング技法の研究にお役になれば幸いです。 1.ベンチマークテスト 同じCソースプログラムをシミュレータ上で動かして総クロック数を評価してみます。Cソースプログラムは、リードソロモン(5インターリーブ、3重訂正)です。下記オープンソースコアについて行いました。 駆動周波数の比較ではなくCPIの比較であることと、オリジナルとの比較ではなく、Opencores上での比較であることに注意してください。 SH2 T80( translated to Verilog by automatically with Veritak Translator) TV80 (T80の下にあり

    okagawa
    okagawa 2006/06/11
    FPGAでCPUを実装している
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    okagawa
    okagawa 2005/09/25
  • Net-Burstは死なず。(Meromのアーキテクチャ予想)

    okagawa
    okagawa 2005/08/24
  • [M.D.L] x86 の Assembler 情報源

    <Home> → <M.D.L.> → <[M.D.L] x86 の Assembler 情報源> <Develop/Assembler - SyncHack> へ移動しました。 <Home> → <M.D.L.> → <[M.D.L] x86 の Assembler 情報源> Copyright (c) 2004 Makoto NARA (Mc.N), All rights reserved. <Terms of Use>

    okagawa
    okagawa 2005/08/20
  • 1