今のマルチバイトの文字コードはUTFー8のように可変長だったりする。
固定長のSJISやEUCやJISコードの場合にも、ASCIIコードと混在させる
ために、文字列等の処理ではいろいろと条件判断によって文字の処理を
行わなければならないが、それはつまり普通のCPUの命令で行うと
条件分岐が生じてパイプライン処理が混乱したりするだろう。
また、CPUのレジスタが32ビット(4バイト)や64ビット(8バイト)
であったりしても、1バイトあるいは2バイト、3バイトなどのような
ワードの境界を無視した位置にメモリ上で置かれていたり、また
レジスタの内部でバイト単位でシフトしたりマスクしたりして、
必要な文字のデータを取り出して来ないといけないと思う。
(たしかに、今日多くのマイクロプロセッサのアーキテクチャーは
バイトアドレスになっているけれども)。
文字列処理の性能を出すためには、そういった異なる長さの文字コード
とか、文字種の変更のコードだとか、可変長の文字コードの体系に
対応する機械語命令を設けることが望ましいのではないかと思う。
それにより、パイプラインの乱れなどを避けられたらいいと思う。
 本当は、もうそろそろいい加減に文字は4バイト固定長にして
バイト単位であれこれ面倒な処理をするのは辞めたらどうかと思うのだ。
そうはいってもファイルに文字列をストアしたり、通信をするときには
どうしても容量をケチりたいだろうから、そういうときには専用の
圧縮機能を持つ回路を(画像の処理がGPUであるように)附加しておけば
良いだけじゃ無いかな?もちろんちまちまとソフトで出入り口のところだけ
は処理しても良いかもしれないが。
 今はASCIIコード以外の文字を扱う場合のプログラムは面倒でバグが入り
安いと思う。文字がすべて32ビットで種類も1種類しかなければ、
物事は極めて簡単になるのに。