Skip to main content

Docs

God shall bless us; and all the ends of the earth shall fear him.

실시간시스템

실시간시스템

wcet analysis

$\tau_i = (p_i, e_i)$

How do we know p, e

p => physical demand e => not constant

왜 분석 방법인가

Measurement: 상대적으로 정확하다, 코드가 구현되어야 한다(not early design stage), 최악을 보장하지 않는다

Analysis: WCET

어떤걸 고려해야 하는가

  • 장치 임베디드는 큼, 조건에 맞는 최소 사양을 보통 선택, RISC => no cache
  • 소프트웨어 c++ / assembly
  • 추가 정보 optimize execution path so that guarantee worst execution path

기본 분석 방법

block: no branch sequential execution
블럭은 사이클이 정해져 있어서 실행 시간을 정할 수 있음

Timing Schema
S:S_1:S_2 S:if(exp) then S_1 else S_2 S:while(exp)S_1

bottom up analysis

Pipelined architecture

기본 방법을 적용 가능하나, 파이프라인의 이점을 잃어버림

bottom up concatenation
reservation table 생성 후 블럭간 오버래핑

문제: longest worst case execution time이 overlapping 되며 worst가 아닐 수 있음 => 모든 path를 전부 고려해야 함

Revised Timing Shcema S:S_1:S_2 => W(S) = W(S_1) \union W(S_2) S:if S:while => 현실적으로 사용할 수 없음, set이 지수적으로 증가

오버랩 가능한 head, tail만 저장 => Abstracted Reservation Table

가지치기, 절대 worst case가 될 수 없는것 제거 => worst case of w1 < best case of w2 이면 w1 제거 가능

Instruction Cache Effect

preceding execution path를 사용해 cache miss/hit을 분석, 모르면 miss로

first referece와 last reference를 기억하고, 오버랩