본문 바로가기

컴퓨터구조 자습 안내

비트·회로에서 CPU 실행과 메모리·병렬처리까지 따라가며 학습하는 경로입니다.

프로그램을 실행할 때 값이 어디에 저장되고 어떤 경로로 이동하는지 설명하는 교재입니다. 코딩 경험 없이 비트부터 시작합니다. 계산·회로·메모리의 필요한 준비는 교재 안에서 설명합니다.

학습 경로

영역배운 뒤 직접 할 수 있는 일
1–2장: 시스템·표현주소·용량·부호·정밀도를 구분해 저장 패턴 계산
3–4장: 회로·상태여기표·K-map·JK 입력식으로 동기 카운터 연결 검증
5장: CPU명령의 읽기·계산·기록과 분기 실행 추적
6–7장: 기억·전송캐시 필드·칩/뱅크·RAID 복원과 I/O 책임 구분
8–9장: 실행·제어load-use 시간표·PC 유지·bubble과 제어 상태 추적
10장: 병렬·성능SC/저장 버퍼의 두 변수 관측·성능·종합 추적

본문은 처음 등장하는 용어를 설명하고, 작은 예제 뒤에 독립 문제·힌트·풀이를 둡니다. 문제를 먼저 풀고 풀이에서 중간 상태까지 비교하세요. 최종 값만 맞았다면 저장 위치와 동작 순서를 다시 설명해 보세요.

장별 첫 본문

실행 준비와 모델의 범위

회로·주소·성능 계산은 종이와 계산기로도 학습할 수 있습니다. 선택 코드 실습은 Python 3 표준 라이브러리만 사용합니다. Python 파일에 코드를 그대로 저장하고 터미널에서 python 파일명.py로 실행합니다. 외부 패키지나 실제 하드웨어 레지스터 조작은 필요하지 않습니다. assert가 실패하면 문제 조건과 중간 값을 먼저 비교하세요.

코드를 읽는 데 필요한 표기부터 확인합니다. x = 3은 값을 저장하고, ==는 같은지 비교합니다. print(x)는 화면에 값을 표시합니다. def는 재사용할 계산을 함수로 묶고, return은 결과를 돌려줍니다. if는 조건 선택, for는 목록의 각 항목에 대해 반복합니다. 콜론 뒤 들여쓰기는 같은 블록을 표시하므로 복사할 때 유지하세요. [1, 2]는 목록, {20: 3}은 주소 20과 값 3을 연결한 딕셔너리입니다. 숫자 뒤 주석과 출력 설명은 본문에서 따로 읽으면 됩니다.

def add_one(value):
    return value + 1

for value in [0, 2]:
    print(add_one(value))
assert add_one(4) == 5

위 코드를 prepare.py에 저장해 실행하면 두 줄에 1과 3이 나옵니다. 이 준비 코드는 언어 교재의 대체가 아니라 이후 선택 실습을 그대로 실행하고 중간 값을 살펴볼 최소 안내입니다.

교육용 CPU·캐시 모델의 주소 단위·폭·타이밍·교체 정책은 해당 본문에 명시합니다. 실제 RISC-V·Linux 자료는 모델과 현실의 차이를 확인하는 추가 읽기입니다. 교육용 실행 결과를 실제 CPU의 성능 측정으로 취급하지 않습니다.

다른 교재와의 관계

운영체제는 프로세스·메모리·장치의 관리로, 알고리즘은 문제 해결 절차로 확장합니다. 여기서 필요한 컴퓨터구조 설명을 다른 교재에 맡겨 생략하지 않습니다. PEIM은 기술사 답안·복습용으로 별도 목적을 유지합니다.

첫 학습은 프로그램이 하드웨어를 움직이는 과정에서 시작하세요. 이미 용어를 안다면 CPU 데이터 경로나 캐시 매핑을 먼저 읽고, 풀이에서 틀린 부분의 복습 경로를 따라 돌아올 수 있습니다.

계산과 설계를 더 깊게 연결하기

기초 절을 읽은 뒤 JK 카운터 설계, 칩·뱅크 주소표, RAID 복원, load-use 사이클 추적, 두 변수의 순서 비교로 이어집니다. 손 계산과 코드 출력이 같은 조건을 사용하는지 비교하세요. 실제 부품·디스크·ISA의 전기/운영 동작을 측정한 실습과는 구분합니다.