본문 바로가기
반응형

전체 글88

명령어 세트(Instruction Set) 명령어 세트 명령어 세트란, CPU를 위해 정의되어 있는 명령어들의 집합을 말합니다. 명령어 세트를 설계하기 위해서는 다음 사항들을 먼저 고려해야합니다. 연산종류 (연산 수 및 복잡도 등) 데이터 유형 (데이터 길이, 수 표현 방식 등) 명령어 형식 (명령어 길이, 오퍼랜드 필드 수 등) 주소지정 방식 (오퍼랜드 주소 지정 방식) 연산 종류 연산 종류로는 데이터 전송이나 산술연산, 논리연산, I/O 연산, 프로그램 제어 연산이 있습니다. 이 중 프로그램 제어를 위한 두 가지 기본연산이 있는데, 바로 CALL 명령어와 RET 명령어입니다. CALL 명령어는 말그대로 서브루틴을 호출하는 명령어이고, RET 명령어는 서브루틴으로 부터 원래 프로그램으로 복귀하는 명령어 입니다. 먼저 CALL 명령어의 마이크로 .. 2024. 1. 4.
명령어 파이프라이닝 명령어 파이프라이닝 명령어 파이프라이닝이란, 명령어 실행에 사용되는 H/W를 여러 단계로 분할함으로써 처리 속도를 높여주는 기술입니다. 예를들어, 3ns의 시간이 걸리는 명령어들이 있을 때, 명령어의 실행과 동시에 다음 명령어의 인출 또한 수행하면서, 처리 속도를 빠르게 합니다. 먼저 2단계 파이프라이닝의 경우, 인출과 실행을 동시에 실행합니다. 따라서, 처리 속도는 기존에 비해 2배에 수렴합니다. 하지만, ISR이나 JMP 와 같은 분기 명령어에 의해 성능저하가 발생할 수 있습니다. 이때 클록 주기는 시간이 더 긴 작업을 기준으로 설정합니다. ex) Fetch Cycle : 3ns, Execute Cycle : 1ns. then, CPU Clock Cycle : 3ns) 하지만 이렇게 되면, Execu.. 2024. 1. 3.
명령어 실행 명령어 사이클 명령어 사이클은 CPU가 명령어 한개를 실행하는 데 필요한 전체 과정을 의미합니다. 명령어 사이클은 크게 2단계로 나뉘어집니다. 먼저 CPU로가 Main Memory로 부터 명령어를 읽어오는 인출 사이클과 인출된 명령어를 실행하는 실행 사이클로 나뉩니다. 명령어를 실행하기 위해서 CPU에는 다음과 같은 내부 레지스터가 존재합니다. 먼저 Program Counter(PC) 입니다. 다음에 인출할 명령어의 주소를 가지는 레지스터로 인출 후에는 자동으로 PC의 값이 증가합니다. 다음으로 AC(누산기)는 ALU의 계산 결과를 일시적으로 저장하는 레지스터로, 이 레지스터의 비트수는 CPU가 한번에 처리 가능한 데이터 비트수와 같습니다. 그리고 IR은 명령어를 일시적으로 저장하는 레지스터이고, PC에.. 2024. 1. 2.
CPU의 구조 CPU는 다음 동작들을 순서대로 수행합니다. 명령어 인출 명령어 해독 데이터 인출 데이터 처리 데이터 저장 1번과 2번은 모든 명령어에 대하여 공통으로 실행되지만, 3~5번은 선택적으로 실행합니다. 명령어 인출은 Main Memory에서 명령어를 CPU로 가져오는 동작입니다. 명령어 해독은 명령어를 통해 수행해야할 동작을 결정하기 위해 명령어를 해독하고, IR에 저장하는 동작입니다. 데이터 인출은 Main Memory or I/O에서 명령어의 operand에 해당하는 정보를 가져옵니다. CPU의 구성 CPU는 ALU와, CU, Register Set으로 구성됩니다. ALU는 Arithmetic and Logical Unit의 약자로, 이름대로 산술논리연산장치입니다. 사칙연산과 논리값 연산 등을 수행합니다.. 2024. 1. 2.
반응형