본문 바로가기

명령어6

[컴퓨터 구조] ISA, CISC, RISC ■ ISACPU는 제조사마다 생김새, 연산 및 주소 지정 방식에 차이가 있다.이러한 CPU가 이해할 수 있는 명령어들의 모음을 '명령어 집합(Instruction Set)' 또는 '명령어 집합 구조(ISA; Instructio Set Architecture)'라고 부른다. 즉 CPU마다 각기 다른 ISA를 가질 수 있다. 예로 인텔이나 AMD의 x86, x86-64의 ISA와 애플의 ARM ISA는 서로 다른 ISA이기 때문에 별도의 작업 없이 인텔의 CPU에서 빌드한 실행 파일을 그대로 아이폰에 옮겨 실행하면 바로 실행이 안된다. 왜냐하면 실행 파일(exe)은 명령어로 이루어져 있고, CPU마다 이해할 수 있는 명령어가 다르기 때문이다. 예시로 동일한 C++ 코드를 gcc 14.2라는 동일한 컴파일러를.. 2024. 10. 6.
[컴퓨터 구조] 명령어 병렬 처리기법 (ILP) ■ 명령어 병렬 처리 기법 (ILP; Instruction-Level Paallelism)좋은 성능의 CPU 제작을 위해 높은 클럭 속도, 멀티 코어, 멀티 스레드를 지원하는 CPU를 만드는 것도 중요하다. 하지만, 코어와 하드웨어 스레드 개수에 상관없이 효율적으로 CPU 자원을 사용하기 위해서는 명령어 병렬처리 기법이 필요하다. 대표적인 종류는 (1) 명령어 파이프라인(2) 슈퍼스칼라(3) 비순차적 명령어 처리 위 세 가지가 있다.  ■ 명령어 파이프라인명령어 처리 과정은 크게 '인출', '해석', '실행', '메모리 접근', '결과 저장' 의 여러 단계를 순서대로 진행된다.처리 단계가 겹치지만 않다면 CPU는 각 단계를 동시에 [클럭 한 번에] 실행할 수 있다. 그렇기에 여러 개의 명령어를 단계가 겹.. 2024. 10. 6.
[컴퓨터 구조] 명령어 사이클, 인터럽트 ■ 명령어 사이클 (Instruction Cycle)우리가 실행하고 있는 프로세스는 수 많은 명령어로 구성이 되어있다.CPU는 이 명령어를 하나씩 실행하게 되고, 각각의 명령어들은 일정한 주기로 반복되며 실행되어진다.이렇게 하나의 명령어를 처리하는 정형화된 주기를 명령어 사이클이라고 한다. [단계]일단 아래와 같이 크게 두 가지의 사이클이 반복된다. (1) 인출 사이클 (Fetch Cycle)아래 레지스터(Register) 관련 포스팅에서 메모리로부터 명령어를 CPU 내 IR(Instruction Register)로 갖고 오는 단계까지가 인출 사이클의 과정이다. 이와 같이 메모리로부터 실행해야할 명령어를 CPU로 가져오는 단계를 '인출 사이클'이라고 한다.https://yjhdevelopdiary.tis.. 2024. 10. 2.
[컴퓨터 구조] 명령어, 주소 지정 방식 ■ 명령어 구조명령어는 '무엇을 대상'으로 '어떤 작동'을 해야하는 지에 관한 데이터들이 내포되어 있다.이를 아래와 같이 표현할 수 있다.위 예시에서 노란색 배경은 '더해라'의 동작을 담고 있다. 이러한 동작을 담고있는 영역을 '연산 코드 (Operation Code)'라고 칭하고 하얀색 배경에는 피연산자의 데이터가 들어가있다. 이와 같이 연산에 사용되어지는 데이터 혹은 데이터가 존재하는 주소값을 저장하고 있는 영역을 '오퍼랜드 (Operand)'라고 한다. ※ 즉, 명령어는 아래와 같이 '연산 코드'와 '오퍼랜드 필드'로 구성 되어진다. 오퍼랜드 필드는 '연산에 사용될 데이터' 혹은 '그 데이터가 저장된 위치'를 의미한다고 했다. 다만, 오퍼랜드 필드에는 데이터가 직접적으로 명시되기 보다는 데이터가 저.. 2024. 9. 17.
[컴퓨터] 주소지정방식 주소지정 방식은 총 세 가지가 있다. 접근 방식, 계산 방식, 실제 기억공간 주소 지정 방식이다. ■ 접근 방식 종류 설명 암시적 주소 지정 (Implied Mode) 0번지 명령어에서 Stack의 Top 포인터가 가리키는 오퍼랜드(Operand)를 암시하여 이용 즉시 주소 지정 (Immediate Mode) 오퍼랜드 (Operand) 부분에 실제 데이터를 기억한다. - 오퍼랜드 자체가 연산 대상 - 속도가 가장 빠르지만 데이터 값의 범위가 제한된다. - 메모리 참조 횟수 0 회 직접 주소 지정 (Direct Mode) (★) 명령의 주소부가 사용할 자료의 번지(Address)를 직접 표현 - 메모리 참조 횟수 1회 간접 주소 지정 (InDirect Mode) (★) 명령문 내 번지는 실제 데이터의 위치.. 2023. 5. 1.
[컴퓨터] 명령어 형식 ■ 명령어 (Instruction) 종류 특징 연산자부 (Operation Code, OP Code) 1. 수행해야할 동작에 맞는 연산자 2. 크기(Bit)는 표현할 수 있는 명령의 개수 (2^n개) (ex) 연산자부분의 사이즈가 4비트일 경우 표현할 수 있는 명령어는 2^4개인 16개이다. 3. 모드(Mode) 비트 : 직접 주소(0), 간접 주소(1) 4. 구성요소 (★) (1) 명령어 형식 (2) 동작코드 (3) 데이터 종류 등 주소부 [자료부] (Operand, OP) 1. 구성요소 (★) (1) 데이터의 주소(Address) (2) 레지스터 번호 (3) 명령어 순서 2. 크기는 메모리 용량과 관계가 있다. (ex) 주소부 사이즈가 4비트라면 표현할 수 있는 주소의 개수는 2^4인 16개이다. 이.. 2023. 5. 1.