명령 집합이란 무엇입니까?

모든 CPU는 처음부터 특정 명령어 세트를 지원하도록 설계되었습니다. 명령 집합은 CPU가 수행할 수 있는 하드 코딩된 작업 집합입니다. 이러한 작업은 예를 들어 두 개의 숫자를 더하거나 프로그램의 다른 부분으로 이동하거나 두 값을 비교하는 것일 수 있습니다. 컴퓨터가 수행할 수 있는 각 작업은 opcode로 고유하게 표시됩니다.

연산 코드

프로그램을 실행할 때 CPU는 프로그램 카운터를 사용하여 다음에 수행해야 하는 명령을 추적합니다. 명령이 인출되면 프로그램 카운터는 다음 명령의 시작을 가리키도록 명령의 길이만큼 증가합니다. 각 명령은 opcode로 구성됩니다. 명령에 따라 피연산자를 포함하거나 포함하지 않을 수 있습니다. 피연산자는 상수 값이거나 CPU 레지스터 또는 시스템 RAM의 값 위치에 대한 포인터일 수 있습니다.

전체 명령어를 가져온 후에는 디코딩해야 합니다. 이것은 CPU가 opcode와 피연산자를 분리하는 프로세스입니다. 디코딩된 opcode는 CPU의 특정 전기 경로를 활성화 또는 비활성화하여 올바른 작업을 수행하는 데 사용됩니다.

명령어가 해독되면 실행됩니다. CPU의 정확한 동작은 작업에 따라 다릅니다. 더하기 연산은 두 값을 합산합니다. 점프 작업은 프로그램에서 점프할 위치를 계산합니다. 비교 작업은 두 값을 비교합니다. NOP는 No Operation을 의미하므로 NOP 작업은 유휴 상태가 됩니다.

대부분의 명령은 작업 결과를 출력합니다. 이 출력은 프로세서 레지스터 및 필요한 경우 시스템 RAM으로 이동할 수 있습니다. 이러한 각 작업은 완료하는 데 단일 클록 주기가 걸립니다.

불법 opcode

각 CPU 아키텍처에는 제조업체에서 게시한 특정 opcode 목록이 있습니다. 이러한 opcode의 값은 플랫폼 간 동일하지 않을 수 있으며, 이는 소프트웨어가 서로 다른 아키텍처용으로 컴파일되어야 하는 이유입니다. 경우에 따라 제조업체는 문서화되지 않은 opcode도 포함합니다. 이를 "불법 opcode"라고 합니다. 불법 opcode는 문서화되지 않았지만 호출될 때마다 동일한 기능을 수행합니다. 그러나 문서화되지 않은 비표준 기능은 CPU 아키텍처 업데이트로 간단히 제거할 수 있습니다.

Apple II의 일부 초기 컴퓨터 게임은 특정 불법 opcode에 의존했습니다. 그런 다음 IIc가 게임에 필요한 불법 opcode를 제거함에 따라 최신 Apple IIc CPU 개정판에서 성능 및 안정성 문제를 겪었습니다. 불법 opcode는 콘텐츠를 크래킹하는 해적과의 싸움에서 모호함을 통한 보안 방법으로 저작권 보호 서클에서도 사용되었습니다. 일부 불법 opcode는 단순히 디버깅 도구 및 오류 처리기로 사용됩니다.

x86 명령어 세트에는 문서화되지 않은 불법 opcode가 많이 포함되어 있습니다. 흥미롭게도 이들 중 일부는 Intel과 AMD CPU 간에 공유되며, 이는 두 회사가 문서화되지 않은 동안 공개적으로 그 목적을 알고 있음을 나타냅니다.

컴파일러 및 어셈블리

대부분의 프로그램은 고급 언어로 작성됩니다. 이들은 상대적으로 읽기 쉽고 종종 학습 곡선을 최소화하기 위해 영어 단어나 약어를 사용합니다. 컴퓨터에서 이러한 프로그램을 실행하려면 컴파일해야 합니다. 컴파일러는 기본적으로 번역기입니다. 고급 코드를 가져와 CPU가 이해할 수 있는 명령인 컴퓨터 코드로 변환합니다.

일부 언어에서는 즉석에서 기계 코드를 생성하는 이전에 컴파일된 프로그램을 통해 컴파일되지 않은 코드를 실행할 수도 있습니다. 어셈블리는 개발자가 수행된 작업을 직접 보고 제어할 수 있도록 속기를 사용하는 저수준 프로그래밍 언어입니다. NOP는 어셈블리 속기의 예입니다.

결론

명령어 세트는 CPU 아키텍처가 실행할 수 있는 공식 기능 목록입니다. 수행할 수 있는 작업 목록입니다. 이러한 작업은 CPU에 하드 코딩되고 해당 opcode를 사용하여 호출됩니다.

소프트웨어는 일반적으로 컴파일러를 사용하여 사람이 읽을 수 있는 고급 코드를 CPU가 읽을 수 있는 기계 코드로 변환합니다. 경우에 따라 CPU 아키텍처에는 불법 opcode라고 하는 문서화되지 않은 opcode가 있을 수 있습니다. 불법 opcode는 기술적으로 명령어 세트의 일부입니다. 그러나 향후 플랫폼 반복에서 안정적으로 사용하지 못할 수 있습니다. 아래 의견에 의견을 남기는 것을 잊지 마십시오.



Leave a Comment

Apple Watch를 하드 리셋하는 방법

Apple Watch를 하드 리셋하는 방법

Apple Watch 하드 리셋 및 공장 초기화 방법을 단계별로 설명합니다. 소프트 리셋부터 하드 리셋까지, 모든 모델에 대한 가이드를 제공합니다.

Galaxy Watch에서 항상 디스플레이가 작동하지 않는 문제 수정

Galaxy Watch에서 항상 디스플레이가 작동하지 않는 문제 수정

Samsung Galaxy Watch에서 Always on Display(AOD)가 작동하지 않을 때 해결하는 방법을 알아보세요. 절전 모드 비활성화, 앱 데이터 지우기, Wearable 앱 재설치 등 7가지 효과적인 해결책을 제공합니다.

링크드인: 다른 사람들이 당신이 그들의 프로필을 본 것을 알지 못하게 하는 방법

링크드인: 다른 사람들이 당신이 그들의 프로필을 본 것을 알지 못하게 하는 방법

LinkedIn에서 다른 사람들이 당신이 그들의 프로필을 본 것을 알지 못하게 하는 방법을 알아보세요. 비공개 모드 설정, 프로필 조회 기록 확인, 추가 필터 사용법 등을 포함한 완벽 가이드.

Chromebook에서 이모티콘을 얻는 방법: 알아야 할 3가지 최고의 방법

Chromebook에서 이모티콘을 얻는 방법: 알아야 할 3가지 최고의 방법

세 가지 최고의 방법으로 Chromebook에서 그림 이모티콘을 얻고 일상적인 대화를 재미있고 흥미롭게 만드는 방법을 알아보세요.

서버 팜이란 무엇입니까?

서버 팜이란 무엇입니까?

서버 팜은 데이터 센터에서 고성능 서버들이 모여 대규모 작업을 처리하는 시스템입니다. 효율적이고 경제적인 처리를 제공합니다.

컴퓨터에 물 손상이 있는지 확인하는 방법

컴퓨터에 물 손상이 있는지 확인하는 방법

물 손상은 하드웨어를 심각하게 부식시킬 수 있으며 컴퓨터 수리가 항상 가능한 것은 아닙니다. 예방은 항상 치료보다 낫습니다.

수정: Chromebook이 인쇄 미리보기를 로드하지 않음

수정: Chromebook이 인쇄 미리보기를 로드하지 않음

크롬북에서 인쇄 미리보기를 로드할 수 없는 경우 해결 방법을 제시합니다. 각 단계별로 간단하게 따라 해보세요.

Galaxy S20에서 무작위 재부팅을 중지하는 방법

Galaxy S20에서 무작위 재부팅을 중지하는 방법

Galaxy S20의 무작위 재부팅 문제를 해결하는 방법을 알아보세요. 스마트폰을 최대한 활용하세요.

Spotify 노래가 차지하는 공간 확인

Spotify 노래가 차지하는 공간 확인

Spotify Premium을 사용하면 사용자가 노래를 다운로드할 수 있으므로 네트워크에 연결되어 있지 않아도 들을 수 있습니다. 공간 최적화 방법도 알아보세요.

YouTube 동영상을 VLC 플레이어로 스트리밍하는 방법

YouTube 동영상을 VLC 플레이어로 스트리밍하는 방법

VLC Media Player는 오픈 소스이며 모든 플랫폼에서 사용 가능한 무료 미디어 플레이어입니다. 지금 바로 유튜브 동영상을 VLC에서 스트리밍하는 방법을 알아보세요.