CONCEPT/Computer Architecture18 [컴퓨터구조] 명령어 집합 구조, CISC와 RISC "CPU는 명령어를 실행한다"= 명령어의 세세한 생김새, 연산, 주소 지정 방식 등은 CPU 모델마다 다르다. 인텔의 CPU는 일반적으로 "X86(X86-64)" 명령어 집합을, 애플의 CPU는 일반적으로 "ARM" 명령어 집합을 따름.따라서, 명령어가 달라지면 명령어 해석 방식, 레지스터의 종류와 개수, 파이프라이닝의 용이성 등 많은 것들이 달라짐.명령어 집합의 두 축: CISC(x86-64) & RISC(ARM) 2025. 2. 18. [컴퓨터구조] 명령어 병렬 처리 기법 - 스레드: 프로세스 내에서 실행되는 작업 단위로, 여러 쓰레드를 활용하여 하나의 프로세스 내에서 동시 작업을 처리함.- 명령어 파이프라인: 여러 프로세스를 연결하여 데이터 흐름을 처리하는 방식. 각 명령어는 독립적인 프로세스로 실행되며, 각 프로세스가 내부에서 쓰레드를 활용할 수 있음. 2025. 2. 18. [컴퓨터구조] 빠른 CPU를 위한 설계 기법 컴퓨터 부품들은 '클럭 신호'에 맞춰 일사불란하게 움직인다.CPU는 '명령어 사이클'이라는 정해진 흐름에 맞춰 명령어들을 실행한다. Q) 클럭 신호가 빠르게 반복되면 CPU를 비롯한 컴퓨터 부품들은 그만큼 빠른 박자에 맞춰 움직이나?: 꼭 그런건 아니지만 일반적으로는 YES ex) intel core i7는 max가 4.9GHz 이다. = 1초에 클럭이 순간적으로 최대 49억(4.9x109)번 반복된다. * 클럭 속도는 일정하지않다. 느릴때는 느리고 빨라야할때는 빠르다.* 필요 이상으로 클럭을 높이면 발열이 심각하다. Q) 클럭 이외에 CPU의 속도를 빠르게 늘리는 방법은?- 코어 수 늘리기 ex) 듀얼 코어, 멀티 코어- 스레드 수 늘리기 ex) 멀티 스레드 Q) 코어를 두.. 2025. 2. 18. [컴퓨터구조] 명령어 사이클과 인터럽트 프로그램 속 명령어들은 일정한 주기로 반복되며 실행되는데 이 주기를 "명령어 사이클" 이라고함. 인출 사이클: 메모리에서 CPU로 데이터를 가지고 오는 것.실행 사이클: CPU에서 실행하는 것. CPU로 명령어를 가지고 와도 바로 실행이 불가능한 경우도 있다. 인터럽트(interrupt): CPU의 정해진 흐름을 끊어버리는 현상.- 'CPU가 꼭 주목해야 할때', 'CPU가 우선 처리해야 할 다른 작업이 생겼을 때' 발생ex) cpu가 접근하고자 하는 메모리에 접속했을때 원하는 데이터가 없는 현상, 디버깅을 하는 현상, 실행할 수 없는 명령어 1) 알림과 같은 인터럽트: 입출력 작업 도중에도 효율적으로 명령어를 처리하기 위해 하드웨어 인터럽트 사용 1) 인터럽트 요청 신호: CPU의 작업을 방해하는 인.. 2025. 2. 18. [컴퓨터구조] 레지스터 레지스터: CPU 내부의 작은 임시 저장장치 -> row레벨 개발자(시스템 개발자, 임베디드 개발자)는 레지스터에 있는 값을 관찰하는 경우 많음. CPU 내부에는 다양한 레지스터들이 있고, 각기 다른 역할을 한다.* CPU 종류마다 레지스터 종류와 갯수도 다름. (공통 8가지에 대해 학습할 예정) 1. 프로그램 카운터: 메모리에서 가져올 명령어의 주소 (메모리에서 읽어 들일 명령어의 주소): instruction pointer(명령어 포인터)라고 부르는 CPU도 있음. 2. 명령어 레지스터: 해석할 명령어 (방금 메모리에서 읽어 들인 명령어) 3. 메모리 주소 레지스터: 메모리의 주소 4. 메모리 버퍼 레지스터: 메모리와 주고받을 값(데이터와 명령어) 5. 플래그 레지스터: 연산 결과 또.. 2025. 2. 17. [컴퓨터구조] ALU와 제어장치 ALU: 계산하는 장치 1) 계산을 하기 위해서는 피연산자와 수행할 연산이 필요2) 피연산자는 레지스터로 부터, 제어신호는 제어장치로부터 받아들임3) 레지스터에는 결과값(숫자,문자,주소 등)이 저장됨. (why? CPU가 레지스터에 접속하는게 CPU가 메모리에 접속하는 것보다 빠르기때문) 4) 플래그(연산 결과에 대한 부가 정보)를 플래그 레지스터에 저장함. : 연산 결과가 결과를 담을 레지스터에 비해 크다면 플래그 레지스터에 담김. = "오버플로우가 났다" 라고 표현함.제어장치: 제어 신호를 발생시키고 명령어를 해석하는 장치 2025. 2. 16. [컴퓨터구조] C언어의 컴파일과정 2025. 2. 16. 이전 1 2 3 다음