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

마이크로프로세서

앨런 튜링(Alan Turing)과 존 폰 노이만(John Von Neumann)과 같은 초기 컴퓨터 과학 개척자들은 컴퓨팅 장치가 실제로 유용하려면 프로그래밍된 명령에 따라 특정 출력을 생성할 수 있어야 할 뿐만 아니라 데이터를 쓸 수 있어야 한다고 가정했습니다. 메모리에 저장하고 나중에 해당 데이터에 대해 작업할 수 있습니다.

프로그램 단계와 처리된 데이터는 모두 공통 메모리 "풀"에 상주하여 저장된 프로그램 컴퓨터 레이블에 자리를 내주었습니다. . Turing의 이론적인 기계는 제어 회로가 읽을 데이터를 저장하고, 제어 회로가 데이터를 테이프에 다시 쓰고/하거나 테이프를 새로운 위치로 이동하여 더 많은 데이터를 읽을 수 있도록 데이터를 저장하는 순차 액세스 테이프를 활용했습니다.

최신 컴퓨터는 순차 액세스 테이프 대신 랜덤 액세스 메모리 장치를 사용하여 더 큰 기능을 제외하고 본질적으로 동일한 작업을 수행합니다.

유용한 예는 초기 자동 공작 기계 제어 기술의 예입니다. 개방 루프라고 함 , 또는 때때로 NC (수치 제어), 이러한 제어 시스템은 종이 테이프에 구멍으로 프로그래밍된 지침에 따라 선반이나 밀과 같은 공작 기계의 동작을 지시합니다.

테이프는 "읽기" 메커니즘을 통해 한 방향으로 실행되고 기계는 다른 조건에 관계없이 테이프의 지침을 맹목적으로 따릅니다. 이러한 장치를 사용하면 기계의 모든 동작을 기계 기술자가 직접 지시해야 하는 부담이 사라졌지만 그 유용성은 제한적이었습니다.

기계는 현실 세계를 보지 못해서 테이프에 적힌 지시대로만 따랐기 때문에 금속의 팽창이나 메커니즘의 마모와 같은 변화하는 조건을 보상할 수 없었다.

또한 테이프 프로그래머는 번거로운 상황(예:공작 기계에 드릴 비트가 작업의 구멍에 삽입된 상태에서 옆으로 이동하도록 지시하는 경우)을 피하기 위해 기계 프로그램의 이전 명령 순서를 잘 알고 있어야 했습니다. 장치에 읽기 전용인 테이프 자체 외에는 메모리가 없었기 때문입니다.

간단한 테이프 판독기에서 유한 상태 제어 설계로 업그레이드하면 장치가 이미 수행한 작업을 추적하는 데 사용할 수 있는 일종의 메모리가 제공되었습니다(일부 데이터 비트를 주소 비트로 피드백을 통해). 프로그래머는 회로가 공작 기계가 있을 수 있는 "상태"(예:"냉각수 켜짐" 또는 공구 위치)를 기억하도록 결정할 수 있습니다. 그러나 여전히 개선의 여지가 있었습니다.

궁극적인 접근 방식은 프로그램이 쉽게 호출하고 처리할 수 있는 읽기/쓰기(RAM) 메모리에 새 데이터 쓰기를 포함하는 명령을 프로그램에 제공하는 것입니다. 이러한 방식으로 제어 시스템은 수행한 작업과 센서 감지 가능한 프로세스 변경 사항을 기록할 수 있습니다. 마치 인간 기계공이 작업에서 나중에 참조할 수 있도록 스크래치 패드에 메모나 측정값을 기록하는 것과 같습니다. 이것은 CNC 또는 폐회로 수치 제어라고 하는 것입니다. .

엔지니어와 컴퓨터 과학자는 인간의 두뇌가 환경 경험에 따라 신경 간 연결의 강도를 적응시키는 것과 마찬가지로 자신의 프로그래밍을 수정할 수 있는 디지털 장치를 구축할 수 있는 가능성을 고대했습니다. 결과적인 피드백을 통해 행동이 수정됩니다.

컴퓨터의 프로그램이 데이터와 동일한 쓰기 가능한 메모리 "풀"에 저장된 경우에만 이것이 실용적입니다. 자체 수정 프로그램의 개념이 여전히 컴퓨터 과학의 최첨단에 있는 것으로 간주된다는 점은 흥미롭습니다.

대부분의 컴퓨터 프로그래밍은 변경되는 유일한 정보인 별도의 데이터 필드와 함께 다소 고정된 명령 시퀀스에 의존합니다.

저장 프로그램 접근 방식을 용이하게 하려면 동일한 원칙이 많이 적용되지만 간단한 FSM보다 훨씬 더 복잡한 장치가 필요합니다. 첫째, 쉽게 액세스할 수 있는 읽기/쓰기 메모리가 필요합니다. 이 작업은 충분히 쉽습니다.

정적 또는 동적 RAM 칩은 작업을 잘 수행하고 저렴합니다. 둘째, 메모리에 저장된 데이터를 처리하기 위해 어떤 형태의 논리가 필요합니다. 표준 및 부울 산술 함수가 매우 유용하기 때문에 앞에서 살펴본 룩업 테이블 ROM 예제와 같은 ALU(Arithmetic Logic Unit)를 사용할 수 있습니다.

마지막으로 메모리, ALU 및 외부 세계 간에 데이터가 흐르는 방식과 위치를 제어하는 ​​장치가 필요합니다. 이 소위 제어 장치는 는 아직까지 가장 신비한 퍼즐 조각으로, 3상태 버퍼(버스와 데이터를 주고받기 위한)와 특정 이진 코드를 수행할 명령으로 해석하는 디코딩 논리로 구성되어 있습니다.

샘플 명령어는 "메모리 주소 0010에 저장된 숫자를 메모리 주소 1101에 저장된 숫자와 더하기" 또는 "메모리 주소 0111에 있는 데이터의 패리티를 결정하십시오"와 같을 수 있습니다. ASCII 표준에서 알파벳 문자를 나타내는 데 사용할 이진 코드의 선택이 대체로 임의적이었던 것처럼 제어 장치가 디코딩할 명령을 나타내는 이진 코드의 선택은 대체로 임의적입니다.

그러나 ASCII는 이제 국제적으로 인정되는 표준인 반면 제어 장치 명령 코드는 거의 항상 제조업체에 따라 다릅니다.

이러한 구성요소(읽기/쓰기 메모리, ALU 및 제어 장치)를 결합하면 일반적으로 프로세서라고 하는 디지털 장치가 생성됩니다. . 최소한의 메모리가 사용되고 필요한 모든 구성 요소가 단일 집적 회로에 포함된 경우 이를 마이크로프로세서라고 합니다. . 필요한 버스 제어 지원 회로와 결합하면 중앙 처리 장치라고 합니다. , 또는 CPU.

CPU 작업은 소위 가져오기/실행 주기로 요약됩니다. . 가져오기 제어 장치가 디코딩하도록 메모리에서 명령을 읽는 것을 의미합니다. CPU의 작은 바이너리 카운터(프로그램 카운터라고 함) 또는 명령 포인터 )는 다음 명령어가 주 메모리에 저장된 주소 값을 유지합니다.

제어 장치는 이 바이너리 주소 값을 주 메모리의 주소 라인으로 보내고 메모리의 데이터 출력은 다른 홀딩 레지스터로 보내기 위해 제어 장치에 의해 읽혀집니다. 가져온 명령이 메모리에서 더 많은 데이터를 읽어야 하는 경우(예:두 개의 숫자를 함께 더할 때 주 메모리 또는 다른 소스에서 추가할 숫자를 모두 읽어야 함) 제어 장치는 해당 위치를 적절하게 지정합니다. 요청된 데이터를 보내고 데이터 출력을 ALU 레지스터로 보냅니다.

다음으로, 제어 장치는 두 숫자로 요청된 모든 작업을 수행하도록 ALU에 신호를 보내 명령을 실행하고 결과를 누적기라고 하는 다른 레지스터로 보냅니다. . 이제 명령이 "페치" 및 "실행"되었으므로 제어 장치는 이제 프로그램 카운터를 증가시켜 다음 명령을 실행하고 사이클이 자체적으로 반복됩니다.

<사전> 마이크로프로세서(CPU) -------------------------------------- | ** 프로그램 카운터 ** | | (로 전송된 주소 값을 증가시킵니다. | | 가져올 외부 메모리 칩 |==========> 주소 버스 | 다음 지시) | (RAM 메모리로) -------------------------------------- | ** 제어 장치 ** |<=========> 제어 버스 | (에서 읽은 명령을 디코딩합니다(모든 장치 공유 | 메모리의 프로그램, 흐름 활성화 | 주소 및/또는 데이터 버스; | 내부 ALU와의 데이터 송수신 | 모든 버스 통신을 중재합니다. | 레지스터 및 외부 장치) | 양이온) -------------------------------------- | ** 산술 논리 장치(ALU) ** | | (모든 수학 | | 계산 및 부울 | | 기능) | -------------------------------------- | ** 레지스터 ** | | (|<=========> 데이터 버스에 대한 작은 읽기/쓰기 메모리 | 지주 명령 코드, | (RAM 메모리 및 기타 | 오류 코드, ALU 데이터 등 | 외부 장치) | "누적기" 포함) | --------------------------------------

짐작할 수 있듯, 간단한 지시라도 수행하는 것은 지루한 과정입니다. 제어 장치가 가장 간단한 수학적 절차를 완료하려면 몇 가지 단계가 필요합니다.

이것은 더 간단한 함수의 반복 실행("반복")을 포함하는 지수와 같은 산술 절차에 특히 해당됩니다. 비행 시뮬레이터 게임의 그래픽 디스플레이에 대한 정보를 업데이트하기 위해 CPU 내에서 필요한 단계의 순전한 양을 상상해 보십시오!

이러한 지루한 프로세스를 실용적으로 만드는 유일한 것은 마이크로프로세서 회로가 빠른 속도로 가져오기/실행 주기를 반복할 수 있다는 사실입니다.

일부 마이크로프로세서 설계에는 장치 내부의 특수 ROM 메모리(마이크로코드라고 함)에 저장된 최소 프로그램이 있습니다. ) 더 복잡한 수학 연산을 수행하는 데 필요한 모든 하위 단계를 처리합니다. 이렇게 하면 작업을 수행하기 위해 프로그램 RAM에서 하나의 명령어만 읽어야 하며 프로그래머는 마이크로프로세서에 매분 단계를 수행하는 방법을 알려야 하는 작업을 처리할 필요가 없습니다. 본질적으로 프로세서 내부의 프로세서입니다. 프로그램 내에서 실행되는 프로그램입니다.


산업기술

  1. 네트워크 프로토콜
  2. 왜 디지털인가?
  3. 디지털 메모리 용어 및 개념
  4. 읽기 전용 메모리(ROM)
  5. 연산 증폭기 데이터
  6. 파이썬 데이터 유형
  7. 데이터 기반 제조가 여기 있습니다
  8. C - 데이터 유형
  9. C - 조합
  10. C - 메모리 관리