일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 지역변수
- DirectX
- CPU 스케줄링
- dfs
- 컴퓨터구조
- 렌더링 파이프라인
- 멀티스레드
- 장치컨트롤러
- 보조기억장치
- 혼자 공부하는
- static
- BFS
- 독학
- DDR SDRAM
- Transform
- 프로그래머스
- C++
- 한빛미디어
- 컴퓨터 구조
- 138477
- 운영체제
- 입출력장치
- 인터럽트
- 프로세스
- 혼자공부하는
- 131701
- 스레드
- 풀이
- 그래프
- 코딩테스트
- Today
- Total
목록컴퓨터구조 (24)
빼미의 개발일기

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. RAID의 정의 RAID(Redundant Array of Independent Disks) : 하드 디스크와 SSD를 사용하는 기술, 데이터의 안전성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 하나의 논리적 장치처럼 사용하는 기술. RAID의 종류 - RAID는 RAID 레벨로 표현하며, 대표적인 RAID 0 ~ 6이 있고, 파생된 RAID 10, RAID 50이 있다. - 단 RAID 2, 3은 현재 잘 활용되지 않는다. ● RAID 0 - 데이터를 저장할 때 각 하드 디스크에 그 수만큼 나눠 저장한다. 이런 분산되어 저장된 데이터를 스트라입(Stripe)이라 하고, 분산 저장하는 것을 스트라이핑..

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. 하드 디스크 - HDD(Hard Disk Drive)는 자기적인 방식으로 데이터를 저장하는 보조기억장치로, 자기 디스크(Magnetic Disk)의 일종으로 지칭된다. 플래터(Platter) : 데이터가 저장되는 원판. 자기물질로 덮여 있어, 0과 1의 역할을 수행하는 수많은 N극과 S극을 저장한다. 스핀들(Spindle) : 플래터를 회전시키는 모터. 헤드(Head) : 플래터의 데이터를 읽고 쓰는 구성요소. 액츄에이터 암(Actuator Arm) : 간단히 디스크 암(Disk Arm)이라고도 하고, 헤드를 원하는 위치로 이동시키는 역할. ※ 플래터에 데이터가 저장되는 방식 - 플래터는 트랙(Track)과 섹터..

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. ● 물리주소 : 정보가 실제로 저장된 하드웨어상의 주소. ● 논리주소 : CPU와 실행 중인 프로그램이 사용하는 주소 - CPU와 메모리간의 상호작용을 하려면 논리주소와 물리 주소간의 변환이 있어야 하는데, 이는 CPU와 주소 버스 사이에 위치한 메모리 관리 장치(MMU : Memory Management Unit)에 의해 수행한다. - MMU는 CPU가 발생시킨 논리 주소에 베이스 레지스터 값을 더하여 논리 주소를 물리 주소로 변환한다. 베이스 레지스터에 15000이 저장되어 있고 CPU가 발생시킨 논리 주소가 100번지라면 이 논리 주소는 물리주소 15100번지로 변환된다. 베이스레지스터가 45000이었다면 ..

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. ● RAM : 실행할 프로그램의 명령어와 데이터가 저장되는 곳. 또한 전원을 끄면 저장된 내용이 사라지는 휘발성 저장 장치Volatile Memory)이다. ※ 전원이 꺼져도 저장된 내용이 유지되는 저장 장치를 비휘발성 저장장치(non-Volatile Memory)라 하고, 하드 디스크나 SSD. CD-Rom, USB 메모리와 같은 보조기억장치가 대표적이다. - CPU는 보조기억장치에 직접 접근하지 못하기에 보조기억장치는 '보관할 대상' 주기억장치는 '실행할 대상'을 저장한다. 실행하고픈 프로그램이 보조기억장치에 있다면 '보조기억장치 → RAM → 실행' 순으로 진행한다. ● RAM의 용량과 성능 - 보조기억장치..

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. ● 명령어 집합(Instruction Set) : CPU가 이해할 수 있는 명령어들의 모음. 명령어집합 구조(ISA - Instruction Set Architecture)라고 한다. 명령어의 세세한 생김새, 명령어로 할 수 있는 연산, 주소 지정 방식 등 CPU마다 차이가 있고, 때문에 ISA가 다를 수 있다. 예를 들어 인텔 노트북의 CPU는 x86 혹은 x86-64 ISA를 이해하고, 애플 아이폰의 CPU는 ARM ISA를 이해한다. - ISA가 다르다는 건 CPU가 이해할 수 있는 명령어가 다르다는 뜻이고, 명령어가 달라지면 어셈블리어도 달리진다. - 같은 소스 코드로 만들어진 같은 프로그램이라도 ISA가..

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. 빠른 CPU를 위해 높은 클럭속도와 멀티코어, 멀티스레드를 지원하도록 하는게 중요하지만, CPU를 놀지 않고 시간을 알뜰하게 쓰며 작동하게 만드는 것이 중요!! ● 명령어 파이프라인 : 명령어를 읽어 순차적으로 실행하는 프로세서에 적용되는 기술. 명령어 인출 (IF - Instruction Fetch) 명령어 해석 (ID - Instruction Decode) 명령어 실행 (EX - Execute Instruction) 결과 저장 (WB - Write Back) ※ 전공서에 따라 '명령어 인출(IF) → 명령어 실행(EX)' 으로 나누기도 하고, '명령어 인출(IF) → 명령어 해석(ID) → 명령어 실행(EX)..

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. 클럭, 멀티코어, 멀티스레드는 무엇일까? 클럭(Clock) : CPU의 속도를 나타내는 단위. 컴퓨터 부품들은 '클럭 신호'에 맞춰 동작 CPU는 '명령어 사이클'의 정해진 흐름에 맞춰 명령어들을 실행 클럭 속도가 높아지면 CPU는 명령어 사이클을 더 빠르게 반복할 것이고, 다른 부품들도 더 빠르게 작동. 클럭 속도는 헤르츠(Hz) 단위로 측정. 1초에 한번 반복되면 클럭 속도는 1Hz ※ 클럭 속도는 항상 일정하지 않다. 고성능을 요할 땐 순간적으로 클럭속도를 높이고, 그렇지 않을 땐 클럭속도를 낮추는등 유연하게 속도를 조절하는데. 최대 클럭 속도를 강제로 더 끌어올리는 기법을 오버클럭킹(Overclocking..

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. 프로그램 속 명령어와 데이터는 실행 전후로 반드시 레지스터에 저장된다. ● 레지스터 : CPU 내부의 작은 임시저장장치 - 프로그램 속 명령어 & 데이는 실행 전후로 레지스터에 저장 ● 반드시 알아야 할 레지스터 (1) 1. PC (Program Counter) : 메모리에서 가져올 명령어의 주소 (메모리에서 읽어 들일 명령어의 주소) 저장 2. IR (Instruction Register) : 해석할 명령어 (방금 메모리에서 읽어 들인 명령어) 저장 3. MAR (Memory Address Register) : 메모리 주소 저장 4. MBR (Memory Buffer Register) : 해당 주소에서 가져온 ..

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. - C언어 컴파일 과정 전처리기(Preprocessor) -> 컴파일러(Compiler) -> 어셈블러(Assembler) -> 링커(Linker) 1. 전처리 과정 : 본격적인 컴파일을 하기 전 처리할 작업들 외부에 선언된 다양한 소스 코드, 라이브러리 포함 (#include) 프로그래밍의 편의를 위해 작성된 매크로 변환 (#define) 컴파일할 영역 명시 (#if, #ifdef) 전역 변수 2. 컴파일 과정 : 전처리가 완료 되어도 여전히 소스 코드 전처리 완료된 소스 코드를 저급언어(어셈플리 언어)로 변환 3. 어셈블 과정 : 어셈블리어를 기계어로 변환 목적 코드(Object File)를 포함하는 목적 파..

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. ● 명령어의 구조 : 명령어는 수행할 연산의 방법 + 연산에 사용될 데이터 혹은 연산에 사용될 테이터가 저장될 위치를 가리키는 형태의 구조로 수행된다. - 이를 일반적으로 표현하면 이렇게 표현할 수 있다. 연산코드(Operation Code) : 수행할 연산의 방법 오퍼랜드(Operand) : 연산에 사용될 데이터 혹은 연산에 사용될 테이터가 저장될 위치 오퍼랜드는 1개 이상이 될 수 도 있고 하나도 없을 수도 있다. 연산코드는 CPU마다 크 종류와 개수는 다양하지만 대표적으로 4가지의 공통점을 가지고 있다. ◆ 대표적인 연산 코드의 종류 (내용을 암기하지 말고 이런 유형이 있다 정도로만 이해) 데이터 전송 MO..