CS
-
8장. 입출력장치CS/컴퓨터구조 2023. 9. 5. 21:09
※ 입출력장치와 컴퓨터 내부의 정보 전달 방식은 보조기억장치의 정보 전달 방식과 다르지 않음. 따라서 이번 장에서 입출력장치는 보조기억장치까지 포함함. 8-1. 장치 컨트롤러와 장치 드라이버 입출력장치는 종류가 다양하므로 컴퓨터 내부(=CPU)와 정보 전달 방식을 규격화하기 어려움. 이를 위해 장치 컨트롤러와 장치 드라이버를 사용. 장치 컨트롤러 모든 입출력장치는 자신만의 장치 컨트롤러가 있고 이를 통해 CPU와 통신한다. 역할 CPU와 입출력장치 간 데이터 전송 중개를 하기 위한 HW 장치. (규격화되어 있지 않은 다양한 입출력장치의 데이터 전송 방식에 대해 번역 기능을 수행한다고 보면 됨.) 입출력장치의 오류 검출. 버퍼링: 데이터 전송률이 다른 두 장치 사이에서 데이터 전송률을 맞춰주는 동작. (일..
-
7장. 보조기억장치CS/컴퓨터구조 2023. 9. 3. 22:42
7-1. 다양한 보조기억장치 하드디스크 HDD 자기적인 방식으로 데이터를 저장하는 보조기억장치 구성 요소 플래터: 실질적으로 데이터가 저장되는 곳. 보통 HDD는 여러 겹의 플래터가 세로로 쌓여있는 형태. 데이터는 플래터 앞 면과 뒷면에 각각 저장됨. 스핀들: 플레터를 돌려 헤드가 원하는 데이터가 저장된 플래터에 닿을 수 있게 해주는 부품. RPM (Revolution Per Minutes): 스핀들이 1분동안 플래터를 돌리는 횟수. 헤드: 플래터에서 데이터를 읽어들이는 장치. 플래터 앞/뒷 면마다 있음. 디스크암: 헤드를 원하는 위치로 이동하는 장치. 헤드는 디스크암에 부착되어 있음. 트랙: 플레터를 중심원(스핀들)을 기준으로 원 모양으로 한 줄씩 나눈 공간 섹터: 트랙을 조각낸 것. HDD에서 가장 ..
-
6장. 메모리와 캐시메모리CS/컴퓨터구조 2023. 8. 31. 23:36
*책에서 메모리가 일컫는 것은 전부 주기억장치로 사용되는 RAM, 즉 DRAM을 의미한다고 보면 된다. CPU는 보조기억장치에 직접 접근할 수 없다. 보조기억장치에 저장된 정보(or 프로그램)에 접근하려면 해당 값을 주기억장치로 가져와야 한다. 이 때 주기억장치으로 사용되는 RAM의 용량이 클수록 한 번에 가져올 수 있는 정보의 크기가 커지므로 컴퓨터의 전체 성능이 좋아진다고 볼 수 있다. 6-1. RAM의 특징과 종류 DRAM VS. SRAM (각 특징은 DRAM과 SRAM 간 서로 상대적인 개념임.) DRAM(Dynamic RAM) SRAM(Static RAM) 설명 저장한 정보가 동적으로(Dynamic) 지워지는 RAM → 데이터 소멸을 막으려면 일정 주기로 데이터 재활성화 필요 저장한 정보가 지워..
-
5장. CPU 성능 향상 기법CS/컴퓨터구조 2023. 8. 26. 21:53
5-1. 빠른 CPU를 위한 설계 기법 클럭 컴퓨터의 부품들의 동작하는데 기준이 되는 박자? 클럭 속도: 1 초에 클럭이 반복되는 횟수(Mhz). 빠를수록 CPU 성능 향상. 그러나 클럭 속도가 빠를수록 CPU 발열도 심해짐. 코어 Core CPU 내에서 명령어를 실행하는 부품. 1Core =(CPU + ALU + 레지스터) 라고 이해하면 됨. 멀티코어 프로세서 Multi-core Processor: Core를 여러 개 갖는 CPU. 멀티코어 CPU 라고도 함. 클럭 속도가 빠른 것보다는 코어 수가 많은 것이 CPU 성능 향상에 더 효과적. 코어가 많다고 무조건 CPU 성능이 코어 수에 비례하여 향상되는 것은 아님 → 각 코어 당 처리해야 할 명령어 분배를 얼마나 잘 하느냐도 중요 ★ 스레드 하드웨어적 ..
-
4장. CPUCS/컴퓨터구조 2023. 8. 26. 16:19
CPU를 구성하는 주요 부품 3가지: ALU, 제어 장치, 레지스터 4-1. ALU와 제어 장치 ALU ALU는 명령어대로 산술/논리 연산을 수행하는 부품. 제어 장치로부터 제어신호를 통해 수행해야 할 명령어(연산) + 레지스터로부터 피연산자를 받아들임. 두 정보를 조합하여 연산을 수행. 연산 결과 또는 연산 결과에 대한 주소와 플래그를 내보냄. 이 때, 연산 결과와 플래그는 속도 고려를 위해 레지스터에 임시 저장됨. (메모리에 저장하여 CPU와 메모리 사이를 왔다 갔다 하는 것보단 레지스터에 저장하여 CPU 내부에서 왔다 갔다 하는 것 이 더 빠르므로) 플래그: 연산 결과에 대한 부가적인 상태 정보 부호 플래그: 연산 결과의 음수/양수 정보를 의미. 1-음수, 0-양수 제로 플래그: 연산 결과가 0인지..
-
3장. 명령어CS/컴퓨터구조 2023. 8. 24. 23:57
3-1. 소스 코드와 명령어 명령어: 컴퓨터를 실질적으로 작동시키는 중요한 정보 프로그램을 만들 때 사용되는 언어의 2가지 타입 고급 언어: 사람이 이해할 수 있도록 작성된 언어 ex) C, C++, Java, Python 등… 저급 언어: 컴퓨터가 이해할 수 있는 언어. 0과 1로 구성된 기계어와 기계어를 사람이 이해할 수 있게 번역한 어셈블리어로 나뉜다. 고급 언어를 저급 언어로 변환하는 방식 2가지 컴파일: 고급 언어로 작성된 소스 코드 전체를 저급 언어로 변환하는 과정. 컴파일을 수행하는 주체를 컴파일러라고 한다. 대표적으로 C나 C++이 컴파일 언어이다. 목적 파일: 목적 코드로 이루어진 파일. 컴파일을 통해 저급 언어로 변환된 코드를 목적 코드라고 함. main.c 를 컴파일하면 목적 파일인 ..
-
[컴퓨터구조] 2장. 데이터CS/컴퓨터구조 2023. 8. 23. 22:57
1. 0과 1로 숫자를 표현하는 방법 1-1. 컴퓨터는 0과 1만 이해할 수 있다. = 이진법 사용 컴퓨터에서 정보를 나타내는 가장 작은 단위는 bit(비트) 이다. 1bit는 0 또는 1만 표현 가능 ⇒ N bit로 표현할 수 있는 정보 수 = 2^N 개 *워드: CPU가 한 번에 처리할 수 있는 데이터 크기. 만약 CPU가 한 번에 64비트를 처리할 수 있다면 1워드는 64비트가 됨. 1-2. 이진법으로 음수 표현 이진법으로 음수를 표현하는 방법 중 하나는 2의 보수를 그 이진수의 음의 값으로 이해하는 것이 있다. 2의 보수: 어떤 이진수가 2^n이 되기 위해 필요한 값 중 가장 수(를 이진법으로 표현한 수) ex) 101 의 2의 보수: 1000 - 101 = 11 2의 보수 쉽게 구하는 방법: 음..
-
[컴퓨터구조] 1. 컴퓨터 구조 시작하기CS/컴퓨터구조 2023. 8. 22. 23:59
1-1. 컴퓨터가 이해하는 정보 2가지 데이터: 숫자, 문자, 이미지, 영상 등의 정적인 정보 명령어: 컴퓨터를 실질적으로 움직이게 하는 정보, 데이터는 명령어를 위한 재료 ex) 1과 2를 더하라 → 1, 2는 데이터, ‘~과 ~를 더하라’ 는 명령어 1-2. 컴퓨터 주요 부품 4가지 + 메인보드 CPU, 주기억장치(=메모리, RAM), 보조기억장치, 입출력장치 주기억장치(=메모리, RAM) 현재 실행 중인 프로그램의 명령어와 데이터를 저장하는 장치. 메모리는 각 저장 공간마다 주소를 갖는다. (주소는 컴퓨터가 현재 필요로 하는 데이터나 명령어의 위치를 특정하는 데 사용된다.) CPU 메모리에 저장된 정보를 일고, 해석하고 실행하는 부품 크게 다음 3가지 장치로 구성 ALU: 논리적 연산을 수행하는 장..