Vengineerの妄想(準備期間)

人生は短いけど、長いです。人生を楽しみましょう!

SamsungのExynos M1コア


Samsung Exynos 8 Oct (8890)のCPUコアは、Exynos M1と呼ばれているみたい。
big.LITTLE構成でbigの方がExynos M1、LITTLEの方がA53。
Exynos M1は2コア動作の時は2.6GHzで動作し、
4コアの場合は2.288GHzで動作する。

で、Exynos M1ってどんなコア? ARMv8なのは確かだが。。。

Google君に聞いてみたら、GCCでサポートしていて、
Machine descritionが定義されています。
exynos-m1.md

このファイルの中をチェックしてみたら、
;; The Exynos M1 core is modeled as a triple issue pipeline that has ;; the following functional units.

(define_automaton "exynos_m1_gp") (define_automaton "exynos_m1_ls") (define_automaton "exynos_m1_fp")
とありました。3命令同時実行のパイプラインがあるようです。

パイプラインとしては、
    1. Two pipelines for simple integer operations: A, B
    2. One pipeline for simple or complex integer operations: C
    3. Two asymmetric pipelines for Neon and FP operations: F0, F1
    4. One pipeline for branch operations: BX
    5. One AGU for loads: L ;; One AGU for stores and one pipeline for stores: S, SD
のようで、基本的には、ARM Cortex-A57と同じ同じですが、
A57がLoad/Storeが2本に対して、L/S/SDと3本になっているようです。

GCCのMachine descriptionを見ると、
CPUコアがどうなっているかが分かることを知りました。
このディレクトリにはARM関連のMachine descritionがあります。