2016-10-31 3 views
1

표준 C 컴파일러가 목표로 작성되도록 프로세서가 지원해야하는 절대적인 최소 명령어가 궁금합니다. 그 요구 사항은 무엇입니까?C 컴파일러를 위해 프로세서의 최소 요구 사항은 무엇입니까?

+1

이것은 소프트웨어 엔지니어링 사이트에서 더 좋을 수도 있습니다 ... –

+0

단일 테이프 튜링 기계가 어떻게 작동하는지 알고 있습니까? 이것이 CPU가 할 수있는 정도입니다. 별로 아니에요, 말할 수 있습니다. – deamentiaemundi

+1

@deamentiaemundi 그냥 재미있게 "C 튜링 머신 컴파일러"로 봤는데. 그것은 결과를 산출합니다. –

답변

3

대답은 놀라 울 정도로 간단합니다. 모든 Turing complete 머신은 다른 Turing 완료 머신을 에뮬레이션 할 수 있으며, 작성된 C 컴파일러를 가질 수있는 머신은 Turing 완료이므로 모든 Turing 머신에서 에뮬레이션 할 수 있습니다.

C 표준의 I/O는 매우 모호하므로 영구적이거나 외부에서 볼 수 없거나 반환 오류 이외의 다른 작업을 수행 할 필요가 없으므로 필요하지 않습니다. 시간 관련 함수에 대해서도 마찬가지입니다 (나는 그 모두를 보지 않았습니다, 예외가있을 수 있습니다).

이론상으로 이론상으로는 C에 대해 충분히 강력한 single instruction computer을 가질 수 있습니다. 대부분의 다른 프로그래밍 언어에도 동일합니다, btw. I/O 없이는 그리 유용하지는 않지만 충분합니다.

엄밀히 말하면 실제 컴퓨터는 메모리가 없기 때문에 튜링이 완전하지는 않지만, 우리가 곁눈질로 보았을 때 거의 똑같은 척한다고 생각합니다.

+0

하나의 명령어 세트 컴퓨터 문서가 굉장합니다. – bolov

+0

글쎄, 메모리 오류가 발생할 때까지는 실제 튜링이 아닌 기계를 관찰 할 수 없다고 주장 할 수 있습니다. – bolov

관련 문제