💽 디지털 공학 개론

2진 덧셈과 뺄셈

  • 2진 덧셈
    • 2진 비트들 간의 더하기 연산
    • 덧셈의 결과로 합(sum)올림수(carry)를 얻음
    • 더하는 두 수가 모두 1일 경우, 올림수 발생
    • 덧셈 규칙
    • 예제
  • 2진 뺄셈
    • 2진 변수 x(피감수)와 y(감수) 간에 뺄셈 수행
    • 뺄셈의 결과로 차이(difference)빌림수(borrow) 얻음
    • 피감수(minuend) < 감수(subtrahend) => 발림수 발생
    • 뺄셈 규칙

2진 곱셈과 나눗셈

  • 2진 곱셈
    • 2진 비트 간의 곱하기 연산
    • 두 비트 중에 어느 하나만 0이라도 곱셈 결과는 0
    • 두 비트들이 모두 1이면 1
    • x(피승수), y(승수)
    • 승수의 최하위 비트부터 검사
      • 승수가 1 >> 부분적(partial product)으로 피승수를 그대로 씀
      • 승수가 0 >> 피승수의 비트수 만큼 0을 씀
    • 모든 승수의 비트에 대해 위 과정을 반복한 후 부분적을 모두 더한다
    • 곱셈 규칙
    • 예제
  • 2진 나눗셈
    • 2진 비트로 표현된 두 개의 정수들 간의 나누기 연산
    • 반복적인 자리 이동뺄셈으로 수행
    • 나눗셈에 대한 일반적 수식
      • D(피제수) / V(제수) = Q(몫)...R(나머지)
    • 피제수의 비트들을 좌측에서 우측으로 차례로 검사
    • 값이 제수보다 크거나 같은 경우가 될 때까지 한 비트씩 우측으로 이동하며 검사를 반복
    • 비트들이 나타내는 값이 제수보다 크거나 같으면 피제수의 대응비트에서 제수를 빼준다
    • 예제

💻 마이크로프로세서

ATmega128




  • 논리값과 디지털 출력 및 입력 전압
    • 디지털 입력
    • 디지털 출력
  • 5[V] 전원
    • 논리값 입력
      • 1: 3.0[V] 이상의 HIGH 디지털 전압레벨 입력
      • 0: 1.0[V] 이하의 LOW 디지털 전압레벨 입력
    • 논리값 출력
      • 1: 4.0[V] 이상의 HIGH 디지털 전압레벨 출력
      • 0: 0.7[V] 이하의 LOW 디지털 전압레벨 출력

회로 제작

  • 하드웨어 제작에 필요한 도구
    • 인두기, 인두기 스탠드
      • 저항이나 커패시터 등을 프린트 기판에 납땜할 때 사용
      • 납땜용으로는 소비 전력이 20~30W 정도의 것을 선택
      • 인두기 스탠드는 인두기를 고정시키는 데 사용
    • 니퍼, 롱 노즈
      • 니퍼는 저항이나 커패시터 등을 기판에 납땜한 후 여분의 리드 선을 절단하는 데 사용
      • 롱 노즈는 전선이나 부품을 잡아 편하게 납땜 가능
      • 열 상쇄, 전선 피복 벗김
    • 래핑기, 래핑선
      • 래핑선은 단선으로 직경이 25mm, 주석 도금한 것 사용
      • 래핑기는 래핑선을 사용하여 부품과 부품 사이를 접속할 때 사용
    • 스트리퍼
      • 직경 0.25mm 정도의 래핑선을 벗기는데 사용
    • 납흡입기
      • 수동소자나 DIP 타입(다리(lead)가 달린) 부품의 납땜 제거에 사용
  • 하드웨어 제작 순서
    • 인두기가 가열할 때까지 대기
    • 부품을 기판에 부착
    • 인두기 끝을 납땜하는 곳에 댐
      • 납땜하려는 부분에 인두기를 댄 후, 납을 인두기 끝에 닿게 하여 녹임
    • 다리(lead) 절단
  • 필요 부품

  • ISP 다운로더
    • MOSI, MISO, SCK의 세 가지 신호선을 이용한 시리얼 통신 방식
    • 6핀 또는 10핀의 다운로드 핀으로 구성

회로도의 기본 요소

  • 부품의 명칭 또는 종류
    • 어떤 부품들을 사용하는가?
  • 사용하고 있는 부품의 정수
    • 부품의 정수는 얼마인가?
  • 부품 사이의 접속 관계
    • 각 부품들은 어떻게 연결되었나?
  • 접속교차
  • 회로도에서 사용하는 기본 단위
  • 전원그라운드
  • 회로도에 표시하지 않는 것
    • 전원 및 그라운드의 접속
    • 디지털 IC의 전원 및 그라운드
    • 실장 레이아웃이나 배선의 방법
    • 부품 종류(커패시터나 저항: 기호 표시)
    • 기구 부품 관련
    • 기능이나 타이밍 관련
  • 저항 사용 방법
    • 저항(resistor): 전기 흐름을 방해하는 부품
    • 전기 저항: 방해 크기
    • 단위: Ω(옴, Ohm)
  • 저항 종류
    • 기능에 따라 고정 저항과 가변 저항으로 나뉨
    • 고정 저항이 일반적
  • 고정 저항
    • 탄소 피막 저항
      • 가격이 저렴하고 가장 많이 사용
    • 금속 피막 저항
      • 온도 특성이 좋은 고 정밀도(0.1%~0.5%) 저항
    • 시멘트 저항
      • 대전력이 요구되는 회로에 사용
    • 권선 저항
      • 안정성이 좋은 정밀저항 >> 계측기에 사용
    • 어레이(array) 저항
      • 여러 개(4개~10개 정도)의 저항을 하나의 패키지 형태로 한 것
      • 디지털 회로처럼 동일한 회로에 다수의 저항이 필요한 경우 사용
  • 가변 저항
    • 저항을 가변할 수 있는 부품
    • 볼륨 타입
      • 샤프트를 외부에 내고 손잡이로 변화시키는 형태
    • 반고정 타입
      • 드라이버 등으로 돌리는 형태
      • 한번 변경하면 움직이지 않는 경우에 사용
      • 성능 조정
  • 저항 값컬러 코드
  • 저항의 기능용도
    • 전류의 흐름을 제한
    • 전기 회로를 순조롭게 동작하도록 하는 기능
    • 발광X or 약하다
    • 전류 과다
    • 이상적 동작 상태
  • 소비 전력과 정격 전력
    • 소비 전력정격 전력의 1/2 이하로 사용
  • 직렬과 병렬 연결
    • 직렬
    • 병렬
  • 커패시터의 사용 방법
    • 커패시터의 기능
      • 전기를 저장하거나 방출하는 축전지로서의 기능
      • 직류를 통과하지 않는 성질을 이용
    • 커패시터 단위: 패럿[F]
    • 커패시터 주요 용도
      • 다이오드와 정류 회로를 구성 >> 교류를 직류로 변환
      • 커패시터의 충전 시간을 이용 >> 펄스의 시간 지연 회로 구성
      • 저항과 함께 구성 >> 여러 신호 중에서 저주파 신호만 or 고주파 신호만 추출
  • 커패시터의 종류
    • 전해 커패시터
      • 정격 전압: 2V~500V
      • 비교적 용량이 크다(0.1~15000 마이크로 패럿)
      • 극성 있음 >> 두 개의 리드선 중 긴 쪽이 플러스
      • 직류 회로의 전원 필터나 교류 회로의 커플링으로 사용
    • 탄탈 커패시터
      • 정격 전압: 3V~35V
      • 비교적 용량이 크다(0.1~220 마이크로 패럿)
      • 극성 있음 >> 두 개의 리드선 중 긴 쪽이 플러스 극
      • 전해 커패시터보다 주파수 특성이 좋음 >> 노이즈 진폭 제한기나 바이패스, 커플링, 전원필터로서 사용
    • 세라믹 커패시터
      • 정격 전압: 25V~3KV
      • 비교적 용량이 작다(수 피코 패럿 ~ 수 마이크로 패럿)
      • 극성 없음
      • 허용 오차가 크다(플마 10%~20%)
      • 고주파용 바이패스, 동조용, 고주파 필터로서 사용
    • 바리콘
      • 외부에 샤프트가 있어서 손잡이로 가변
      • 라디오의 동조용
    • 트리머
      • 샤프트 없음
      • 조정용 드라이버를 이용한 미세 조정용 형태
  • 커패시터의 용량
    • 전해 커패시터, 탄탈 커패시터
    • 세라믹 커패시터: 극성 없음
  • 커패시터 단위

💾 시스템 프로그래밍

리눅스 파일 개요 및 종류

  • 파일 정의
    • 관련 있는 데이터의 집합
    • 정보를 저장하기 위한 가장 기본적인 단위
    • 보조기억장치에 저장
  • 파일 사용 이유
    • 데이터 저장
    • 장치에 접근
    • 프로세스 간 통신
  • 파일 종류


리눅스 파일 구성 요소

  • file name
    • 파일 접근 시 사용
    • 파일명과 관련된 i-node가 반드시 필요
    • 최대 255자까지 가능
  • i-node
    • 번호로 표시
    • 파일 정보(파일 소유자, 파일 크기, 접근 권한) + 데이터 블록 주소
    • 데이터 블록의 실제 위치 주소
    • sys/stat.h 파일에 정의되어 있는 stat 구조체에 저장
  • data block
    • 데이터가 저장되는 실제 하드 디스크 공간

📠 운영체제

프로세스의 개념과 정의

  • 프로세스
    • CPU에 의해 처리되는 사용자(응용) 프로그램과 시스템 프로그램
    • 운영체제에 의해 관리되는 최소 작업 단위
    • PCB를 가진 프로그램
    • 실행 중인 프로그램을 통하여 결과를 얻기 위한 과정
    • 프로세서에 의해 프로그램이 진행되는 과정
    • 비동기적 행위
      • 프로세스가 서로 규칙적이지 않고 독립실행
    • 어떤 목적이나 결과에 따라 발생되는 사건들의 과정
    • 프로세서가 할당되는 프로그램 혹은 작업

PCB(Process Control Block)

  • PCB
    • 프로세스 제어 블록
    • 프로세스에 대한 중요한 정보를 저장하는 곳
    • Task/Job Control Block
    • 프로세스를 관리하기 위하여 유지
    • 프로세스가 생성될 때, PCB 만들어지고 프로세스 완료 후 삭제
    • 메인 메모리에서 프로세스의 존재 정의
  • PCB 저장 정보
    • 프로세스의 상태
      • 생성, 보류, 준비, 실행, 대기, 중단, 교착, 완료 등 표시
    • 프로세스의 포인터
      • 부모/자식 프로세스 포인터
      • 할당된 자원(프린터, 마우스...)에 대한 포인터
    • 프로세스 스케쥴링 정보
      • 프로세스의 우선순위 정보
    • 레지스터 저장 정보
      • CPU에 저장되는 정보
      • 누산기(Accumulator)
      • 인덱스/범용 레지스터
      • PC(Program Counter)
    • 메모리 관리 정보
      • 주기억장치
      • 페이지 테이블
    • I/O 장치 상태 정보
      • 입출력 장치
      • Open File(개방된 파일)
    • 계정 정보
      • CPU 사용 시간, 실제 사용 시간, 한정 시간
      • 계정 번호, 프로세스 번호, 작업 번호

프로세스 종류

  • 순차 프로세스
    • 현재 실행 중인 하나의 프로세스
    • 프로세스 실행은 하나씩 순차적으로 실행함을 원칙으로 함
    • 어느 시점이든지 하나의 프로세스를 위해 하나의 명령어가 실행되도록 함
  • 병행 프로세스
    • 현재 실행 중인 프로세스가 2개 이상
    • CPU가 하나
      • 교대로 사용
      • A 프로세스가 끝난 후에 B 프로세스 수행 처리
    • CPU가 다수
      • 각각의 프로세스를 함께 실행
      • A 프로세스와 B 프로세스를 CPU 운휴 시간에 맞춰서 교대로 수행 처리
      • 시분할 사용
    • 두 개 이상의 CPU 사용
      • A 프로세스와 B 프로세스를 동시에 수행 처리

📺 전산 개론

컴퓨터 시스템의 구성

  • 개인용 컴퓨터의 구성프로그램 내장 방식
  • 폰 노이만의 프로그램 내장 방식
    • 주기억장치: 실행할 데이터와 프로그램 기억
    • 중앙처리장치: 제어장치와 연산장치, 레지스터로 구성
  • 하드웨어
    • 컴퓨터를 구성하는 장치들의 모임
    • 본체 = 기판(마더보드)(CPU + 메모리 + ROM + 각종 카드)
    • 외부 장치 = 키보드 + 마우스 + 프린터 + USB 메모리
    • 중앙 처리 장치(CPU)
      • 실질적인 수치 및 논리 연산을 제어수행하는 컴퓨터의 핵심 장치
      • 제어 장치 + 연산 장치 + 레지스터
    • 주기억장치
      • 처리하는 명령어와 실행하는 프로그램을 저장하는 기억장치
      • Memory: 1차 기억 장치
      • RAM + ROM
    • 보조 기억 장치
      • 사용하지 않는 프로그램이나 데이터를 보관해 두었다가 필요할 때 사용
      • 저장장치(Stoage = 2차 기억 장치)
      • 플래시 기억 장치, 하드디스크, 블루레이 디스크 등
    • 입출력 장치
      • 입력 장치: 외부에서 정보를 컴퓨터의 기억장치에 저장
      • 출력 장치: 기억장치 내용을 사용자가 인지할 수 있도록 나타냄
      • 마우스, OMR, 3D 프린터 등
    • 통신 장치
      • 통신망을 통해서 정보를 송수신하는 역할을 수행하는 장치
      • 랜카드, 모뎀, 허브, 스위칭
  • 소프트웨어
    • 컴퓨터를 이용해서 문제를 처리하기 위한 프로그램 집단
    • 시스템 소프트웨어
      • 컴퓨터를 구성하는 각 장치들을 직접 제어하는 프로그램 집단
      • 운영체제, 유틸리티, 장치드라이브, 언어 번역 프로그램
    • 응용 소프트웨어
      • 사용자의 목적에 맞게 선택하여 활용하는 프로그램 집단
      • 워드, 엑셀, 음악 스트리밍, 게임 등
  • 펌웨어(Firmware)
    • 컴퓨터가 시스템의 효율성을 향상시키기 위해 ROM에 고정되어 있는 소프트웨어
    • 변경 불가, 하드웨어 일체용 >> 처리효율 증대 목적
    • 컴퓨터의 시작에 필요한 시스템 소프트웨어
    • 시스템의 초기 동작 제어

컴퓨터 시스템의 작동

  • 부팅
    • 컴퓨터에 전원을 넣음 >> ROM에 기억된 BIOS 프로그램이 컴퓨터의 각종 장치를 점검하여 동작 >> 운영체제를 메모리에 탑재
    • 시스템을 켤 때, 하드웨어 점검
    • 운영체제(OS)를 주기억장치(RAM)으로 가져옴
    • ROM 메모리에 저장되어 있음
  • 운영체제
    • 컴퓨터의 하드웨어와 소프트웨어 자원을 효율적으로 운영 및 관리
    • 컴퓨터와 사용자 간 중계 역할
출처: kg 아이티뱅크
profile
There's Only One Thing To Do: Learn All We Can

0개의 댓글