2013年7月20日土曜日

開発環境

計算機プログラムの構造と解釈(Gerald Jay Sussman(原著)、Julie Sussman(原著)、Harold Abelson(原著)、和田 英一(翻訳)、ピアソンエデュケーション、原書: Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)(SICP))の3(標準部品化力, オブジェクトおよび状態)、3.3(可変データでのモデル化)、3.3.4(電子回路のシミュレータ)、基本的な機能箱の問題 3.30を解いてみる。

その他参考書籍

問題3.30

コード(BBEdit)

sample.scm

(define (ripple-carry-adder a-k b-k s-k c)
  (if (null? a-k)
      'ok
      (let ((c-out (make-wire)))
        (full-adder (car a-k) (car b-k) (car s-k) c)
        (ripple-carry-adder (cdr a-k) (cdr b-k) (cdr s-k) c-out))))

このオアゲートの遅延時間はinverter-delay + and-gate-delay + inverter-delay = inverter-delay * 2 + and-gate-delay位。

完全なsyツ力が得られるまでの遅延時間は以下の計算結果くらい。

(n - 1) * ((max(or-gate-delay, and-gate-delay + inverter-delay) + and-gate-delay) + 
        and-gate-delay + 
        or-gate-delay) +
    2 * (max(or-gate-delay, and-gate-delay + inverter-delay) + and-gate-delay)

0 コメント:

コメントを投稿