他方、文字による記録においてはホメロスの『イリアス』第23歌「パトロクロスの葬送競技」で行なわれた戦車競走に関する記述が最初である。親友パトロクロスの死を悼んだアキレウスが主催したこのレースの参加者はディオメデス、エウメロス、アンティロコス、メネラオス、メリオネスであった。木の切り株を折り返して一往復したこの二頭立ての戦車競走で勝者となったディオメデスは、褒美として女奴隷を1人と大釜を1つ与えられた。死者を葬る際にこのような競技会を催すことが、特に珍しいことでなかったことは、アンティロコスの老父ネストルが、自分が若き日に出場した同様の競技会について回想し、言及していることからもうかがわれる。
どのようにして戦車競走が始まったかについては正確にはわかっていないが、戦車そのものの発生と同じ時代までさかのぼるとされている。ミケーネ世界でこの競技が存在していたことは、それを描いた陶器によって知られる。
戦車競走（せんしゃきょうそう、英語：chariot racing）とは、古代ギリシアおよびローマ帝国において人気のあったスポーツの一つである。御者および馬にとって重傷を負ったり死に至ったりすることさえ珍しくない危険な競技であり、現代においてモータースポーツが人々の大きな関心を集めることに類似している。戦車競走の組織的側面は、ある部分において今日のプロスポーツにも似ている。ローマ時代の戦車競走では、財政支援を行なうグループごとにそれぞれチームがあり、ことに優秀な御者をめぐってはその雇用についての争いもあった。こうしたチームは観客の間に熱烈な支持を集め、異なるチームのファン同士の間で騒動が起こる要因ともなった。戦車競走が単なるレースにとどまらない、社会全体に影響を与える存在となるにつれ、このようなファン同士のもめごとが政治問題化するようにもなった（例えばニカの乱）。ローマ帝国やのちの東ローマ帝国の皇帝たちがこれらのチームを統制し、彼らを監視する役職をおいたのもそうしたことが理由である。戦車競走は西欧では西ローマ帝国の滅亡にともなってその重要性を失った一方、東ローマ帝国で存続した。今日の繫駕速歩競走の元となっている。また、ドイツのボードゲーム・アベ・カエサルは、戦車競走を基にして生み出された。
歴史的にはパイプラインも分岐予測も、マイクロプログラム方式のCISCプロセッサで生まれ発達した技術であり、RISCを含むマイクロプロセッサでの分岐予測は最初は簡単なものであった。なお「マイクロプログラム方式のプロセッサは分岐予測を必要としなかった」という説があるが間違いである。一般論としてRISCの方がパイプラインの効果が発揮しやすい（逆に言えばパイプラインが乱れると性能劣化が大きい）ため、結果的に分岐予測が重要というだけである。IBM 7030 (Stretch) は1950年代末に設計され、インデックスレジスタに依存する全ての無条件分岐と全ての条件分岐を事前評価する。他の条件分岐については、最初の2つの生産モデルで「分岐しない」という静的予測を実装していたが、その後のモデルでは（今日の条件コードに相当する）インジケータビットの現在値に基づく分岐予測を実装している。設計の早い段階で、分岐命令にヒントビットを持たせることも検討されたが、最終的にはやめている。予測失敗時のリカバリは先読みユニットで行ったが、このリカバリに時間がかかったことが性能が目標に達しなかった一因だとされた。その後のIBMの大型機は分岐予測と投機的実行を行わず、再び実装したのは1985年の IBM 3090 からである。2ビット飽和カウンターは1977年、Tom McWilliams と Curt Widdoes が考案しローレンス・リバモア国立研究所の S-1 というスーパーコンピュータで採用した、また、CDCの Jim Smith がそれとは独立に1979年に考案している。1960年代から1980年代までマイクロプログラム方式のプロセッサが主流で、1命令の実行に複数サイクルかかるため、分岐予測はそれほど重要ではなかった。しかし IBM 3090 以外にもマイクロプログラム方式で分岐予測を行う設計がいくつか存在した。Burroughs B4900 はマイクロプログラム方式のCOBOLマシンで、1982年ごろリリースされた。パイプライン化されており、分岐予測も行う。B4900の分岐予測のための履歴情報は、プログラム実行中にメモリ上の命令に書き戻される。B4900では分岐命令の命令コード内の2ビットを分岐予測のための4状態を表すのに使っている。ハードウェアは特定の分岐命令の予測が外れた場合にメモリ上の命令を書き換えて予測状態を更新する。この方式で予測成功率は93%だった。1989年に発表された VAX 9000 はマイクロプログラム方式でパイプラインを使っており、何らかの分岐予測を行っていた。最初の商用RISCプロセッサであるMIPS（R2000とR3000）とSPARCは単純な「常に分岐しない」という分岐予測だけをした。これらは分岐遅延スロットを使い、1サイクルに1命令をフェッチするだけだったため、性能損失は全くなかった。後のR4000でも同様の予測方式だったが、分岐命令の評価に4サイクルかかったため分岐が発生すると2サイクルを無駄にすることになった。分岐予測はインテル Pentium、DEC Alpha 21064、MIPS R8000、IBM POWERのようなパイプライン化されたスーパースケーラプロセッサでは重要な問題となった。これらのプロセッサは単純な1ビットあるいは2ビット分岐予測を使用している。DEC Alpha 21264 (EV6)は、次ライン分岐予測を基本とし、局所分岐予測と広域分岐予測を統合した分岐予測で上書きを行う（統合には飽和カウンターを使用）。AMD K8 は飽和カウンターと広域分岐予測を統合しており、統合時の選択には別の飽和カウンターを使用している。このプロセッサは、ECCとして使われていた二次キャッシュ内のビット群を分岐予測に代用する。結果として分岐予測テーブルとして大容量を使用可能となり、キャッシュに関してはECCではなくパリティビットを使用することになる。キャッシュエラー（ECCエラーやパリティエラー）が発生したらいずれにしてもそのキャッシュラインを無効化してメモリから読み直すので、この選択は非常に効果的と思われる。Alpha 21464（EV8、後に設計段階で開発中止）では分岐予測が失敗した場合に最低でも14サイクルかかった。複雑だが高速な次ライン予測を基本とし、飽和カウンターと多数決型分岐予測を統合して上書きする。多数決は、飽和カウンターと2つのgskew分岐予測の間で行う。