Comments (9)
step 1: rmw 추가
- step_rmw 추가 (* NOTE: ARM development assumes absence of instr_rmw *)
./build.sh
되도록 수정
step 2: x86 axiomatic semantics 정의
- (* NOTE: x86 development assumes absence of exclusive load/store *)
- isb = nop, dmb rr, rw = nop, dmb ww = sfence, dmb wr+ww = mfence, dmb wr,!ww = nop?
- 일단 ARM copy-paste로 만들고, 나중에 x86/ARM 공통인 것 묶어서 refactoring
- x86 axiomatic: 결과보고서에 모델 있음
step 3: x86 promising semantics 정의
- x86 promising: 정리된 모델 없음
from view-hw.
@drzix
- #5 머지했습니다.
- step 2 진행 부탁드립니다.
from view-hw.
- step 2 처음부터 다시 (axiomatic.v 복사)
- read/write ord 지운다
- write/write ex 지우면서 update 추가
is_reading
,is_writing
에 업데이트 추가
from view-hw.
ALocal.step's Event
- ordr, ordw는 모두 pln으로만 (ordr=acq, ordw=rel)
- fence는 모두 dmb.rr+rw+wr+ww
from view-hw.
TSO Axiomatic
let obs = rfe | fr | co
let dob = ([W U U U R]; po; [W U U U R]) \ (W * R)
let bob = [E]; po; [MF]; po; [E]
let ob = obs | dob | bob
acyclic po-loc | fr as internal
acyclic ob as external
from view-hw.
rfi가 TSO에 없는 이유
예시 1
x = 1 // (1)
r = x // (2)
r = y // (3)
(2), (3)은 tso가 있다.
이 때 (1), (2)가 tso가 있다면, (1), (3)도 tso가 생겨야 하는데 이건 모순이다.
예시 2 (store buffering)
T1
x = 1 // (1.1)
r = x // (1.2)
r = y // (1.3)
T2
y = 1 // (2.1)
r = y // (2.2)
r = x // (2.3)
@jeehoonkang 여기서 cycle이 생기는 이유를 한 번만 더 설명해주시겠습니까....
from view-hw.
- 예시는 하나입니다. T1, T2 있는 예시
- "예시 1"에서 말한 것처럼, rfi <= tso라면 (1) tso (2)이고, RR로부터 (2) tso (3) 입니다.
- 그런데 "예시 2"에서 말한 것처럼 1.3 -> 2.1, 2.3 -> 1.1 사이에 tso가 있습니다. rf <= obs <= ob= tso.
- 그러므로 cycle이 생겨 모순.
--
예시 1에서 "... 이건 모순이다"는 말은 나올 수 없습니다. 모순인 이유를 설명하지 못했기 때문에..
from view-hw.
아 그리고 위 예제는 별개 issue로 만들어주세요. (적당한 tag 붙이고 close해주세요.)
from view-hw.
step 3: x86 promising semantics 정의
- 기존 ARM의
Promising.v
복사 - 필요 없는 것 지우기 (
exbank
,promise
,register view
,cap view
)
from view-hw.
Related Issues (20)
- PLDI 2021 artifact 만들기 HOT 5
- [ETRI] 금년도 연차평가 준비 자료 HOT 6
- 연구노트 스크린샷 (11월 15일 전에)
- Coq 8.12.1? HOT 2
- artifact more comments HOT 5
- artifact 마지막 검수
- artifact more comments HOT 1
- Artifact's model checker doesn't build for kaist-cp-sandbox-01 HOT 1
- Use coq template HOT 1
- artifact 제출을 위한 repo 구성 HOT 5
- coq ci 해야 함 HOT 2
- Extending co in Px86 HOT 10
- ETRI 진도점검 보고서 작성
- `fob` 세 번째에서 `(po;[FL])^?`는 필요한가요? HOT 3
- per-location VPN을 사용하지 않고 같은 cache line의 coh를 모두 join HOT 9
- view step의 rmw (vrmw) 는 coh + exclusive 대신 latest 적용 HOT 1
- Support coq 8.12.0
- Edit README
- *SimLocal.v 는 equiv로 이동하는 게 맞을 듯
- zip으로 묶는 스크립트 추가
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from view-hw.