EDSAC
主記憶容量は1024ワード(1ワード(ショートワード)は17ビット)だが、実際にメモリが実装されたのは512ワードまでだった。ロングワードは35ビットで、偶数アドレスと奇数アドレスのショートワードを、真ん中に「サンドイッチビット」と呼ばれるビット(記憶装置の都合によるスタートビット兼ストップビットのようなものがそのまま入る)を挟んで連続して使用する。数値は2の補数表現の二進数である。
18個の命令を備えていた。17ビットのショートワード先頭5ビットが命令コードだが、紙テープの文字コードをそのまま使い、ニーモニックの文字コードを命令コードとしていた。例えば "Add" 命令の命令コードは "A" の文字コードだった。その後に1ビットの未使用ビットをはさみ、10ビットのメモリアドレスがあり、最後の1ビットはオペランドがショートワードなのかロングワードなのかを指定する。
乗算器は数値を固定小数点数として扱い、その範囲は -1 ≤ x < 1 となるよう設計されている。すなわち、小数点は符号のすぐ後にある。アキュムレータは71ビット幅で、35ビットのロングワード同士の乗算を行っても切捨てが起きないよう設計されている。
命令としては、加算、減算、乗算、照合、左シフト、右シフト、乗算器用レジスタへのロード、アキュムレータの内容のストア(オプションでアキュムレータをクリア)、条件付スキップ、入力テープ読み込み、文字印字、アキュムレータを丸める、NOP、ストップなどがある。除算命令はなく(サブルーチンで実装)、アキュムレータに直接メモリからロードする命令もない(アキュムレータをストア命令でゼロクリアしてから加算命令で「ゼロに該当の値を加算」することで、ロードと同様の結果になる)。
イニシャルオーダ (initial orders) はスイッチ群で実装されていて、起動時にメモリの先頭ワード群にロードされる。1949年5月には、上述したニーモニック設計を生かした初歩的なアセンブラの機能がわずか31ワードのイニシャルオーダに搭載されている。これが世界初のアセンブラであり、ソフトウェア産業の出発点とも言える。
EDSACは同大学の様々な実際の問題を解くのに使われ、今日のオペレーティングシステムに含まれるような様々な技法が考案された。ユーザーはプログラムをアセンブリ言語で書くと、紙テープをさん孔して入力の準備をする。ユーザーは紙テープを見てコードを読み取れるようになった。準備ができると、紙テープを読取装置の近くにある紐に引っ掛ける。オペレータはその紐に引っ掛けられた紙テープ群から1つを選び、EDSACに読み込ませる。これがいわゆるジョブキューの役割を果たした。プログラムの実行によってプリントアウトされたものと紙テープはユーザーに返される。何も出力されない場合は停止したメモリ位置をユーザーに知らせる。デバッガはまだなかったが、ブラウン管を使って指定したメモリ位置の内容を表示することができた。これは例えば数値が収束しているかどうかを見るのに使われた。通常業務時間が終了すると、許可を得たユーザーが自らマシンを操作でき、真空管が故障しない限り夜遅くまで使っていたが、あるユーザーによれば真空管の故障はよく起きたという。