日別アーカイブ: 2021年7月7日

今日見たURL等

何十年も前、8ビットマイコンで、マシン(機械)語の学習をしていたことを思い出しました。

42年ほど前の話です。

随分、時間が立ちました。

それほど、しっかり学べていないことも有り、かなりの事が忘却の彼方に。

あれ?。CPU内部に引き算の回路は有ったの?。忘れてしまいました。

加算回路だけを持っていて、マイクロコードによるプログラムで、あたかも引き算回路があるかのごとく、引き算を実現していたの?。

と言う部分が、思い出せなくなりました。

数値演算プロセッサ(コプロセッサ)が、世に出るまでは、足し算だけで、引き算も、掛け算も、割り算もやっていると、習ったように思うけどなー。

※とりあえず、この様な検索のリンクを貼り付けます。https://www.google.co.jp/search?hl=ja&q=CPU+%E8%B6%B3%E3%81%97%E7%AE%97%E3%81%A0%E3%81%91%E3%81%A7%E3%80%81%E5%BC%95%E3%81%8D%E7%AE%97%E3%81%A8%E3%80%81%E6%8E%9B%E3%81%91%E7%AE%97%E3%81%A8%E3%80%81%E5%89%B2%E3%82%8A%E7%AE%97%E3%82%82&spell=1&sa=X&ved=2ahUKEwin-9S6pNDxAhVvwosBHSUtBqgQBSgAegQIARA1&biw=1698&bih=955

引き算は、補数を足して計算するとか。https://www.google.co.jp/search?q=%E5%BC%95%E3%81%8D%E7%AE%97%E3%81%AF%E3%80%81%E8%A3%9C%E6%95%B0%E3%82%92%E8%B6%B3%E3%81%97%E3%81%A6&hl=ja&biw=1698&bih=955&ei=mUPlYNrbFImC0wTIx4L4BA&oq=%E5%BC%95%E3%81%8D%E7%AE%97%E3%81%AF%E3%80%81%E8%A3%9C%E6%95%B0%E3%82%92%E8%B6%B3%E3%81%97%E3%81%A6&gs_lcp=Cgdnd3Mtd2l6EAwyBQgAEM0CMgUIABDNAkoECEEYAVCX-gJYl_oCYNCJA2gBcAB4AIABxgaIAf4HkgEHMC4xLjYtMZgBAKABAqABAaoBB2d3cy13aXrAAQE&sclient=gws-wiz&ved=0ahUKEwiajOrVpNDxAhUJwZQKHcijAE8Q4dUDCA0

話題は変わるのですが、数学などに「証明問題」というのが有りますが、学生時代に、いつも苦戦していました。

世間で、「学術的に証明されました。」「科学的に証明されています。」とおっしゃっている時に、自分で、評価出来なくて、「そうなんだー」と思うとか「真に受ける」とか「そうかもね」と思うとか、それくらいしか出来ません。

メディアリテラシー」では、嘘に引っかからないように、自ら判断できる力量を身に付けましょう。と言われますが、難しいです。

電卓など機械に頼らず、手計算で、√3を求めなさい。」と言われて、30分後、答えを提示できるか?というと、簡単ではないです。

コンピュータのCPUは、CPU専用電卓のコプロ(数値演算プロセッサ)を内蔵しているか、していないか、ケースバイケースだと思います。

「数値演算プロセッサを、内蔵していない場合は、足し算だけの回路を駆使して「全てをこなす」事になるのですが、どの部分を回路でこなし、どの部分をプログラムで実現するのか?。」

というか、プログラムを組むにあたり、どこまでの部分をプログラマが記述する必要があるのか?。は、前提条件として、あるはずですね。

現実的には、プログラマが、手計算でルート計算をこなせなくても、大丈夫なんです。

それは「sqrt」と書けば、ルート計算のサブルーチンに数値が渡される仕組みが、プログラミング言語のセットに含めて提供されている事が多いからです。

※正しくはサブルーチンと言う表現は適当ではないと自分でも思っています。

プログラミング言語のセットにもよりますが、プログラミング作業で「sqrt」等として、記述すれば、答えは求められる事が多いです。

過去のことかも知れませんが、パソコンを眺めますと、

  • 回路としてコンピュータがある。
  • その回路を駆使するために、ファームウェアがある。
  • コンピュータを駆使するために、OSがある。
  • OSの上で様々用途に応じたアプケーションが動く。

と言う状況が有ったかと思います。

マシン語(機械語)になる前の、ソースコードがないと、なかなか、プログラムを読みこなすのはしんどいと思います。

アプリケーション開発者は、自分たちが書いたアプリケーションのソースコードは、持っていますが、OSメーカーに、OSのソースコードを見せて欲しいと要望しても、見せてもらえないことが多いと思います。

ファームウェアのメーカーに、ソースコードを見せて欲しいと言って見せてもらえるのは厳しいと思います。

アプリケーションを記述するあなたに、ユーザーがソースコードを見せて欲しいと言ってきた時に、どうするか?。というのと同じです。

なので、アプリケーションのプログラマーに求められるのは、提示される条件(どのようなコンピュータの、どのような構成、どのOS)で動くアプリケーションのソースコードを記述するお仕事。と言う事に成るかと思います。

責任範囲として、どの部分に成るかといえば、そういうことなのですが、ユーザーは、コンピュータを買い換えるし、構成を変えるし、OSを変えるのは常。

さらに、「ほにゃらら.lib」や「ほにゃらら.dll」と言う、サブルーチン群を、ユーザーが入れ替える。

https://duckduckgo.com/?q=%E6%9A%97%E5%8F%B7%E3%80%80.lib+.dll+%E7%BD%AE%E3%81%8D%E6%8F%9B%E3%81%88&t=lm&ia=web

https://duckduckgo.com/?q=%E6%9A%97%E5%8F%B7%E3%80%80DLL+%E7%BD%AE%E3%81%8D%E6%8F%9B%E3%81%88&t=lm&ia=web

「.lib」や「.dll」の入れ替えが良くないのでは無いのです。利用環境上問題ない人にとっては、まったく問題はないのです。

これは、利用実態を踏まえて、ユーザーなり、どなたかの自己責任で「誰が製造したものか」「自分の使用環境で問題はないか?」の判断をすることに成ると思います。

「ITリテラシー」情報リテラシー」として、現代人はみんな身につけたいですよねと、言われたことですが、コンピュータやコンピュータ社会の内部メカニズムを理解したうえで物事をかんがえる。

難しいです。

だから、担当者のせいにするのも、誰かのせいにするの、どちらかと言えばよろしくない、と思える部分が有ります。

そこで、

ソースコードを探して、読みこなそうとする。

難しいです。 (読めますか?。アルゴリズム知っていましたか。理解できますか?。と言う部分です。)

その入手したソースコードで、その「〜.lib」や「〜.dll」が本当に生成されるのか?。余分なバックドアなどの変なものが紛れ込んでないのかを、自分で評価する。

難しいです。

この世の連帯責任?

様々な価値観、様々な状況を踏まえつつ、未来に向かう地球人。

https://duckduckgo.com/?q=%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%80%80%E5%93%81%E8%B3%AA%E7%AE%A1%E7%90%86%E3%80%80%E6%89%8B%E6%B3%95&t=lm&ia=web

https://duckduckgo.com/?q=%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%80%80%E5%93%81%E8%B3%AA%E7%AE%A1%E7%90%86%E3%80%80%E5%9F%BA%E6%BA%96&t=lm&ia=web

https://duckduckgo.com/?q=%E6%B1%82%E4%BA%BA%E3%80%80%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%80%80%E5%93%81%E8%B3%AA%E7%AE%A1%E7%90%86&t=lm&ia=web

https://duckduckgo.com/?q=%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%80%80%E5%93%81%E8%B3%AA%E7%AE%A1%E7%90%86%E3%80%80%E8%B3%87%E6%A0%BC&t=lm&ia=web

https://duckduckgo.com/?q=%E4%B8%96%E7%95%8C%E3%81%AEIT%E4%BA%BA%E6%9D%90&t=lm&ia=web

歴史再発見URL

https://historyofcomputer.info/page/3