마이크로프로세서 시스템
거의 모든 전기 장치에서 마이크로프로세서 시스템을 사용하는 것은 현대 사회의 기술 인프라에서 가장 중요한 특징입니다. 전기, 산업, 운송, 통신 시스템은 컴퓨터 제어 시스템에 크게 의존합니다. 마이크로프로세서 시스템은 측정 기기, 전기 장치, 조명 설비 등에 내장되어 있습니다.
이 모든 것은 전기 엔지니어가 최소한 마이크로프로세서 기술의 기본 사항을 알도록 의무화합니다.
마이크로 프로세서 시스템은 정보 처리를 자동화하고 다양한 프로세스를 제어하도록 설계되었습니다.
"마이크로프로세서 시스템"이라는 용어는 매우 광범위하며 "전자 컴퓨팅 기계(ECM)", "제어 컴퓨터", "컴퓨터" 등과 같은 개념을 포함합니다.
마이크로프로세서 시스템은 하드웨어 또는 영어로 하드웨어 및 소프트웨어(소프트웨어) 소프트웨어를 포함합니다.
디지털 정보
마이크로프로세서 시스템은 일련의 숫자 코드인 디지털 정보로 작동합니다.
모든 마이크로프로세서 시스템의 핵심에는 이진수(0과 1로 구성)만 허용할 수 있는 마이크로프로세서가 있습니다.이진수는 이진수 시스템을 사용하여 기록됩니다. 예를 들어, 일상 생활에서 우리는 0,1,2,3,4,5,6,7,8,9와 같이 숫자를 쓰기 위해 10개의 문자 또는 숫자를 사용하는 십진법을 사용합니다. 따라서 이진법에는 0과 1의 두 가지 기호(또는 숫자)만 있습니다.
숫자 체계는 숫자를 쓰는 규칙 일 뿐이며 체계 유형의 선택은 사용 편의성에 따라 결정된다는 것을 이해해야합니다. 바이너리 시스템의 선택은 디지털 장치의 신뢰성과 기술 구현의 용이성을 의미하는 단순성 때문입니다.
디지털 정보의 측정 단위를 고려하십시오.
비트(영어 «Binary digit» — 이진수)는 0 또는 1의 두 값만 사용합니다. 논리적 값 «yes» 또는 «no», «on» 또는 «off» 상태, «on» 또는 «off» 상태를 인코딩할 수 있습니다. 열기»«또는»닫기 «등.
8비트 그룹을 바이트라고 합니다(예: 10010111). 1바이트를 사용하면 256개의 값(00000000 — 0, 11111111 — 255)을 인코딩할 수 있습니다.
비트는 정보의 최소 단위입니다.
바이트 — 정보 처리의 최소 단위. 바이트(Byte) - 컴퓨터에서 저장, 전송 및 처리하는 동안 정보량의 단위로 사용되며 일반적으로 8비트로 구성되는 기계어의 일부입니다. 바이트는 문자, 음절 및 특수 문자(보통 8비트를 모두 차지함) 또는 십진수(각각 1바이트에 2자리)를 나타내는 역할을 합니다.
연속된 2바이트는 워드, 4바이트는 더블 워드, 8바이트는 쿼드 워드라고 합니다.
우리를 둘러싼 거의 모든 정보는 아날로그다. 따라서 정보가 처리를 위해 프로세서에 입력되기 전에 ADC(아날로그-디지털 변환기)를 사용하여 변환됩니다.또한 정보는 특정 형식으로 인코딩되며 디지털, 논리, 텍스트(기호), 그래픽, 비디오 등이 될 수 있습니다.
예를 들어 ASCII 코드 테이블(정보 교환을 위한 영어 미국 표준 코드)은 텍스트 정보를 인코딩하는 데 사용됩니다. 1문자는 1바이트에 기록되며 256개의 값을 가질 수 있습니다. 그래픽 정보는 도트(픽셀)로 구분되며 각 도트의 색상과 위치는 가로 및 세로로 코드화됩니다.
MS는 2진법과 10진법 외에도 0 ... 9와 A ... F를 사용하여 숫자를 쓰는 16진법을 사용합니다. -숫자 코드 기록을 크게 줄이고 더 읽기 쉽게 만드는 16진수 숫자(11111111 — FF).
표 1 — 다른 수 체계로 숫자 쓰기
숫자의 값을 결정하려면(예를 들어, 다른 숫자 체계에 대한 숫자 100의 값은 42, 10010, 25616이 될 수 있음) 숫자 끝에 숫자 체계를 나타내는 라틴 문자를 추가합니다. b, 16진수인 경우 — h , 10진수인 경우 — d. 추가 지정이 없는 숫자는 소수로 간주됩니다.
한 시스템에서 다른 시스템으로 숫자를 변환하고 숫자를 사용한 기본 산술 및 논리 연산을 통해 엔지니어링 계산기(Windows 운영 체제의 표준 응용 프로그램)를 만들 수 있습니다.
마이크로프로세서 시스템의 구조
마이크로 프로세서 시스템은 정보 처리 및 제어 기능을 수행하는 마이크로 프로세서(프로세서)를 기반으로 합니다. 마이크로프로세서 시스템을 구성하는 나머지 장치는 프로세서가 작동하도록 함으로써 프로세서에 서비스를 제공합니다.
마이크로프로세서 시스템을 생성하기 위한 필수 장치는 입력/출력 포트이며 일부는 메모리... 입력-출력 포트는 처리 또는 제어 작업의 결과를 처리하고 출력하기 위한 정보를 제공하여 프로세서를 외부 세계에 연결합니다. 버튼(키보드), 각종 센서가 연결되는 입력포트; 출력 포트 - 전기 제어를 허용하는 장치: 표시기, 디스플레이, 접촉기, 솔레노이드 밸브, 전기 모터 등
메모리는 주로 프로세서가 작동하는 데 필요한 프로그램(또는 프로그램 집합)을 저장하는 데 필요합니다. 프로그램은 프로세서가 이해하는 일련의 명령으로 인간(일반적으로 프로그래머)이 작성합니다.
마이크로프로세서 시스템의 구조는 그림 1과 같다. 단순화된 형태로 프로세서는 디지털 정보를 처리하는 산술 논리 장치(ALU)와 제어 장치(CU)로 구성된다.
메모리는 일반적으로 비휘발성이며 정보(예: 프로그램)의 장기 저장을 위한 ROM(읽기 전용 메모리)과 임시 데이터 저장을 위한 RAM(Random-Access Memory)을 포함합니다.
그림 1 — 마이크로프로세서 시스템의 구조
프로세서, 포트 및 메모리는 버스를 통해 서로 통신합니다. 버스는 기능적으로 통합된 와이어 세트입니다. 단일 시스템 버스 집합을 인트라시스템 버스라고 하며 다음이 포함됩니다.
-
프로세서, 메모리 및 포트 간에 데이터를 교환하는 DB 데이터 버스(Data Bus);
-
메모리 셀과 프로세서의 포트 주소를 지정하는 데 사용되는 주소 버스 AB(주소 버스)
-
제어 버스 CB(제어 버스)는 프로세서에서 외부 장치로 또는 그 반대로 다양한 제어 신호를 전송하는 일련의 라인입니다.
마이크로프로세서
마이크로프로세서 — 디지털 정보를 처리하고 이 처리 프로세스를 제어하도록 설계된 소프트웨어 제어 장치로, 전자 요소가 고도로 통합된 하나(또는 여러 개)의 집적 회로 형태로 만들어집니다.
마이크로프로세서는 복잡한 소프트웨어 제어 장치인 동시에 전자 장치(마이크로회로)이기 때문에 많은 수의 매개변수가 특징입니다. 따라서 마이크로프로세서의 경우 프로세서에 대한 케이스 유형과 명령어 세트 모두… 마이크로프로세서의 기능은 마이크로프로세서 아키텍처의 개념으로 정의됩니다.
프로세서 이름의 접두사 «micro»는 마이크론 기술을 사용하여 구현됨을 의미합니다.
그림 2 - Intel Pentium 4 마이크로프로세서의 외부 보기
작동 중에 마이크로 프로세서는 메모리 또는 입력 포트에서 프로그램 명령을 읽고 실행합니다. 각 명령의 의미는 프로세서의 명령 세트에 의해 결정됩니다. 명령 세트는 마이크로프로세서의 아키텍처에 내장되어 있으며 명령 코드의 실행은 프로세서의 내부 요소에 의한 특정 마이크로 연산의 실행으로 표현됩니다.
마이크로프로세서 아키텍처 — 이것이 논리적 조직입니다. 마이크로프로세서 시스템을 구축하는 데 필요한 기능의 하드웨어 및 소프트웨어 구현 측면에서 마이크로프로세서의 기능을 정의합니다.
마이크로프로세서의 주요 특성:
1) 클록 주파수(측정 단위 MHz 또는 GHz) — 1초 동안의 클록 펄스 수.클록 펄스는 일반적으로 프로세서 내부에 있는 클록 생성기에 의해 생성됩니다. 모든 작업(명령)은 클록 주기로 수행되기 때문에 작업 성능(단위 시간당 수행되는 작업 수)은 클록 주파수에 따라 달라집니다. 프로세서 주파수는 특정 제한 내에서 달라질 수 있습니다.
2) 비트 프로세서(8, 16, 32, 64비트 등) — 한 클럭 주기에서 처리되는 데이터의 바이트 수를 지정합니다. 프로세서의 비트 폭은 내부 레지스터의 비트 폭에 의해 결정됩니다. 프로세서는 8비트, 16비트, 32비트, 64비트 등일 수 있습니다. 데이터는 1, 2, 4, 8바이트 단위로 처리됩니다. 비트 심도가 클수록 작업 생산성이 높아지는 것은 분명합니다.
마이크로프로세서의 내부 구조
일반적인 8비트 마이크로프로세서의 단순화된 내부 아키텍처는 그림 3에 나와 있습니다. 마이크로프로세서의 구조는 세 가지 주요 부분으로 나눌 수 있습니다.
1) 명령, 데이터 및 주소의 임시 저장을 위한 레지스터
2) 산술 및 논리 연산을 수행하는 산술 논리 장치(ALU);
3) 제어 및 타이밍 회로 — 명령 선택 제공, ALU 작동 구성, 모든 마이크로프로세서 레지스터에 대한 액세스 제공, 외부 제어 신호 인식 및 생성.
그림 3 — 8비트 마이크로프로세서의 단순화된 내부 아키텍처
다이어그램에서 볼 수 있듯이 프로세서는 레지스터를 기반으로 하며, 레지스터는 특수(특정 목적을 가진) 레지스터와 범용 레지스터로 나뉩니다.
프로그램 카운터(컴퓨터) — 다음 명령 바이트의 주소를 포함하는 레지스터. 프로세서는 다음에 실행될 명령을 알아야 합니다.
배터리 - 논리 및 산술 처리를 위한 대부분의 명령어에 사용되는 레지스터 ALU 연산에 필요한 데이터 바이트 중 하나의 소스이자 ALU 연산의 결과가 배치되는 장소입니다.
기능 레지스터(또는 플래그 레지스터)에는 마이크로프로세서의 내부 상태, 특히 마지막 ALU 작업의 결과에 대한 정보가 포함되어 있습니다. 플래그 레지스터는 일반적인 의미의 레지스터가 아니라 단순히 플립 플롭 집합입니다(플래그 업 또는 다운. 일반적으로 0, 오버플로, 음수 및 캐리 플래그가 있음).
스택 포인터(SP) — 스택의 위치를 추적합니다. 즉, 마지막으로 사용한 셀의 주소가 포함되어 있습니다. 스택 — 데이터 저장소를 구성하는 방법입니다.
명령 레지스터에는 명령 디코더에 의해 디코딩되는 현재 명령 바이트가 포함됩니다.
외부 버스 라인은 버퍼에 의해 내부 버스 라인과 분리되며 주요 내부 요소는 고속 내부 데이터 버스로 연결됩니다.
다중 프로세서 시스템의 성능을 향상시키기 위해 중앙 프로세서의 기능을 여러 프로세서에 분산시킬 수 있습니다. 중앙 프로세서를 돕기 위해 컴퓨터는 종종 특정 기능의 효율적인 실행에 초점을 맞춘 보조 프로세서를 도입합니다. 광범위한 수학 및 그래픽 보조 프로세서, 입력 및 출력은 외부 장치와의 단순하지만 수많은 상호 작용 작업에서 중앙 프로세서를 오프로드합니다.
현재 단계에서 생산성 향상의 주요 방향은 멀티 코어 프로세서의 개발입니다. 두 개 이상의 프로세서를 하나의 케이스에 결합하여 여러 작업을 병렬로(동시에) 수행합니다.
Intel과 AMD는 프로세서를 설계하고 제조하는 선두 기업입니다.
마이크로프로세서 시스템 알고리즘
알고리즘 — 초기 정보를 특정 클래스의 일련의 작업을 해결하고 원하는 결과를 얻을 수 있는 일련의 작업으로 변환하는 프로세스를 고유하게 설정하는 정확한 처방입니다.
전체 마이크로 프로세서 시스템의 주요 제어 요소는 프로세서... 몇 가지 특별한 경우를 제외하고 다른 모든 장치를 제어합니다. RAM, ROM 및 I/O 포트와 같은 나머지 장치는 하위입니다.
전원을 켜자마자 프로세서는 프로그램 저장용으로 예약된 메모리 영역에서 디지털 코드를 읽기 시작합니다. 맨 처음부터 시작하여 셀별로 순차적으로 읽기가 수행됩니다. 셀에는 데이터, 주소 및 명령이 포함됩니다. 명령은 마이크로프로세서가 수행할 수 있는 기본 작업 중 하나입니다. 마이크로 프로세서의 모든 작업은 순차적 읽기 및 명령 실행으로 축소됩니다.
프로그램 명령을 실행하는 동안 마이크로 프로세서의 동작 순서를 고려하십시오.
1) 다음 명령이 실행되기 전에 마이크로 프로세서는 컴퓨터 프로그램 카운터에 주소를 저장합니다.
2) MP는 컴퓨터에 포함된 주소의 메모리에 액세스하고 명령 레지스터에서 다음 명령의 첫 번째 바이트를 메모리에서 읽습니다.
3) 명령 디코더는 명령 코드를 해독(해독)합니다.
4) 디코더에서 수신한 정보에 따라 제어 장치는 다음을 포함하여 명령 명령을 실행하는 시간순으로 마이크로 연산 시퀀스를 생성합니다.
- 레지스터와 메모리에서 피연산자를 검색합니다.
— 명령 코드에 의해 규정된 대로 산술, 논리 또는 기타 연산을 수행합니다.
— 명령의 길이에 따라 컴퓨터의 내용을 변경합니다.
— 주소가 다시 컴퓨터 프로그램 카운터에 있는 다음 명령으로 제어를 전송합니다.
마이크로프로세서용 명령어 세트는 세 그룹으로 나눌 수 있습니다.
1) 데이터 이동 명령어
메모리, 프로세서, I/O 포트(각 포트마다 자체 주소가 있음), 프로세서 레지스터 간에 전송이 이루어집니다.
2) 데이터 변환 명령어
모든 데이터(텍스트, 그림, 비디오 등)는 숫자이며 숫자로는 산술 및 논리 연산만 수행할 수 있습니다. 따라서 이 그룹의 명령에는 더하기, 빼기, 비교, 논리 연산 등이 포함됩니다.
3) 제어 명령 전달
프로그램이 단일 순차 명령어로 구성되는 경우는 매우 드뭅니다. 대부분의 알고리즘에는 프로그램 분기가 필요합니다. 프로그램이 작업 알고리즘을 변경하기 위해 조건에 따라 제어 전송 명령이 사용됩니다. 이러한 명령은 다른 경로를 따라 프로그램 실행 흐름을 보장하고 루프를 구성합니다.
외부 장치
외부 장치에는 프로세서 외부에 있고(RAM 제외) I/O 포트를 통해 연결된 모든 장치가 포함됩니다. 외부 장치는 세 그룹으로 분류할 수 있습니다.
1) 인간-컴퓨터 통신 장치(키보드, 모니터, 프린터 등)
2) 제어 대상(센서, 액추에이터, ADC 및 DAC)과의 통신을 위한 장치
3) 대용량 외부 저장 장치(하드 디스크, 플로피 디스크).
외부 장치는 커넥터를 통해 물리적으로 마이크로프로세서 시스템에 연결되고 포트(컨트롤러)를 통해 논리적으로 연결됩니다.
인터럽트 시스템(메커니즘)은 프로세서와 외부 장치 간의 인터페이스에 사용됩니다.
인터럽트 시스템
이것은 언제든지 외부 신호를 통해 프로세서가 기본 프로그램의 실행을 중지하고 중단을 유발한 이벤트와 관련된 작업을 수행한 다음 기본 프로그램의 실행으로 돌아가도록 하는 특수 메커니즘입니다. .
모든 마이크로프로세서에는 적어도 하나의 인터럽트 요청 입력 INT(단어 Interrupt에서 유래)가 있습니다.
개인용 컴퓨터 프로세서와 키보드의 상호 작용에 대한 예를 살펴보겠습니다(그림 4).
키보드 — 기호 정보 및 제어 명령을 입력하는 장치입니다. 키보드를 연결하기 위해 컴퓨터에는 특수 키보드 포트(칩)가 있습니다.
그림 4 — 키보드를 사용한 CPU 작동
작업 알고리즘:
1) 키를 누르면 키보드 컨트롤러가 숫자 코드를 생성합니다. 이 신호는 키보드 포트 칩으로 이동합니다.
2) 키보드 포트는 CPU에 인터럽트 신호를 보냅니다. 각 외부 장치에는 프로세서가 인식하는 자체 인터럽트 번호가 있습니다.
3) 프로세서는 키보드로부터 인터럽트를 받은 후 프로그램(예: Microsoft Office Word 편집기)의 실행을 중단하고 메모리에서 키보드 코드를 처리하기 위한 프로그램을 로드합니다. 이러한 프로그램을 드라이버라고 합니다.
4) 이 프로그램은 프로세서를 키보드 포트로 지정하고 숫자 코드를 프로세서 레지스터에 로드합니다.
5) 디지털 코드는 메모리에 저장되고 프로세서는 계속해서 다른 작업을 수행합니다.
빠른 작업 속도로 인해 프로세서는 많은 수의 프로세스를 동시에 실행합니다.
