본문 바로가기

혼공컴구+운영체제

[혼자 공부하는 컴퓨터구조+운영체제] 1주차

기본미션

 

공부한 내용

ch 1. 컴퓨터 구조의 큰 그림

  • 컴퓨터 구조
    • 컴퓨터가 이해하는 정보
      • 데이터 : 컴퓨터가 이해하는 숫자,문자 등의 정적인 정보
      • 명령어 : 데이터를 움직이고 컴퓨터를 작동시키는 정보
    • 컴퓨터의 네 가지 핵심 부품->메인보드(마더보드)라는 판에 연결
      • 중앙처리장치(CPU) : 메모리에 저장된 명령어를 읽고, 해석하고, 실행
        • ALU : 계산기
        • 레지스터 : 임시저장장치
        • 제어장치 : 제어신호를 보내 명령어 해석
      • 주기억장치(메모리) : 현재 실행되는 프로그램의 명령어와 데이터를 저장, 저장된 값의 위치는 주소로 파악
      • 보조기억장치 : '보관할' 프로그램과 정보를 저장, 전원이 꺼져도 저장된 내용이 날아가지 않음
      • 입출력장치 : 마이크, 스피커 등 컴퓨터 외부에 연결되어 내부와 정보를 교환하는 장치
    • 시스템 버스 : 컴퓨터의 네 가지 핵심 부품을 연결하는 버스
      • 주소버스 : 주소를 주고받는 통로
      • 데이터버스 : 명령어와 데이터를 주고받는 통로
      • 제어버스 : 제어신호를 주고받는 통로

출처:https://post.naver.com/viewer/postView.naver?volumeNo=34538786&memberNo=25379965

ch 2. 데이터

  • 비트 : 0과 1을 나타내는 가장 작은 정보 단위
  • 이진법 : 0과 1로 모든 숫자를 표현
  • 2의 보수 : 이진수의 음수표현, 0과 1을 반전시킨 후 1을 더함
  • 십육진법 : A-10,B-11~F-15
  • 십육진수->이진수 또는 이진수->십육진수 : 4비트씩 끊어서
  • 문자집합 : 컴퓨터가 인식하고 표현할 수 있는 문자의 모음
  • 문자 인코딩 : 문자를 0과 1로
  • 문자 디코딩 : 0과 1을 문자로
  • 아스키코드 : 128개의 문자표현, 한글이나 다른 언어는 표현 한계
  • EUC-KR : 완성형 인코딩, 조합형 인코딩, 한글 단어에 2바이트 크기의 코드 부여
  • 유니코드 : 현대 문자를 표현할 때 가장 많이 사용되는 표준 문자집합, UTF-8, UTF-16등의 인코딩 방식

ch 3. 명령어

  • 고급언어 : 사람이 이해하는 언어
    • 컴파일 언어 : 컴파일러에 의해 소스코드 전체가 저급언어로 변환->목적코드로 변환됨->링킹 후 실행파일로
    • 인터프리터 언어 : 인터프리터에 의해 소스코드가 한줄씩 실행
    • 컴파일 언어가 인터프리터 언어보다 실행 속도 빠름
  • 저급언어 : 컴퓨터가 이해하는 언어, 0과 1로 이루어짐
    • 어셈블리어 : 기계어를 읽기 편한 형태로 만듦, 프로그램이 어떤 절차로 작동하는지 근본적인 단계에서부터 추적하고 관찰할 수 있음
    • 기계어 : 0과 1
  • 명령어의 구조
    • 연산코드 : 명령어가 수행할 연산
      • 데이터 전송
      • 산술/논리연산
      • 제어 흐름 변경
      • 입출력 제어
    • 오퍼랜드 : 연산에 사용될 데이터, 연산에 사용될 데이터의 위치
      • 대부분 위치나 주소가 많이 담겨, 주소필드라고 부름
      • 오퍼랜드는 0개 이상이 될 수 있음
    • 주소지정방식
      • 즉시 : 연산에 사용될 데이터, 데이터 크기는 작지만 속도 빠름
      • 직접 : 유효주소(메모리 주소), 즉시보다는 데이터의 크기가 커짐
      • 간접 : 유효주소의 주소, 범위 넓어짐, 메모리를 2번 접근하여 속도가 느림
      • 레지스터 : 유효주소(레지스터 이름), 직접보다는 빠름, 표현할 수 있는 레지스터 크기에 제한
      • 레지스터 간접 : 유효주소를 저장한 레지스터, 메모리에 접근하는 횟수 1번, 간접보다 속도 빠름