산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 산업기술

마이크로프로세서 프로그래밍 기초

마이크로프로세서 프로그래밍 기초

마이크로프로세서의 명령어 세트는 각 칩마다 고유합니다. 예를 들어, 인텔 80386은 모토로라 68020과 다른 이진 인코딩을 사용하여, 동일한 연산에도 고유한 머신 코드가 필요합니다.

명령어 세트에 대한 보편적 표준이 없기 때문에, 저수준 프로그래밍은 칩별 깊은 지식을 요구합니다.

개발자가 CPU를 직접 제어하는 코드를 작성할 때(엔진 연료 분사 조정 등), 그는 프로세서의 네이티브 머신 언어로 프로그래밍합니다. 이는 CPU의 제어 장치가 디코딩하는 일련의 이진 비트입니다.

머신 언어는 기술적으로 이진이지만, 프로그래머는 가독성을 위해 거의 항상 16진수로 작성합니다. 인텔 8080의 몇 가지 일반적인 명령어는 다음과 같습니다:

16진수   이진수      명령어 설명
--------- -------- -----------------------------------------
7B        01111011  레지스터 A의 내용을 레지스터 E로 이동
87        10000111  레지스터 A의 내용을 레지스터 D에 더하기
1C        00011100  레지스터 E의 내용을 1 증가
D3        11010011  데이터 버스로 데이터 바이트 출력

16진수 표기법으로도 이 코드들은 혼란스러울 수 있습니다. 어셈블리 언어는 니모닉 약어를 제공합니다. 예: 7B가 MOV A,E가 되며, 이는 실행 전 어셈블러에 의해 이진으로 변환됩니다.

프로그램 작성 후 메모리에 로드해야 합니다. 비휘발성 저장을 위해 ROM 프로그래머가 이진 이미지를 ROM 칩에 쓰고, 휘발성 메모리의 경우 부트로더나 OS 루틴이 키스트로크나 디스크 파일을 받아 코드를 RAM에 배치합니다.

완전한 기능의 PC에서 컴파일러가 어셈블된 코드를 디스크 파일에 씁니다. 런타임에 파일 이름을 호출하면 CPU의 프로그램 카운터가 첫 번째 명령을 가리키고 프로그램이 실행됩니다.

머신이나 어셈블리 프로그래밍은 높은 효율의 코드를 생성하지만, 노동 집약적이고 오류 발생하기 쉽습니다. 고급 언어(C, C++, Java 등)는 개발자가 print "Hello, world!"처럼 의도를 표현하게 하여 개별 머신 단계를 상세히 기술하지 않게 합니다.

고급 프로그램은 컴파일러(정적 변환) 또는 인터프리터(런타임 변환)에 의해 머신 코드로 변환됩니다. 컴파일된 코드는 실행 중 변환이 없으므로 더 빠르고, 인터프리터 코드는 명령당 오버헤드가 발생합니다.

일반적인 컴파일 언어에는 C, C++, FORTRAN, 파스칼이 있고, BASIC과 FORTH는 일반적으로 인터프리터 방식입니다. 명령어 세트가 CPU마다 다르므로, 컴파일러와 인터프리터는 특정 프로세서 아키텍처를 타겟팅해야 합니다.

인텔과 모토로라 같은 제조사들은 새 CPU를 하위 호환되도록 설계하여 호환성 문제를 완화합니다. 예를 들어, 펜티엄 IV 프로세서는 전체 80386 명령어 세트에 추가 명령어를 지원합니다. 80386용으로 컴파일된 코드는 펜티엄에서 실행되지만, 펜티엄 전용 명령어를 사용하는 코드는 80386에서 실행되지 않습니다.

컴파일러는 보통 개발자가 타겟 CPU를 선택하게 합니다. 80386용으로 컴파일하면 구형 하드웨어와의 호환성을 보장하고, 펜티엄용으로 컴파일하면 사용 가능한 경우 새로운 기능을 활용할 수 있습니다.

관련 워크시트

산업기술

  1. 모든 개발자가 마스터해야 할 상위 10대 클라우드 프로그래밍 언어
  2. C 프로그래밍 연산자 완벽 가이드
  3. C 프로그래밍 입문자를 위한 종합 PDF 튜토리얼 마스터하기
  4. 보스크(Bosque): 코드 품질 높이는 마이크로소프트의 새로운 루프 없는 언어
  5. 2021년 반드시 배워야 할 프로그래밍 언어 9가지
  6. C 프로그래밍 입문: 시스템 프로그래밍의 기초 다지기
  7. C 프로그래밍 언어 개요: 역사, 특징, 활용 분야
  8. C 프로그램 구조 이해: Hello World부터 컴파일 실행까지
  9. C# 완전 개요: 마이크로소프트 모던 프로그래밍 언어의 특징과 강점
  10. Heidenhain, HIT 3.0 출시: TNC 사용자 위한 고급 온라인 CNC 교육