728x90 분류 전체보기189 명령어 집합 구조, CISC와 RISC 명령어 집합(ISA - Instruction Set Architecture) : CPU가 이해할 수 있는 명령어들의 모음 CISC(Complex Instruction Set Computer) 복잡한 명령어 집합을 활용하는 컴퓨터 (CPU) x86, x86-64는 CISC기반 명령어 집합 구조 명령어의 형태와 크기가 다양한 가변 길이 명령어 활용 상대적으로 적은 수의 명령어로도 프로그램을 실행할 수 있다. 단점 명령어 파이프라이닝이 불리하다. 멸령어의 크기와 실행되기까지의 시간이 일정하지 않다 복잡한 명령어 때문에 명령어 하나를 실행하는 데에 여러 클럭 주기 필요 대다수의 복잡한 명령어는 사용 빈도가 낮다 RISC(Reduced Instruction Set Computer) 명령어의 종류가 적고, 짧고 규.. 2024. 4. 3. 명령어 병렬 처리 기법 명령어 처리되는 과정 명령어 인출 명령어 해석 명령어 실행 결과 저장 명령어 파이프라인 - 같은 단계가 겹치지만 않는다면 CPU는 '각 단계를 동시에 실행할 수 있다' 파이프라인 위험 : 명령어 파이프라인이 성능 향상에 실패하는 경우 1) 데이터 위험 : 명령어 간의 의존성에 의해 야기 모든 명령어를 동시에 처리할 수 없다. (이전 명령어를 끝까지 실행해야만 비로소 실행할 수 있는 경우) 2) 제어 위험 : 프로그램 카운터의 갑작스러운 변화 프로그램 카운터가 갑작스럽게 어떤 특정 메모리 주소로 바뀌는 경우 *분기 예측 : 프로그램 카운터가 어느 번지로 어디로 점프할 것인지 미리 예측하는 기술 3) 구조적 위험 : 서로 다른 명령어가 같은 CPU 부품(ALU, 레지스터)를 쓰려고 할 때 슈퍼스칼라 - CP.. 2024. 4. 3. 빠른 CPU를 위한 설계 기법 (코어, 클럭) 1. 컴퓨터 부품들은 '클럭 신호'에 맞춰 일시불란하게 움직인다. 2. cpu는 '명령어 사이클' 이라는 정해진 흐름에 맞춰 명령어들을 실행한다. 클럭 속도 : 헤르츠(Hz) 단위로 측정 헤르츠(Hz) : 1초에 클럭이 반복되는 횟수 그러나 필요 이상으로 클럭을 높이면 발열 발생 코어 수를 늘리는 방법 / 스레드 수를 늘리는 방법 코어란? (core) 명령어를 실행하는 부품을 코어라는 용어로 사용 코어 수 프로세서 명칭 1 싱글코어 2 듀얼코어 3 트리플코어 4 쿼드코어 6 헥사코어 8 옥타코어 19 데카코어 12 도데카코어 코어마다 처리할 연산이 적절하게 분배되지 않으면 코어 수가 많더라도 연산 속도가 증가하진 않는다. 스레드 : 하드웨어적 스레드 / 소프트웨어적 스레드 하드웨어 스레드 : 하나의 코어.. 2024. 4. 2. 명령어 사이클과 인터럽트 (interrupt) CPU는 메모리로부터 명령어나 데이터들을 갖고 와서 실행하고, 필요하다면 값을 저장할 수도 있다. CPU는 메모리에 저장되어 있는 프로그램을 일정한 패턴(정해진 흐름)대로 실행한다. 간혹 그 정해진 흐름을 방해하는 신호가 CPU에게 올 수 있는데, 그 신호를 인터럽트라고 부른다. 명령어 사이클 프로그램 속 명령어들은 일정한 주기가 반복되며 실행 이 주기를 명령어 사이클이라고 함 메모리에 저장된 명령어를 실행하려면 메모리에 있는 값을 CPU의 레지스터로 갖고 와야한다.(인출) 그리고 이런식으로 인출을 하는 주기를 인출사이클 갖고 온 메모리를 실행시키는 것을 실행사이클 인출-실행-인출-실행 ... 그런데 CPU로 명령어를 갖고 와도 바로 실행이 불가능한 경우가 있음 (명령어 주소지정 방식) 몇번 더 인출을 .. 2024. 4. 2. ALU와 제어장치 / 레지스터 CPU 구성요소 ALU : 계산장치 제어장치 여러개의 레지스터 클럭 컴퓨터의 모든 부품을 일사불란하게 움직일 수 있게 하는 시간 단위 레지스터 CPU 내부의 작은 임시저장장치 프로그램 속 명령어 & 데이터는 실행 전후로 레지스터에 저장 레지스터 종류 1. 프로그램 카운터 : 메모리에서 가져올 명령어의 주소 저장 2. 명령어 레지스터 : 해석할 명령어 저장(방금 명령어에서 읽어들인 명령어) 3. 메모리 주소 레지스터 : 메모리 주소 저장 4. 메모리 버퍼 레지스터 : 메모리와 주고받을 값(데이터와 명령어) 저장 메모리 ... ... 1101 1000번지 1111 1001번지 ... ... 프로그램 카운터 (1000) -> 메모리 주소 레지스터(1000) -> 메모리 버퍼 레지스터(1101) -> 명령어 레.. 2024. 3. 27. 이전 1 ··· 10 11 12 13 14 15 16 ··· 38 다음 728x90