
메인 메모리 (RAM)
컴파일이 완료된 프로그램 코드가 올라가서 실행되는 영역
프로그램을 다운 받으면 하드디스크에 저장되지만, 실행하면 프로그램이 메인 메모리에 올라간다.
입출력 버스 (I/O Bus)
컴퓨터 구성요소 사이에서 데이터를 주고 받기 위해 사용되는 경로
데이터 종류와 역할에 따라 어드레스 버스, 데이터 버스, 컨트롤 버스로 나뉨
CPU 내부
ALU(Arithmetic Logic Unit)
CPU에서 실제 연산을 담당하는 블록
대부분은 산술연산(+-*/...)과 논리 연산(AND, OR)으로 이루어진다.
CU(Control Unit)
CPU가 처리해야 할 명령어들을 해석
명령어가 CPU 내부로 흘러들어가면 2진수로 구성되어있는 명령어를 ALU가 이해할 수 있게 해석한다.
레지스터
CPU 내부에 임시적으로 데이터를 저장하기 위한 조그마한 메모리 공간
CPU에 명령어와 피연산자를 보낼 때 ALU에 피 연산자, CU에 명령어를 보내면 된다.
하지만 ALU는 연산, CU는 해석 중이라면? 이런 상황을 위해 있는 것이 레지스터이다.
2진 데이터를 저장하며 CPU 종류에 따라 개수와 형태가 다르다.
버스 인터페이스
CPU가 입출력 버스를 이용할 수 있게 해주는 인터페이스
구성요소 간 데이터를 주고받을 수 있는 것은 입출력 버스때문인데 그냥 되는 것은 아니고
입출력 버스의 통신방식을 이해하고 있는 무언가가 필요하다. 그게 버스 인터페이스다.
클럭 신호
CPU를 구성하는 요소가 맞춰서 일하는 신호
input 1과 input2를 더하는 연산장치, 결과를 저장하는 버퍼, 출력장치가 있다고 하자.
그런데 + 연산 장치가 연산하는 속도가 출력장치가 버퍼에서 데이터를 가져가는 속도보다 빠르다면
일부 결과가 출력이 안될 것이고 그 반대라면 한번 가져간 데이터를 다시 출력하는 문제점이 있을 것이다.
해결법은 속도가 느린 장치의 속도에 맞추면 된다. + 연산장치의 속도가 더 느리다면, 클럭 신호를
+ 연산장치의 속도에 맞춰놓고 이 신호에 맞춰 출력장치가 데이터를 가져가면 된다.
'CS' 카테고리의 다른 글
| [CS] SOLID 원칙 (0) | 2025.07.27 |
|---|---|
| [어셈블리] 스택 메모리 (0) | 2022.06.18 |
| [어셈블리] 배열 (0) | 2022.06.18 |
| [어셈블리] 반복문 (0) | 2022.06.18 |
| [어셈블리] 분기문 (0) | 2022.06.18 |