Presentation is loading. Please wait.

Presentation is loading. Please wait.

School of Computer Science and Engineering Seoul National University

Similar presentations


Presentation on theme: "School of Computer Science and Engineering Seoul National University"— Presentation transcript:

1 School of Computer Science and Engineering Seoul National University
Y86-64 ISA 확장 프로젝트 School of Computer Science and Engineering Seoul National University 1

2 목차 개요 프로젝트 설명 Part A Part B 환경 Online : C9

3 개요 이 프로젝트는 Y86-64의 여러 instruction중 addq를 확장하고, sequential processor simulator 그리고 pipelined processor simulator를 이용하여 simulate하는 것이 목적입니다. 확장자 및 파일 설명 .hcl : 위의 목적을 달성하기 위해서 변경해야 하는 hcl파일은 seq-full.hcl, pipe-full.hcl, pipe-nt.hcl, pipe-btfnt.hcl이 있습니다. 이 파일들은 하드웨어가 어떤 논리로 구성되는지에 대해 정보를 담고 있는 파일입니다. (오른쪽 그림 참조) Makefile : Makefile은 .ys -> .yo 그리고 hcl -> … -> simulator를 한번에 할 수 있도록 만든 terminal 명령 집합입니다. 따라서 여러분은 terminal에서 hcl파일을 작성하신후에, make 를 이용하여 simulator를 만들수 있습니다. hcl 파일에 따라 ssim(sequential simulator), psim(pipelined simulator)가 생성됩니다.

4 프로젝트 설명 Part A addq instruction은 기존에 register와 register간의 연산을 하는 opq instruction 중 하나입니다. Part A에서는 새로운 instruction인 “iaddq”을 정의 하는것이 목적입니다. “iaddq”는 기존의 “addq”의 register와 register뿐만 아니라, register와 immediate간의 연산까지 가능해야 합니다. (교과서문제 4.51, 4.52참조) “seq-full.hcl”의 Fetch, Decode, Execute, Memory, PC stages의 코드들을 수정하여서 SEQ processor가 새로운 instruction 인 “iaddq”를 지원할 수 있도록 만들어야 합니다. 우선 ../sim 에서 make를 한번 실행하신 후 ../sim/seq 에서 “seq-full.hcl”을 수정하고 terminal에 make VERSION=full을 입력하여 ssim을 만들 수 있습니다. Ssim이 생성 되었다면 같은 경로에서 ./ssim –t ../y86code/asumi.yo 를 입력하여서 iaddq를 포함하는 assembly 파일을 simulate 할 수 있습니다. iaddq instruction이 없는 파일인 asumr.yo도 함께 simulate하여 결과를 비교해보기 바랍니다. * 코드를 변경하신 후에 새로운 simulator를 만들려고 하신다면 “make clean” -> “make VERSION=full” 을 하시기 바랍니다. ISA Check Succeeds가 나와야 제대로 작성된 simulator입니다.

5 프로젝트 설명 Part B Part A를 성공적으로 하셨다면 이제 sequential processor를 pipelined processor로 확장하고, 몇 가지의 speculative action을 구현 하는것이 Part B의 목표입니다. Part A와 유사하게 “pipe-full.hcl”코드를 수정하여서 pipelined processor가 새로운 instruction 인 “iaddq”를 지원할 수 있도록 만들어야 합니다. (교과서 문제 4.54) ../sim/pipe 에서 “pipe-full.hcl”을 수정하고 terminal에 make VERSION=full을 입력하여 psim을 만들 수 있습니다. 위와 같은 방식으로 “pipe-nt.hcl”, “pipe-btfnt.hcl”이 “iaddq”를 지원할 수 있도록 만들고, 각각을 해당 전략에 맞게 code를 수정하시면 됩니다. (교과서 문제 4.55, 4.56) psim이 생성 되었다면 같은 경로에 있는 파일들인 “sdriver.yo”, “ldriver.yo”, “isdriver.yo”, “ildriver.yo”들을 simulate하고 결과를 관찰 하여야 합니다. psim을 만들때에 “make VERSION=nt” 와 같이 “=“ 뒤를 전략이름으로 바꾸어서 각 전략을 선택 할 수 있습니다. *psim과 ssim은 옵션으로 –t 와 –g가 가능합니다 –g는 그래픽모드로, register와 status code, psim에서는 각각의 pipe stage를 보여줍니다.

6 프로젝트 설명 driver.ys는 ncopy function을 test하는 driver입니다. ncopy.ys는 기존의 hcl을 이용하여 compile한 assembly이고, incopy.ys는 확장된 hcl을 이용하여 작성된 assembly 입니다. 접두어 s, l은 각각 short, long으로 4개 64개의 element 를 뜻하고, 접두어 i는 iaddq를 사용한 assembly라는 뜻 입니다. archlab.pdf에 regression test에 대해서 설명이 있습니다. 여러분이 수정하신 hcl파일들은 모두 regression test를 통과하셔야 합니다. Part B의 결과를 통하여 pipeline에 대한 이해를 돕는 것이 이번 과제의 목적입니다.

7 환경 이번 프로젝트는 linux기반 환경에서 진행됩니다.
따라서 여러분은 작업환경을 선택하여서 프로젝트를 수행 하여야 하는데, linux에 익숙하지 않은 학생들에게 추천하는 환경은 C9입니다. C9은 온라인에서 여러 작업환경을 사용 할 수 있게 해주는 cloud service입니다. C9을 이용하시려는 분은 메일 주소를 작성해주시면 저희가 초대메일을 보내드리도록 하겠습니다. 개인의 작업환경에서 프로젝트를 진행하시는 분은 여러가지 trouble shooting이 필요할 것으로 생각됩니다. 이 프로젝트를 준비하면서 발생하였던 문제들에 대해서는 정리해서 자료를 올려드리도록 하겠습니다. 다만, 개인 컴퓨터를 사용하여 진행하였을 때 발생하는 문제들에 대해선 도와드리기가 힘들다는 점을 양해 부탁드립니다.

8 C9 작성해주신 메일주소로 초대메일이 발송 될 예정입니다.

9 C9 계정을 가지고 계신 분은 로그인 하시면 됩니다. 계정이 없으시다면 새로운 아이디를 생성합니다. (무료입니다.)
Student와 coursework를 선택하면 됩니다.

10 C9 “your team subscriptions” 아래의 “ccpsymin”를 클릭합니다.
“ccpsymin/ca_2017_archlab”를 clone합니다. Workspace name과 description은 마음대로 변경하셔도 됩니다. Clone에 10분 이상 걸릴 수도 있습니다. 다른 분이 본인의 코드를 못 보게 하시길 원하신다면 설정에 들어가셔서 private으로 만들면 됩니다.

11 Terminal 사용 방법 File – New Terminal을 클릭하여 terminal을 실행합니다.
cd dir 을 입력하면 dir 에 해당하는 경로로 이동합니다. ex) “/home” 이라는 경로에 있을 때, “cd Desktop”을 입력하여 “/home/Desktop” 경로로 이동 할 수 있습니다. cd .. 를 입력하면 상위 경로로 이동 할 수 있습니다. ls 는 현재 경로의 파일들을 보여줍니다. “tar xvf archlab-handout.tar”을 입력하여 압축을 풉니다. “cd archlab-handout”을 입력하여 해당 경로로 이동합니다. “workspace/archlab-handout”에서 “tar xvf sim.tar”입력 후, 오른쪽 그림과 같이 압축이 풀렸다면 제대로 된 것입니다. *C9은 웹에서 작동하기 때문에 simulator의 GUI모드를 사용 할 수 없습니다. 따라서 C9을 사용하신 분들도 GUI모드를 이용한 simulation 을 원하시는 분은 을 이용하시거나, 개인 컴퓨터를 사용하시어 simulation하시길 부탁드립니다.

12 기타 이번 과제는 대부분 archlab.pdf를 기반으로 하여 작성된 것 입니다.
혹시나 이 문서에 작성되지 않거나, 설명되지 않은 부분에 대해서는 “archlab.pdf” 그리고 교과서의 해당 문제에 상세히 설명이 되어 있습니다. 또한 yas, yis, ssim, psim, ptest등의 simulator에 관하여는 “simguide.pdf”에 상세히 설명이 되어 있습니다.


Download ppt "School of Computer Science and Engineering Seoul National University"

Similar presentations


Ads by Google