본문 바로가기

분류 전체보기47

CISC와 RISC [혼공컴구] 1. 명령어 집합, 명령어 집합 구조(ISA) - CPU가 이해할 수 있는 명령어들의 모음 - 인텔의 x86-64 ISA, 애플의 ARM ISA등등 - ISA가 다르면 컴퓨터가 이해할 수 있는 명령어와 어셈블리가 달라짐 - 같은 소스 코드로 만들어진 같은 프로그램이라 할지라도 ISA가 다르면 CPU가 이해할 수 있는 명령어와 어셈블리어도 달라짐 - ISA가 달라지면 제어장치가 명령어를 해석하는 방식, 사용되는 레지스터의 종류와 개수, 메모리 관리 방법 등 많은 것들이 달라짐 - CPU 설계에도 큰 영향 2. CISC - Complex Instruction Set Computer - 복잡한 명령어 집단 - x86, x86-64 등이 대표적인 CISC 기반의 ISA - 다양하고 강력한 기능의 명령어 집합을 .. 2023. 11. 22.
명령어 병렬 처리 기법 [혼공컴구] 1. 명령어 파이프 라인 - 명령어 처리 과정 (클럭 단위) 1. 명령어 인출 (Instruction Fetch) 2. 명령어 해석 (Instruction Decode) 3. 명령어 실행 (Execute Instruction) 4. 결과 저장 (Write Back) - 단계가 겹치지 않는 경우에 CPU는 각 단계를 동시에 실행 가능하다. - 위의 각 단계에서 명령어1이 해석 단계에 들어갔다면, 인출 단계가 비게되는데 이때 명령어2가 인출단계에 들어가는 식으로 처리 - 따라서 파이프라이닝을 사용하면 명령어1 이후의 명령어2, 3, ... 부터는 실행까지 1클럭 주기만 필요하게 됨 - 이와같이 명령어들을 명령어 파이프라인에 넣고 동시에 처리하는 것을 명령어 파이프 라이닝이라고 함 2. 파이프 라인 위험 2-.. 2023. 11. 22.
컴퓨터 구조 - 클럭, 코어, 스레드 [혼공컴구] 1. 클럭 속도와 성능 - 컴퓨터 부품들은 클럭 신호에 맞춰 움직임 - CPU는 명령어 사이클이라는 정해진 흐름에 맞춰 명령어들을 실행 - 따라서 클럭 신호가 빠르게 반복되면 CPU를 비롯한 컴퓨터 부품들은 그만큼 빠른 박자에 맞춰 움직임 - 즉, 클럭 속도가 높아지면 CPU는 명령어 사이클을 더 빠르게 반복 - 클럭 속도는 Hz단위로 측정 - 2.5 GHz는 1초에 클럭이 25억번 반복됨을 나타냄 2. 코어 - 명령어를 실행하는 부품 - ALU, 제어장치, 레지스터등이 포함된 하나의 세트가 하나의 코어가 됨 - CPU가 여러개의 코어를 가지고 있으면 멀티코어CPU 혹은 멀티코어 프로세서로 부름 - 코어마다 처리할 연산이 적절히 분배되지 않으면 코어 수에 비례하여 연산 속도가 증가하지 않음 3. 스레드 .. 2023. 11. 17.
컴퓨터 구조 - 명령어 사이클과 인터럽트 [혼공컴구] 1. 명령어 사이클 - 하나의 명령어를 처리하는 정형화된 흐름 - 프로그램 속 각각의 명령어들은 일정한 주기가 반복되며 실행 - 과정 - 인출 사이클 (fetch cycle) : 메모리에 있는 명령어를 CPU로 가지고 오는 단계 - 실행 사이클 (excution cycle) : 제어장치가 명령어 레지스터에 담긴 값을 해석하고, 제어 신호를 발생 - 간접 사이클 (indirect cycle) - 간접 주소 지정 방식 등에서는 유효 주소의 주소를 명시하므로 명령어를 인출한다고 바로 실행이 불가능 - 이 경우 명령어 인출을 위해 메모리 접근을 한 번 더 해야 하기 때문에 간접 사이클을 거침 - 인터럽트 - CPU의 작업을 방해하는 신호 - 종류 1. 동기 인터럽트 - CPU가 실행하는 프로그래밍 상의 오류와 .. 2023. 11. 17.