-
Notifications
You must be signed in to change notification settings - Fork 1
Home
hongsam14 edited this page Jul 6, 2022
·
9 revisions
코딩을 공부하다보니 명령을 내리는 컴퓨터에 대해 알고싶어졌다. 컴퓨터에서 무슨 일이 일어나는지 논리적으로 구현해보고자 한다.
전기공학이 필요한 부분을 추상화 시키고 부울 연산과 논리게이트부터 ALU, 하드웨어 플랫폼을 코드로 구현해본다.
추후 유니티 프로젝트를 함에 있어서 도움이 될 것으로 판단하였다.
유니티를 사용. 기능들을 GameObject로 구현.
- Architecture All Access: Modern CPU Architecture by Intel Technology https://www.youtube.com/watch?app=desktop&v=vgPFzblBh7w
- Computer Science by CrashCourse https://youtube.com/playlist?list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo
- Emulating a CPU in C++(6502) by Dave Poo https://www.youtube.com/watch?v=qJgsuQoy9bc&t=2s
- The Elements of Computing Systems 밑바닥부터 만드는 컴퓨팅 시스템 by Noam Nisan
구현하고자 하는 기능은 Unity Editor, Unity Runtime 두 영역에서 동작한다.
구현한 object(ex: prefab)를 쉽게 생성, 삭제, 조합을 할 수 있는 Editor Window.
- 생성 : 원하는 종류의 object를 생성할 수 있다.
- 삭제 : 선택한 object를 삭제할 수 있다.
- 조합 : 선택한 두 object를 연결하는 것을 말한다.
가시성을 위한 기능.
- 선택: 선택한 object 외곽이 하이라이트 처리가 된다. 선택의 방법은 마우스 클릭외 다른 방법이 있다.(미정) (보너스: 여러개를 선택, 선택 중인 object를 해제하는 기능)
- 연결: 연결 된 두 object 사이에 line이 생긴다. (보너스: 1대 다, 다대 1 괸계에서의 line 생성)
- 주기 : scene에 있는 object는 scene에서 지정한 동일한 주기대로 동작한다. 주기는 사용자가 설정할 수 있다.
- 입출력 인터페이스 : 데이터 입출력을 위한 인터페이스. (보너스: 여러 연산을 처리하기)
- 디버그 인터페이스 : 원하는 지점의 값을 알 수 있는 인터페이스. (보너스: 여러 지점의 값을 알 수 있기)
.