そもそもコンピュータはどうやって動くのか?

私は、アセンブリ言語(アセンブラ)の仕事からはじめたので、CPU、レジスタ、アドレスバス、データバス、スタック、割り込みなどがどうのこうのとか、はたまたマルチタスクとか、そもそもコンピュータはどうやって動いているのかということから必要に迫られて学びました。
リソースなども含めマシンスペックがあがり、高級言語が常識で、オブジェクト指向とか、マルチパラダイムとか、そんな世界になった今、そもそもコンピュータでどうやって動くの?ってなことは開発者であってもはや知る必要もないんでしょうか?

たぶん知らなくても仕事はでき、十二分にちゃんと動くシステムは作れるのでしょう。特に、新人で全体の構図が見えていないで細分化されたモジュールを設計どおりに組んでいるならば。
しかし、具体的なことはともかく、超基本的な概念は知っておいくというか「理解」しておく必要があると考えています。
いずれプロセスやスレッドの話は避けて通れなくなりますし、リソースの消費量などの感覚も変わってくると思います。