タグ

japaneseとx86に関するmasterqのブックマーク (6)

  • iMops-forth @Wiki

    逐次拡張型インタラクティブ開発環境を作成しました。iMops (アイ・モップス)という名前です。無料ソフトウェアです。 ここからダウンロードできます。現在のバージョンは2.23です(2022/2/5)。 Macintoshコンピュータ(MacOS[X])専用ですが、相当程度最適化されたx86-64マシンコードを生成します。インタラクティブに一語一語(=各関数毎に)コンパイル-解釈実行できます。JITコンパイラとかいうものになるのでしょうか。Cocoaなど一般の動的フレームワークにリンクできます。単独で起動可能なアプリケーションを作ることもできます。64ビットのみですが動的ライブラリも生成できます。最新のmacOS上でも稼働するようです(確認済)。(なお、Apple社が、Macの全CPUを二年でARM仕様に変更すると宣言したことに対応して、ARM64ビットネイティブのMopsの開発計画が進行

    iMops-forth @Wiki
    masterq
    masterq 2021/08/28
    x86マシンコードを生成するForthコンパイラ。macOS上で動く。説明と実装における所感がかなり細かい
  • x86よくできてる点 - w_o’s diary

    アーキテクチャと実装混ざってるけど 命令dispが32bit届く immも32bit入ることが多い メモリが順序守る(何回も書くが、メモリ順序が緩いことによって得られたCPU時間より失なった人間時間のほうが絶対多いから) ファームウェアがBIOSとUEFIの二種類しかない (ボードごとにカーネルにディレクトリ作るのやめろARM) 周辺デバイスがPCIに統一されててキャッシュの問題が起こりづらい(もうdma_alloc_coherentの挙動調べるの飽きた) キャッシュがソフト的に見れば一階層 (L2の挙動が定義されてないARMとかいう無名CPU) 除算とFPUが付いてる ABIがWin除けば32bitと64bitとx32の3種類しかない。 PCIe がキャッシュスヌープ付けてフルスピード近く出る lock cmpxchg が遅くない *fence が遅くない こういう問題で別のアーキがx8

    x86よくできてる点 - w_o’s diary
  • Rust で DOS

    終了 最初にrコマンドで、リアルモードx86のレジスタ群を確認して見ましょう。 下記の図のようになります。 2行にわたってAX,BXをはじめとする各レジスタの値が16進数で表示されています。 注:debug コマンドでは基的に16進数を扱います。 COM 形式と EXE 形式 いよいよ DOS で物のアセンブリを入力していきますが、その前に DOS プログラムの約束事を押さえておきましょう。 DOSプログラムの実行形式には COM 形式とEXE形式があります。 ここでは、より単純な COM 形式を扱います。 COM 形式のプログラムは、アドレス 0x100 から始まる決まりになっています。 先頭の 256 バイトが空いていることに違和感を覚えるかもしれませんが、これは ELF 実行形式の ELF ヘッダーのようのものと思うと理解しやすいでしょう。 先頭のアドレス空間は PSP(Prog

    Rust で DOS
  • x86でdoubleがfloatより速いかどうかを検証してみた - Qiita

    昔話 それは昔々のこと。 x86には浮動小数点演算を行う手段がなく、外付けの浮動小数点演算ユニットを接続するという手法で、浮動小数点演算を実現していたのであった。 x87と呼ばれたそれはとてもエクセレントなシステムで…という話はwikipediaに譲ろう。 https://ja.wikipedia.org/wiki/Intel_8087 重要なのは、x87が内部表現として80bitの拡張倍精度を使っている、ということ。 これのおかげで、x87においては、確かにdoubleのほうが速かった (floatだとdoubleへのキャストコストが発生するため) 嘘だろそれ。ASM見たら別にキャストとかしてなかったわ。 どっちかというと丸めの影響で精度が異なることのほうが重要だわ。 改めて調べてみると、doubleが速いとされている資料についてはあんまりないことに気付く。 (同等としている資料はher

    x86でdoubleがfloatより速いかどうかを検証してみた - Qiita
  • CPUをベンチマークで性能比較 - パソコンの選び方と買い方

    背景の青色はインテルCPU、黄色はAMD CPUを示します。DTはデスクトップパソコン向けCPU、MBはモバイルパソコン向けCPUを示します。Ratioは最高ベンチマークスコアに対する割合をパーセントで示したものです。 CPUの性能の割に冷却性能が低いパソコンを使用した場合があり、その場合は予想よりも低いベンチマークスコアが出ました。その場合に該当する製品がモバイルパソコン向けCPUに多いです。 Cinebench R23 2022年10月31日更新

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

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

  • 1