본문 바로가기

Study_C, C++

(52)
[홍정모의 따라하며 배우는 C언어] 0.9 정보의 단위 ~ 1.0 C언어를 제대로 배우는 방법 0.9 정보의 단위 - 데이터 -> 처리 과정 -> 정보 데이터 : 측정/관찰을 통해 얻은 값들 정보 : 데이터를 쓸모 있는 형태로 바꾼 것 디지털 정보의 단위는 디지털 데이터의 단위이기도 함 - 정보의 단위 : bit (binary digit) -> 0,1 두 숫자중 하나를 저장 - 1byte = 8bits - byte는 메모리 주소의 기본 단위 - 워드 (word) : CPU가 데이터를 다루는 기본 단위 == 레지스터의 크기 - CPU에 따라 달라짐 0.10 이진수 - 256 = 2 * 10^2 + 5 * 10^1 + 6 * 10^0 - 1011 = 1 * 2^3 + 0 * 2^2 + 1 * 2^1 + 1 * 2^0 2의 보수법 (Two`s Complement) : 2진수로 음수를 표현하는 방법. 음..
[홍정모의 따라하며 배우는 C언어] 0.7 CPU의 기본 구조 ~ 0.8 CPU가 일하는 방법 0.7 CPU의 기본 구조 보조 기억 장치에 있는 프로그램을 주 기억 장치(메모리) 로 복사시킨 후 (프로그램이 메모리에 올라감) 그 복사된 프로그램을 CPU가 실행시킴 보통 빠른 속도를 위해 OS는 SSD에 저장 SSD가 가격대비 용량이 적어 자료는 HDD에 저장 - 프로그램 : 실행시켜야 할 명령들이 나열된 것 - CPU 명령어 집합(Instruction Set) 니모닉 (Mnemonic. 기계어로 된 명령어들을 인간이 이해할 수 있는 단어로 대치한 것) 들이 모여있는 집합 ADD, STORE등 CPU가 수행하는 최소 단위의 작업들이 모여있음 이러한 기본적인 작업들을 조합해 복잡한 기능을 수행함 (프로그래머가 하는 일) 제어 장치 : 일을 할 때 관리를 하는 부분 산술 논리 장치(Arithmetic ..
[홍정모의 따라하며 배우는 C언어] 0.4-컴퓨터는 왜 2진수를 사용할까? ~ 0.6-컴퓨터 메모리의 기본 구조 0.4 컴퓨터는 왜 2진수를 사용할까? 컴퓨터는 다양한 정보들을 모두 숫자(0,1)로 바꿔서 처리함 에디슨 효과를 이용해 진공관에서 전자를 생성하고 그 전자가 음극에서 양극으로 흐르게 함(켜짐) / 흐르지 못하게 함(꺼짐) 을 제어함 -> 컴퓨터에서 2진수를 사용하는 근본적인 이유 - 벨 연구소에서의 트랜지스터의 발견 기능은 진공관과 유사하나 안정성이 뛰어나고 훨씬 작음 반도체를 이용해 만듦 (실리콘이 반도체의 대표적인 예시) Base에 들어오는 전압을 조절하여 전기가 Collector에서 Emitter로 흐를지 말지를 결정 작은 전기신호(Vin)로 큰 신호를 제어할 수 있음 이를 기반으로 현대의 디지털 기기들이 발전 IC (Integrated Circuit) : 다수의 트랜지스터들을 집어넣음 0.5 현..
[홍정모의 따라하며 배우는 C언어] 0.1-컴퓨터의 구성 요소들 ~ 0.3 운영체제가 해주는 일들 C언어는 Transistor를 개발한 벨 연구소에서 Unix를 만들다 Assembly로의 개발에 한계를 느껴 개발된 언어C++도 이 연구소에서 개발됨OS(Unix)를 만들던 언어이므로 효율성이 높고, OS의 주요 역할이 HW 제어이므로 C언어도 HW에 강력함우리가 사용하는 모든 프로그램은 HW를 사용하기 위함이다0.1 컴퓨터의 구성 요소들사용자 -> 입력장치 -> 컴퓨터 본체 -> 출력장치 -> 사용자 -> 입력장치위의 과정을 반복하며 동작입/출력이 다른 컴퓨터에 의해 진행될 수도 있음 - 메인보드 (마더보드) : 컴퓨터에서 주회로가 내장된 보드. CPU, 메모리 등이 내장되어 있다.1) 중앙 처리장치 (Central Processing Unit) : 컴퓨터에서 모든 연산을 담당. 일을 하는 부분보통 수..