RL78マイコン向けCコンパイラにおけるprocedural abstractionの実装

書誌事項

タイトル別名
  • An Implementation of Procedural Abstraction in a C Compiler for the RL78 Microcontroller

この論文をさがす

抄録

組込機器におけるプログラムの主な記録先である,組込マイコンの内蔵フラッシュメモリの容量は限定的である.限定的な容量に収まるよう,プログラムを加工する作業の自動化を目的として,組込マイコン向け言語処理系は,サイズを削減する最適化を提供しており,代表例にprocedural abstractionがある.procedural abstractionはサイズを削減するために,プログラム中に繰返し現れる命令列を集約し,集約元には集約先への関数呼出し命令を配置する.ここで,関数呼出しに際しては副作用が生じるので,副作用への対処法が問題になる.本論文では,RL78マイコンなど,関数呼出しの際に,戻り番地をスタックに積むという副作用が発生するアーキテクチャ向けの対処法を示し,その効果を明らかにする.実用的な組込アプリケーションによる評価の結果,本論文で示す対処法により,サイズを0.95%小さくできることが分かった.

We often record programs for an embedded machine in the flash memory of a microcontroller, but its capacity is often limited. So, in the development of such programs, size reduction is often in need, but manual reduction is costly. In order to reduce the size automatically, many optimizations have beed invented, and one of them is procedural abstraction. Procedural abstraction reduces the size by summarizing instruction sequence repeatedly apper in the program. Because it uses a call instruction to transfer the control to the summarized instruction sequence, it needs methods to manage the side effects the call instruction causes. In this paper, we present the method for architectures whose call instruction puts the return address on the stack. We implemented our method for one of the architectures, namely the RL78 microcontroller, and evaluated using practical programs to show that our method reduce the code size by 0.95%.

収録刊行物

詳細情報 詳細情報について

  • CRID
    1050290769962403072
  • NII論文ID
    170000186187
  • NII書誌ID
    AA11464814
  • ISSN
    18827802
  • Web Site
    http://id.nii.ac.jp/1001/00214460/
  • 本文言語コード
    ja
  • 資料種別
    article
  • データソース種別
    • IRDB
    • CiNii Articles

問題の指摘

ページトップへ