Computer Structure - 2024년12월15일
컴퓨터 구조
- 컴퓨터의 네 가지 핵심 부품
- CPU : 명령어 해석, 실행 담당하는 장치
레지스터 : 명령어 처리 전후로 값을 임시 저장하는 장치
ALU(산술논리연산장치) : 연산을 수행하는 장치 (계산을 담당하는 회로)
제어장치 : 명령어를 해석하고 제어 신호를 내보내는 장치
- 메인 메모리 & 캐시 메모리 : 실행 중인 프로그램 저장하는 장치 [전원이 꺼지면 삭제]
- 보조기억장치 : 보관할 프로그램 저장하는 장치 [전원이 꺼져도 저장 유지]
- 입출력장치 : 컴퓨터 내외부와 정보를 주고받는 장치
(시스템)버스 : 부품 간 정보를 주고받을 통로
명령어
- 소스 코드 : 사람(개발자)가 이해하기 편한 언어 [ 고급 언어 ]
컴파일 : 소스 코드 전체가 컴파일러에 의해 검사, 목적 코드로 변환
인터프리트 : 소스 코드 한 줄씩 인터프리터에 의해 검사, 목적 코드로 변환
- 명령어와 데이터 : 컴퓨터가 이해하기 편한 언어 [ 저급 언어 ]
기계어
어셈블리어
- 오퍼랜드로 연산 코드를 수행해라.
오퍼랜드(operand) : 명령어를 수행할 대상, 대상(데이터)이 직접 명시되기도 하고, 대상의 위치가 명시되기도 함
연산 코드(op-code) : 오퍼랜드로 수행할 동작
- 유효 주소 : 연산 코드에 사용할 데이터가 저장된 위치, 즉 연산의 대상이 되는 데이터가 저장된 위치
- 주소 지정 : 유효 주소를 찾는 방법, CPU마다 차이가 있음
- 즉시 주소 지정 : 연산에 사용할 데이터를 오퍼랜드 필드에 직접 명서, 가장 빠른 주소 지정 + 데이터 크기에 제한
- 직접 주소 지정 : 오퍼랜드 필드에 유효 주소 명시, 오퍼랜드 필드로 표현 가능한 메모리 주소 크기에 제한
- 간접 주소 지정 : 오퍼랜드 필드에 유효 주소의 주소 명시, 유효 주소 크기에 제한은 없으나, 속도가 비교적 느림
- 레지스터 주소 지정 : 연산에 사용할 데이터를 저장한 레지스터를 오퍼랜드 필드에 직접 명서, 레지스터 접근은 메모리보다 빠르다!
- 레지스터 간접 주소 지정 : 연산에 사용할 데이터를 메모리에 저장하고, 그 주소(유효 주소)를 저장한 레지스터를 오퍼랜드 필드에 명시, 메모리 접근은 한 번
데이터
- 인코딩 : 문자를 0과 1로 이루어진 문자 코드로 변환
- 디코딩 : 0과 1로 이루어진 문자 코드를 문자로 변환
메인메모리 & 캐시 메모리
- RAM(Random Access Memory) : 휘발성 저장장치
DRAM : 시간이 지나면 점차 저장된 데이터가 사라지는 RAM
SRAM : 시간이 지나도 저장된 데이터가 사라지지 않는 RAM
SDRAM : 클럭과 동기화된 RAM
DDRSDRAM : 대역폭을 넓혀 속도를 높인 RAM
- ROM(Read Only Memory)
Mask ROM : 가장 기본적인 형태의 ROM
PROM : 데이터를 한 번 새길 수 있는 ROM
EPROM : 지우고 다시 저장 가능한 PROM
플래시 메모리 : EEPROM의 발전된, 저렴한 형태, 반도체 기반의 저장장치
- 엔디안 : 연속해서 저장해야 하는 바이트를 저장하는 순서
빅 엔디안 : 상위바이트부터 저장하는 방식
리틀 엔디안 :하위바이트부터 저장하는 방식
- 물리 주소 : 실제 메모리의 하드웨서 상의 주소
- 논리 주소 : CPU와 실행 중인 프로그램이 사용하는 주소
논리 주소와 물리 주소 간의 변환을 담당하는 장치 : MMU(Memory Management Unit)
보조기억장치와 입출력장치
- 하드디스크
플래터 : 하드 디스크 상에서 실질적으로 데이터가 저장되는 부분
스핀돌 : 플래터를 회전시키는 부분
헤드 : 플래터의 데이터를 읽고 쓰는 부분
디스크 암 : 헤드를 옮기는 부분
- 하드디스크의 데이터 단위
트랙, 섹터, 실린더, 블록
- 하드 디스크의 지연 시간
탐색 시간, 회전 지연, 전송 시간
- 플래시 메모리 : 반도체 기반의 저장 장치, 매우 범용성 넓은 저장 장치
NAND 플래시 메모리, NOR 플래시 메모리 존재
셀(cell) : 플래시 메모리의 가장 작은 저장 단위