HN 日本語サマリー

← 一覧へ戻る
科学・技術

私が構築したソフトウェア:25MHz 486-SXでのGPS

A software thing I built: GPS on a 25MHz 486-SX (forum.vcfed.org)

25 pointsby JPLeRouzic6 コメント

要約

1990年代に組み込みシステム開発者として、25MHz 486-SX CPU、32MB RAMを搭載したハードウェアプラットフォーム上で動作するリアルタイムGPS駆動型移動マップディスプレイ(現在のGPS)を開発した経験が語られています。当時の一般的な浮動小数点演算中心のアプローチとは異なり、Voronoiセルと整数演算を多用するHipparchusライブラリを採用することで、当時のコンシューマー向けGPSデバイスよりも高速で高解像度な表示を実現しました。

全文翻訳

このようなことに興味がある人がいるかどうかわかりませんが、90年代に組み込みシステムソフトウェア開発者として依頼されて構築したプロジェクトについての短い話を共有したいと思います。これは、まだアクセスできるなら、ぜひ手元に残しておきたいプロジェクトです。私が取り組んだのは、「リアルタイムGPS駆動型移動マップディスプレイ」を構築するという依頼で、これは現在私たちが単に「GPS」と呼んでいるものです。それが今では、事実上、世界中のほぼすべての携帯電話やタブレットコンピュータに組み込まれています。私は、25MHz 486-SX CPU、32MBのRAMを搭載したハードウェアプラットフォームで動作し、ソフトウェアはROMに格納されるように、このソフトウェアを書くように依頼されました。私の記憶が正しければ、画面表示は1024x768でした。テスト用に、そのように構成されたラップトップが提供されました。486-SXは、数学コプロセッサが搭載されていない方でした。当時、GISアプリケーションで見つけられた数学のほとんどは、浮動小数点数の多用と多くの三角関数に基づいていました。(私の学士号は数学/コンピュータサイエンスです。) 偶然にも、その数ヶ月前に、Dr. Dobb's Journalに、非常に異なるアプローチを取るライブラリに関する記事が掲載されました。それはGeodesyという会社からのHipparchusというものでした。それはVoronoiセルを使用し、ほとんどの数学を8ビットおよび16ビットの整数計算に還元し、単精度浮動小数点計算を1つか2つ使用しました。実際には、拡張精度浮動小数点数よりも高い解像度を持っていました!私はその記事のコードでプロトタイプを構築し、それがどれほどうまく機能したかに驚きました。クライアントにHipparchusライブラリのコピーを購入してもらい、完全に動作するモデルを構築しました。クライアントは財政的な問題を抱え、私はすべてのものを彼らに引き渡さなければなりませんでした。その後どうなったかは全くわかりません。彼らは数十億ドル規模のビジネスになっていたかもしれません。奇妙なことに、私がやったことを誰かが聞きつけ、直接連絡してきて、彼らのためにそれをやってもらえないか尋ねてきました。残念ながら、私は単なる請負業者であり、IPを所有していませんでした。Phoenix TechnologiesがIBM PCクローンベンダーが使用するBIOSを構築するために「クリーンルーム」アプローチを取ったこと、そして訴訟を起こされなかったことは言及する価値があります。しかし、AppleとFranklin Computerの間で訴訟が起こされ、「クリーンルーム」アプローチを支持する判決が下されたのは1989年まで待たなければなりませんでした。残念ながら、1993年当時、私はこれらのことを知らなかったため、仕様に基づいて単純に最初からやり直すことができたでしょう。 いずれにせよ、これはGarminやMagellanからコンシューマーグレードのGPSデバイスが登場する5年前でした。彼らが抱えていた大きな問題は...従来の三角法アルゴリズムを実行するのに十分な浮動小数点速度を持つ安価なCPUが登場するのにそれだけ時間がかかったということです。そして、私が構築したものは、それらの第一世代デバイスの2倍の速さでした!数学コプロセッサを必要とせず、私が1993年に構築したものと同等のパフォーマンスを持つコンシューマーグレードのGPSが登場するまで、文字通り10年かかりました。そして、それは1024x768のカラーディスプレイを2秒ごとに更新していました。それらの最初の小さなコンシューマーGPSデバイスには、360x240の小さなモノクロームスクリーンが付いていました。 このようなことに興味がある人がいるかどうかわかりませんが、90年代に組み込みシステムソフトウェア開発者として依頼されて構築したプロジェクトについての短い話を共有したいと思います。これは、まだアクセスできるなら、ぜひ手元に残しておきたいプロジェクトです。私が取り組んだのは、「リアルタイムGPS駆動型移動マップディスプレイ」を構築するという依頼で、これは現在私たちが単に「GPS」と呼んでいるものです。それが今では、事実上、世界中のほぼすべての携帯電話やタブレットコンピュータに組み込まれています。私は、25MHz 486-SX CPU、32MBのRAMを搭載したハードウェアプラットフォームで動作し、ソフトウェアはROMに格納されるように、このソフトウェアを書くように依頼されました。私の記憶が正しければ、画面表示は1024x768でした。テスト用に、そのように構成されたラップトップが提供されました。486-SXは、数学コプロセッサが搭載されていない方でした。当時、GISアプリケーションで見つけられた数学のほとんどは、浮動小数点数の多用と多くの三角関数に基づいていました。(私の学士号は数学/コンピュータサイエンスです。) 偶然にも、その数ヶ月前に、Dr. Dobb's Journalに、非常に異なるアプローチを取るライブラリに関する記事が掲載されました。それはGeodesyという会社からのHipparchusというものでした。それはVoronoiセルを使用し、ほとんどの数学を8ビットおよび16ビットの整数計算に還元し、単精度浮動小数点計算を1つか2つ使用しました。実際には、拡張精度浮動小数点数よりも高い解像度を持っていました!私はその記事のコードでプロトタイプを構築し、それがどれほどうまく機能したかに驚きました。クライアントにHipparchusライブラリのコピーを購入してもらい、完全に動作するモデルを構築しました。クライアントは財政的な問題を抱え、私はすべてのものを彼らに引き渡さなければなりませんでした。その後どうなったかは全くわかりません。彼らは数十億ドル規模のビジネスになっていたかもしれません。奇妙なことに、私がやったことを誰かが聞きつけ、直接連絡してきて、彼らのためにそれをやってもらえないか尋ねてきました。残念ながら、私は単なる請負業者であり、IPを所有していませんでした。Phoenix TechnologiesがIBM PCクローンベンダーが使用するBIOSを構築するために「クリーンルーム」アプローチを取ったこと、そして訴訟を起こされなかったことは言及する価値があります。しかし、AppleとFranklin Computerの間で訴訟が起こされ、「クリーンルーム」アプローチを支持する判決が下されたのは1989年まで待たなければなりませんでした。残念ながら、1993年当時、私はこれらのことを知らなかったため、仕様に基づいて単純に最初からやり直すことができたでしょう。 いずれにせよ、これはGarminやMagellanからコンシューマーグレードのGPSデバイスが登場する5年前でした。彼らが抱えていた大きな問題は...従来の三角法アルゴリズムを実行するのに十分な浮動小数点速度を持つ安価なCPUが登場するのにそれだけ時間がかかったということです。そして、私が構築したものは、それらの第一世代デバイスの2倍の速さでした!数学コプロセッサを必要とせず、私が1993年に構築したものと同等のパフォーマンスを持つコンシューマーグレードのGPSが登場するまで、文字通り10年かかりました。そして、それは1024x768のカラーディスプレイを2秒ごとに更新していました。それらの最初の小さなコンシューマーGPSデバイスには、360x240の小さなモノクロームスクリーンが付いていました。 S stepleton Veteran Member Joined Aug 29, 2026 Messages 12 興味深いですね!HipparchusはMicrosoftに渡ったようです:https://geodyssey.github.io/ 興味深いですね!HipparchusはMicrosoftに渡ったようです:https://geodyssey.github.io/