大して深く調べもせずに書いてます。
Wikipediaに
Coroutines originated as an assembly-language technique・・・
とあります。
また、サブルーチンはコルーチンの特殊なもの、ということだそうで出生は同時期ということになりそうです。
アセンブラでコルーチンを使うと、スタックも消費せず、マルチプログラミングが実践できる気がします。代わりにコンテキスト保存用ワークメモリが必要となるわけですが、それは固定サイズで容易に見積もり可能です。私は趣味プロジェクトでコルーチンを一度使った経験しかないですが、デバッグは相当楽でした。スタックは動き回るので大変です。
スタックと同じく、誰でも思いつきそうな実装テクニックが先立ったのか理論が先立ったのかは気になりますが、未来を変えるためには相当多くの人間が関係してくることになりそうですな。