目次: Linux
簡単なドキュメントやメモはMarkDownで書くことが多いですが、気合を入れた文章にはやや不向きで、図表を入れ始めた辺りから表現力不足が辛くなってきます。
MarkDownで強行突破しても良いですが、より表現力がある主にドキュメント向けのマークアップテキスト……となると、太古から続くTeX、最近だとAsciiDoc、reST(reStructured Text)、Sphinx などが覇権を争っているようです。
私は良し悪しを語るほどマークアップテキストに詳しくないですし、特にAsciidocでなければダメってこともなくて、好きなものを使えば良いと思いますが、今回は訳あってAsciidocを使います。
マークアップテキストの読み書きは普段お使いのテキストエディタを使えば良いです。しかしプレビューはテキストエディタではできないことが多く、ちょっと困ります。Asciidocのプレビュー環境として、
私はこの2つを使うことが多いです。下記に設定方法のメモを残しておきます。
ChromeウェブストアからAsciidoctorと検索するだけです。
Chrome AsciiDoctor.js Live Preview
あとはオプションの「オン」と「ファイルのURLへのアクセスを許可する」を有効にすると、
Chromeに *.adocのファイルをドラッグ&ドロップなどして開けば、プレビュー画面が出るはずです。内容を更新すると自動的にプレビューも更新されます。
これでテキストエディタで編集しつつ、Chromeからローカルディスク上のAsciidocがプレビューできます。簡単で良いですね。
VSCodeのExtensionsからasciidocと検索するだけです。
フォルダ内の *.adocファイルを開いて、Ctrl+Shift+Vを押すとプレビュー画面が出るはずです。2分割して右側に出せるので便利ですね。
これでVSCodeからローカルディスク上のAsciidocを編集しながらプレビューできます。これも簡単ですね。
目次: マンガ紹介
久しぶりにお気に入りのマンガ紹介シリーズ。短めの完結作品を2つ。
DDRメモリモジュールにはSPD (Serial Presence Detect) と呼ばれるEEPROMが搭載されており、メモリモジュールを動作させるためのタイミング設定情報が書き込まれています。PCのBIOSやUEFIは起動時にこの情報を読み出して、メモリモジュールが正常に動作する範囲内にタイミング設定します。
この情報はBIOSやUEFI専用のものではないですから、OS起動後WindowsやLinuxからも読み出すことができます。WindowsだとCPU-Zが有名どころだと思います。
Linuxの場合はdecode-dimmsツールが見やすいと思います。ツールの使い方は非常に簡単なのですが、起動するまでに躓く点があったので、メモがてら簡単に紹介します。
各PCの設定にもよりますが、decode-dimmsを起動したときにこんなメッセージが出る場合があります。
# decode-dimms No EEPROM found, the kernel probably does not support your hardware.
SPDがアプリから見えていないことが原因です。本当に未対応のハードウェアを使っている可能性もありますが、大抵はカーネルモジュールを追加でロードすれば使えるようになるはずです。例えば私のマシンはこんなHWとOSです。
下記のモジュールをロードする必要がありました。ee1004がない場合はeepromでも動作します(警告が出ますが)。
modprobe i2c-piix4 modprobe i2c-dev modprobe ee1004
おそらくi2c-piix4とi2c-devをロードした時点で、i2cdetectを実行するとI2Cデバイスが見えます。
# i2cdetect -l i2c-0 smbus SMBus PIIX4 adapter port 0 at 0b00 SMBus adapter i2c-1 smbus SMBus PIIX4 adapter port 2 at 0b00 SMBus adapter i2c-2 smbus SMBus PIIX4 adapter port 1 at 0b20 SMBus adapter
もし何も表示されない場合はi2c-piix4ドライバが対応していないチップセットを使っている可能性が高いです。Linuxがマザーボードのチップセットに対応しているかを確認する必要があります。
以上のモジュールを全てロードした後に改めてdecode-dimmsを実行すると下記のような出力になると思います。
# decode-dimms version 4.3 Memory Serial Presence Detect Decoder By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner, Jean Delvare, Trent Piepho and others Decoding EEPROM: /sys/bus/i2c/drivers/eeprom/0-0052 Guessing DIMM is in bank 3 Kernel driver used eeprom ---=== SPD EEPROM Information ===--- EEPROM CRC of bytes 0-125 OK (0x9BBF) # of bytes written to SDRAM EEPROM 384 Total number of bytes in EEPROM 512 Fundamental Memory type DDR4 SDRAM SPD Revision 1.1 Module Type UDIMM EEPROM CRC of bytes 128-253 OK (0xC6AB) ---=== Memory Characteristics ===--- Maximum module speed 3200 MT/s (PC4-25600) Size 32768 MB Banks x Rows x Columns x Bits 16 x 17 x 10 x 64 SDRAM Device Width 8 bits Ranks 2 Rank Mix Symmetrical Primary Bus Width 64 bits AA-RCD-RP-RAS (cycles) 22-22-22-52 Supported CAS Latencies 28T, 26T, 25T, 24T, 23T, 22T, 21T, 20T, 19T, 18T, 17T, 16T, 15T, 14T, 13T, 12T, 11T, 10T, 9T ---=== Timings at Standard Speeds ===--- AA-RCD-RP-RAS (cycles) as DDR4-3200 22-22-22-52 AA-RCD-RP-RAS (cycles) as DDR4-2933 21-21-21-47 AA-RCD-RP-RAS (cycles) as DDR4-2666 19-19-19-43 AA-RCD-RP-RAS (cycles) as DDR4-2400 17-17-17-39 AA-RCD-RP-RAS (cycles) as DDR4-2133 15-15-15-35 AA-RCD-RP-RAS (cycles) as DDR4-1866 13-13-13-30 AA-RCD-RP-RAS (cycles) as DDR4-1600 11-11-11-26 ...
例えばAA-RCD-RP-RASを見ると22-22-22-52となっています。JEDEC規格(DDR3ならJESD79-3F, DDR4ならJESD79-4Dですが有料)のtAA, tRCD, tRP, tRASのことでしょう。
このうちtAAがREADコマンドによる列アドレス指定からRead Dataが出力されるまでの時間のことで、いわゆるCAS Latencyです。私のPCの場合はDDR4-3200で動作させているので22クロックとのこと。普通ですね。
わざわざPCのケースを開けなくてもメモリモジュールの情報が取得できるのでなかなか便利です。
< | 2022 | > | ||||
<< | < | 09 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | - | - | - | 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | - |
合計:
本日: