컴퓨터공학기초/컴퓨터 공학 기초
-
보조기억장치-하드디스크 구조와 원리컴퓨터공학기초/컴퓨터 공학 기초 2022. 10. 29. 14:55
하드 디스크란? 하드 디스크는 하드 디스크 드라이브 라고도 이야기 하는데 짧게 줄여서 HDD 라고도 이야기 합니다. 하드 디스크는 비휘발성, 순차 접근이 가능한 컴퓨터의 보조 기억장치입니다. 하드디스크에 존재하는 플래터를 회전시켜, 자기 패턴으로 정보를 기록합니다. 우리가 생각하는 대부분의 하드디스크는 다음과 같은 모양을 하고 있습니다. 위의 사진은 하드디스크의 앞과 뒤를 보여주는 사진인데 앞에서 이야기한 플래터를 확인 하기 위해서는 하드디스크의 내부 구조를 확인해야 합니다. 아래 사진을 보시면 하드디스크의 내부 구조가 어떻게 구성되어 있는지 확인 할 수 있습니다. 하드 디스크는 다음과 같이 6개로 구성 되어 있습니다. 전원 커넥터, 데이터 커넥터, 헤드, 액추에이터암, 스핀들, 플래터가 존재 합니다. ..
-
캐시메모리컴퓨터공학기초/컴퓨터 공학 기초 2022. 10. 29. 14:45
캐시 메모리란? 캐싱(caching)은 컴퓨터의 처리 성능을 높이기 위한 기법이다. CPU는 데이터를 처리하기 위해 메모리와 끊임없이 데이터를 주고받는다. 이 때 CPU에 비해 메모리는 속도가 느리기 때문에 메모리에 접근할 때 CPU는 효율적으로 사용되지 못한다. 캐시 메모리(cache memory)는 CPU와 메모리의 속도 차이로 인한 병목 현상을 완화하기 위해 사용한다. 캐시메모리는 메모리와 CPU 사이에 위치해 있으며, 메모리 계층 구조에서 레지스터 다음으로 상위에 위치한다. 출처 : https://www.quora.com/What-is-Memory-hierarchy 책상에서 자주 사용하는 물건을 가까운 자리에 두듯, 자주 사용하는 데이터를 CPU와 가까운 위치에 저장해 필요할 때 마다 빠르게 꺼내..
-
RAM의 특성과 종류컴퓨터공학기초/컴퓨터 공학 기초 2022. 10. 29. 14:25
RAM(Random Access Memory) RAM은 자유롭게 읽고 쓸 수 있는 기억장치로, RWM(Read Write Memory)라고도 합니다. Ram에는 현재 사용중인 프로그램이나 데이터가 저장되어 있습니다. 전원이 꺼지면 기억된 내용이 모두 사라지는 휘발성 메모리입니다. 일반적으로 주기억장치 또는 메모리 하면 램을 의미합니다. 정보가 저장된 위치는 주소로 구분합니다. 램(RAM)은 전원이 끊어지면 기억되어있는 데이터들이 소멸되기 때문에 휘발성 메모리(Volatile Memory)라 표현합니다. 데이터를 읽는 속도와 기록하는 속도가 같으며, 컴퓨터의 주기억장치, 응용 프로그램 로딩, 데이터 일시 저장등과 같은 곳에 사용됩니다. - SRAM (Static RAM) 정적램이라 표현하며, DRAM에 비..
-
명령어 파이프라인컴퓨터공학기초/컴퓨터 공학 기초 2022. 10. 29. 14:06
명령어 파이프라인 CPU 처리성능 향상을 위해 Instruction 처리 과정을 여러 단계로 세분화하는 병렬처리 기법 파이프라인 발전 단계 파이프라인의 유형 T: 명령어 실행 시간, k: 파이프라인 단계, N 실행 명령어 수 명령어 인출(IF, Instruction fetch) 명령어 해독(ID, Instruction Decode) 연산 실행(EX, EXecution) 연산결과 저장(WB, Write Back) 파이프라인(pipeline) 파이프라인(pipeline) 특징 Micro Instruction 기반 병렬처리 성능 : Pt = k + (N – 1) 슈퍼 파이프라인(super-pipeline) spuer-pipeline 특징 파이프라인 단계수는 유지하면서 각 단계 내에서 처리속도를 몇 배로 높여주..
-
CPU의 개념 및 구성요소컴퓨터공학기초/컴퓨터 공학 기초 2022. 10. 29. 13:46
CPU는 사람의 두뇌와 같이 입력장치로부터 자료를 받아 연산하고 그 겨로가를 출력 장치로 보내는 일련의 과정을 제어 및 조정하는 핵심장치 CPU는 제어장치,연산장치,레지스터로 구성된다. 제어장치(Control Unit) 컴퓨터에 있는 모든 장치들의 동작을 지시하고 제어하는 장치 명령 레지스터에서 읽은 명령어를 해석하고, 해당하는 장치에 제어 신호를 보내 정확하게 실행 하도록 지시 프로그램 카운터(PC),명령어 레지스터(IR),부호기(제어신호 발생기),번지 해독기 등으로 구성 명령어의 실행 단계 단계 동작설명 인출(Fetch) -메모리에서 데이터를 로드하여 CPU에 있는 레지스터에 적재하는 과정 간접(Indirect) -메모리를 참조할 때 간접 주소 방식을 사용하는 경우 실행 -간접주소란 CPU가 메모리를..
-
C언어의 컴파일 과정컴퓨터공학기초/컴퓨터 공학 기초 2022. 10. 29. 13:16
전처리 과정 (preprocesssiong) 1. 본격적으로 컴파일하기 전에 처리할 작업들 2. 외부에 선언된 다양한 소스코드, 라이브러리 포함 (e.g. #include) 3.프로그래밍의 편의를 위해 작성된 매크로 변환 (e.g. #define) 4.컴파일할 영역 명시 (#if,#ifdef ...) 컴파일 과정 (compiling) 1.전처리가 완료 되어도 여전히 소스콛 2. 전처리 완료된 소스코드를 저급 언어(어셈블리 언어)로 변환 어셈블 과정 (assembling) 1.어셈블리어를 기계어로 변환 2. 목적코드(object file)를 포함하는 목적 파일이 됨 링킹 각기 다른 목적 코드를 하나의 실행파일로 묶어주는 작업 자료출처: https://youtu.be/MYKFLepF1UM
-
컴파일 언어와 인터프리터 언어컴퓨터공학기초/컴퓨터 공학 기초 2022. 10. 29. 12:54
고급언어가 저급 언어로 변환되는 과정에는 두가지 방식이 있다. 컴파일 언어 소스 코드를 컴파일한 후 기계어를 CPU/메모리를 통해 읽어 실행하는 방식으로 동작하는 언어 컴파일 언어로 작성된 소스코드는 컴파일러에 의해 저급 언어로 변환되고 (이 과정을 컴파일 이라고 한다) 컴파일 결과로 저급언어인 목적 코드가 생성 된다. 컴파일 언어 특징 규모가 큰 프로그램은 컴파일 시 오래 걸릴 수 있다. 컴파일 후에는 모든 소스코드가 기계어로 변환되어 있기 때문에 실행 시간이 빠르다. 컴파일 언어 종류 C, C++, Java, C# 인터프리터 언어(스크립트 언어) 소스 코드를 컴파일하지 않고 인터프리터로 소스코드를 한 줄씩 읽어서 바로 실행하는 방식으로 동작하는 언어 인터프리터 : 프로그래밍 언어의 소스 코드를 바로 ..
-
고급 언어와 저급 언어컴퓨터공학기초/컴퓨터 공학 기초 2022. 10. 29. 12:40
고급언어 - 고급 프로그래밍 언어란 사람이 이해하기 쉽게 작성된 프로그래밍 언어 이다. - 이해 가능 정도에 따른 분류 중 하나이며. 이는 저급언어와 고급언어로 나뉜다. 고급언어의 특징 - 저급 프로그래밍 언어 보다 가독성이 높고 다루기 간단하다. - C언어, 자바 등 대부분의 프로그래밍 언어들은 고급언어에 속한다. - 저급언어와는 다르게 특정 컴퓨터와 관계없이 독립적으로 프로그램을 만들 수 있다. 고급언어를 컴퓨터 언어인 기계어로 변환하기 위해 컴파일러와, 인터프리터 등이 있다. 기계어로 변환하는 동안 시간이 소요되며 저급언어보다 프로그램 크기가 더 크다. 고급언어 와 저급언어로 나누는 기준 - 고급 프로그래밍 언어와 저급 프로그래밍 언어란 사람이 접근하기 쉬운가 어려운가의 차이를 두고 기준으로 하여 ..