컴퓨터 구조

꼬꼬마·2021년 12월 24일

1. 컴퓨터의 역사

고대 컴퓨터는 Fixed Program Computer로 단순 빠른 수학연산을 위한 계산기를 위한 목적으로 만들어졌고
컴퓨터에 기능을 추가하거나 수정을 불가능했다.
현대 컴퓨터는 Stored Program Computer로 다양한 작업이 가능하고
어플리케이션을 저장하여 실행할 수 있으며 데이터들은 메모리라는 곳에 저장된다.

2. 컴퓨터의 구조

컴퓨터 시스템은 크게 두 가지로 구성된다.

하드웨어와 소프트웨어

하드웨어 : 컴퓨터의 기계적인 장치로 CPU,모니터,스피커등으로 물리적인 장치를 말한다.
구성요소
-CPU
-기억장치(주기억장치,보조기억장치)
-입출력장치
소프트웨어 : 하드웨어를 움직이게하는 명령어들의 집합이다. 소프트웨어가 하드웨어에게 명령을 보내야만 하드웨어가 동작한다. 이처럼 하드웨어에게 명령을 내릴때 컴퓨터가 이해할 수 있는 언어로 명령을 내려야하는데 이때 소프트웨어를 만들때 사용하는 언어가 프로그래밍 언어이다.
구성요소
-시스템 소프트웨어
-응용소프트웨어

-시스템 소프트웨어

ios,윈도우 같은 운영체제와 프로그래밍언어(고급언어)를 컴퓨터가 이해할수있는 기계어로 바꿔주는 컴파일러가 있다.
컴퓨터 하드웨어를 제어하고 관리한다.

-응용소프트웨어

시스템 소프트웨어를 이용해서 사용자가 하려는 작업을 수행해준다.
문서작성, 사진편집, 메시지 등등 다양한 일을 해준다.

-중앙처리장치(CPU)

사람으로 따지면 두뇌에 해당한다. 메모리에서 데이터를 가져와 기억,해석,연산,제어한다. 한마디로, 메모리에있는 데이터를 읽어서 처리한다. cpu에는 컨트롤 유닛과 연산로직 유닛과 레지스터가 있다.

컨트롤 유닛 (제어장치)

  • 모든 프로세서 시그널을 관리
  • 입력과 출력의 흐름을 관리
  • 동작을 위한 코드를 불러오기
  • 시스템상의 데이터 흐름을 관리

연산로직 유닛 (산술논리연산장치)

  • CPU의 한 부분으로 연산에 필요한 로직 관리
  • 더하기, 빼기, 비교
  • Logical Operation, 비트 연산등을 실행
    레지스터
    cpu의 저장장치로 속도가 매우 빠르다.

-기억장치- 주기억장치(RAM,메모리)

컴퓨터에서 실행중인 프로그램 데이터를 기억하는 장치이다. 컴퓨터가 꺼지면 데이터가 다 사라진다.
하지만 속도가 매우 빠르다. CPU는 RAM에있는 메모리를 읽어서 처리한다.
-RAM구조

코드 영역
- 메모리의 코드 영역은 실행할 프로그램 코드가 저장되는 영역입니다
- 이곳에 코드를 보관하며 CPU가 한줄 한줄씩 처리합니다
데이터 영역
- 프로그램의 전역 변수와 정적 변수가 저장되는 영역입니다.
- 프로그램의 시작과 동시에 할당되고, 프로그램이 종료되면 제거됩니다
힙 영역
- 사용자가 직접 관리할 수 있고, 관리 해야만 하는 영역입니다
- 객체를 생성하는 경우 힙 영역에 할당되고, 해제됩니다
스택 영역
- 함수의 호출과 연관되는 데이터가 저장되는 영역입니다
- 함수가 호출하게 되면 스택 영역이 할당되고, 함수의 호출이 끝나면 소멸합니다

-기억장치 -보조기억장치(HDD,SSD,CD 등)

전원이 나가도 저장된 내용이 기억된다. 하지만 속도가 매우 느리며 cpu와는 직접 접근이 불가능하다.
하드디스크에 데이터가 있다면 CPU가 RAM메모리에 올려준다.
하드디스크는 속도가 매우 느리므로 데이터를 신속하게 사용하려면 RAM을 사용해야한다.

-입출력장치

키보드나 마우스, 마이크등의 기기로부터 컴퓨터 외부장치에서 컴퓨터 내부로 들어오는 입력이다.
모니터, 스피커 등의 기기로 연산 결과를 컴퓨터외부로 출력한다.

3.프로그램 실행 플로우

따라서 프로그램을 실행하기위해서는 다음 과정 절차를 따른다.

  1. C,java,javascript등의 고급언어로 코드를 작성한다.
  2. 코드가 컴파일러를 거쳐 기계어로 변환되고 컴파일러가 정상적으로 수행
    면 실행파일.exe로 변환된다.
  3. CPU가 실행파일을 수행하기위해서는 실행파일을 하드디스크에서 가져온다
    4.하드디스크에 가져온 데이터를 메모리(주기억장치=RAM)에 올려준다.
  4. CPU는 메모리에 있는 실행파일을 가져와서 해석하고 연산한다.
  5. CPU의 연산결과를 저장하는 메모리에서 CPU가 결과를 받는다.
  6. 사용자에게 결과를 반환하다.
profile
동글한지구🌍

0개의 댓글