> 일반적인 문제 > 컴퓨터 하드웨어가 직접 실행할 수 있는 것은 무엇입니까?

컴퓨터 하드웨어가 직접 실행할 수 있는 것은 무엇입니까?

青灯夜游
풀어 주다: 2022-07-08 15:17:04
원래의
12621명이 탐색했습니다.

컴퓨터 하드웨어가 직접 실행할 수 있는 유일한 것은 "기계어" 뿐입니다. 컴퓨터는 0과 1만 인식할 수 있고, 모든 정보는 0과 1의 형태(즉, 바이너리)로 기계에 저장되며, 기계어는 컴퓨터가 직접 인식하고 실행할 수 있는 바이너리 코드로 표현되는 기계어 명령어의 집합이다. . 연산 코드와 피연산자의 두 부분으로 구성됩니다. 기계어는 컴퓨터 설계자가 컴퓨터의 하드웨어 구조를 통해 컴퓨터에 부여하는 연산 기능입니다.

컴퓨터 하드웨어가 직접 실행할 수 있는 것은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.

컴퓨터 하드웨어가 직접 실행할 수 있는 유일한 것은 "기계어" 뿐입니다.

컴퓨터는 0과 1만 인식할 수 있습니다. 모든 정보는 0과 1(즉, 이진수)의 형태로 기계에 저장되며, 사용되는 저장 단위는 바이트입니다.

기계어 명령어는 Opcode와 Operand의 두 부분으로 구성된 이진 코드입니다.

기계어는 컴퓨터가 직접 인식하고 실행할 수 있는 바이너리 코드로 표현된 기계 명령어 집합입니다. 컴퓨터 설계자가 컴퓨터의 하드웨어 구조를 통해 컴퓨터에 부여한 작동 기능입니다. 기계어는 유연성, 직접 실행, 빠른 속도라는 특징을 가지고 있습니다. 서로 다른 유형의 컴퓨터의 기계어는 호환되지 않습니다. 한 유형의 컴퓨터의 기계어 명령에 따라 컴파일된 프로그램은 다른 유형의 컴퓨터에서 실행될 수 없습니다.

명령어는 의미 있는 바이너리 코드의 집합입니다. 명령어의 기본 형식은 연산 코드 필드와 주소 코드 필드로, 명령어의 연산 성격과 기능을 지정합니다. , 그리고 주소 코드는 피연산자 또는 피연산자의 주소를 제공합니다.

기계어로 프로그램을 작성하려면 프로그래머는 먼저 사용하는 컴퓨터의 모든 명령어 코드와 그 코드의 의미를 외워야 합니다. 수동 프로그래밍을 할 때 프로그래머는 각 명령어와 데이터의 저장 할당과 입력 및 출력을 스스로 처리해야 하며 프로그래밍 프로세스의 각 단계에서 사용되는 작업 단위의 상태도 기억해야 합니다. 이것은 매우 지루한 작업입니다. 프로그램을 작성하는 데 걸리는 시간은 실제 실행 시간보다 수십 배, 수백 배 더 긴 경우가 많습니다. 게다가 컴파일된 프로그램은 모두 0과 1의 명령어 코드로 직관적이지 않고 오류가 발생하기 쉽습니다. 컴퓨터 제조업체의 전문가를 제외하고 대다수의 프로그래머는 더 이상 기계어를 배우지 않습니다.

기계어의 개요 및 주요 단점

개요

1. 복잡하고 사소한 세부 사항이 많아 프로그래머가 창의적인 작업에 더 많은 시간과 에너지를 투자할 수 없게 됩니다. 그들에게 더 중요한 작업을 수행합니다. 예를 들어 프로그램의 정확성과 효율성을 보장하는 것입니다.

2. 프로그래머는 프로그래밍의 전반적인 상황을 제어해야 할 뿐만 아니라 구현 세부 사항까지 모든 부분에 깊숙이 들어가야 합니다. 뛰어난 지능을 가진 프로그래머라도 종종 하나를 무시하고 반복적으로 실수하는 경향이 있습니다. 따라서 컴파일된 프로그램은 신뢰성이 낮습니다. 개발주기가 길어요.

3. 기계어에 대한 프로그래밍의 사고방식과 표현방식은 사람의 습관과 많이 다르기 때문에 오랜 기간 전문적인 훈련을 받은 프로그래머만이 프로그래밍에 대한 지식이 높아질 수 있습니다.

4. 작성된 형식이 모두 "비밀" 코드이기 때문에 가독성이 좋지 않고 의사소통과 협력에 불편합니다.

5. 특정 컴퓨터에 크게 의존하기 때문에 이식성과 재사용성이 좋지 않습니다.

약한 보편성

다양한 컴퓨터 회사에서 설계하고 생산한 컴퓨터는 명령어의 수와 기능, 명령어 형식, 주소 지정 방법, 데이터 형식에 차이가 있으며, 심지어 산술 및 논리 연산 명령어와 같이 일반적으로 사용되는 일부 기본 명령어도 다릅니다. , 전송 지침 등도 다릅니다. 따라서 다양한 종류의 컴퓨터의 고급언어는 기본적으로 동일하지만, 기계어로 컴파일된 후의 고급언어 프로그램 간의 차이도 매우 크다. 그러므로 기계어로 표현된 프로그램을 다른 기계에 이식하는 것은 거의 불가능하다. 컴퓨터의 개발 과정에서 우리는 컴퓨터를 구성하는 기본 하드웨어의 급속한 발전으로 인해 컴퓨터가 매우 빠르게 업데이트되고 이로 인해 소프트웨어가 어떻게 따라갈 수 있는지에 대한 문제가 발생한다는 것을 보았습니다. 우리 모두 알고 있듯이, 새로운 기계가 출시되어 사용을 위해 제공되면 소량의 시스템 소프트웨어(예: 운영 체제 등)만 사용자에게 제공될 수 있습니다. 특히 응용 프로그램의 경우 대량의 소프트웨어가 지속적으로 풍부해집니다. , 그 중 상당 부분은 기계를 사용할 때 사용자에 의해 지속적으로 생성되며, 이는 소위 제3자가 제공하는 소프트웨어입니다.

새로운 기계 출시와 원래 응용 프로그램의 지속적인 사용 사이의 모순을 완화하기 위해 1964년 IBM 360 컴퓨터를 설계할 때 채택한 시리즈 기계 아이디어가 이 문제를 더 잘 해결했습니다. 이후에는 각 컴퓨터 회사에서 생산하는 동일한 시리즈 컴퓨터의 하드웨어 구현 방법이 다를 수 있지만 명령 시스템, 데이터 형식, I/O 시스템 등은 동일하게 유지되므로 소프트웨어가 완벽하게 호환됩니다. 이를 바탕으로 호환되는 컴퓨터가 탄생했습니다) ). 이 컴퓨터 시리즈의 새로운 모델이나 고급 제품을 개발할 때 명령 시스템이 크게 확장될 수 있지만 원래의 모든 명령은 여전히 ​​유지되어 소프트웨어, 즉 저가형 컴퓨터의 소프트웨어 또는 소프트웨어의 상위 호환성을 유지합니다. 이전 모델은 소프트웨어에 대한 사용자의 투자를 보호하기 위해 더 발전된 최신 시스템에서 실행되도록 수정이 이루어질 수 있습니다.

더 많은 관련 지식은 FAQ 칼럼을 방문해주세요!

위 내용은 컴퓨터 하드웨어가 직접 실행할 수 있는 것은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿