데이터 통신 - 정보 처리 시스템

주요 내용
- 정보처리 시스템의 이해
- 스마트폰의 하드웨어+소프트웨어
- 컴퓨터와 소프트웨어의 발전 방향
(컴퓨터통신에서 처리파트는 잘 안하지만, 1학년 때 했던 컴퓨터 개념 등을 정리하는 기회로 다시 해봄.)

지난 내용 : 정보 통신 시스템
신호 변환장치 어떤 신호(디,아)를 어떤 신호(디,아) 로 바꾸느냐?
디디 - DSU / 디아 - 모뎀
통신회선 특성, 분류기준 -> 대역폭, 전송속도


1. 정보처리(컴퓨터) 시스템 개요

데이터 가공 및 처리, 보관 역할

2. 컴퓨터 시스템의 하드웨어

컴퓨터 : 계산, 정보처리, 정보관리 및 운용, 하드웨어, 소프트웨어로 구성

- 하드웨어 : 컴퓨터를 구성하는 모든 기계적, 물리적 장치

- 소프트웨어 : 컴퓨터 사용할 수 있도록 관리, 운영하는데 필요한 모든 프로그램 집합체
시스템 소프트웨어, 응용 소프트웨어로 분류

시스템 소프트웨어 : 하드웨어를 컨트롤 하는 소프트웨어
응용 소프트웨어 : 우리가 주로 사용하는 소프트웨어

컴퓨터의 분류

처리 자료에 따른 분류

디지털 컴퓨터 : 디지털 자료, 일반적인 컴퓨터
아날로그 컴퓨터 : 아날로그 자료
하이브리드 컴퓨터: 아날로그 + 디지털 자료

사용 목적에 따른 분류

  • 범용 컴퓨터
  • 전용 컴퓨터

컴퓨터 하드웨어 구성과 기능

구성

  • 중앙 처리 장치 : 기억, 연산, 제어 장치
  • 주변장치 : 입력, 출력장치

기능 컴퓨터를 켰을 때, 제어장치의 bootstrap 영역에서 하드웨어를 테스트하고 동작을 준비한다.
처음에 ROM(Read Only Memory)에 담긴 명령어 수행한다.
제어장치가 보조기억장치에 있는 운영체제를 주기억장치로 불러온다.
응용 소프트웨어를 보조기억장치를 주기억장치로 가져온다. 문서작업을 주기억장치에서 하게된다.

레지스터: 한 워드 단위의 임시 메모리이다. 통신을 원활하게 해주는게 쓰인다.
프로그램 수행 시 프로그램으 지원하는 임시 메모리. 손바닥에 볼펜으로 글쓰는 느낌.

- 중앙 처리 장치

  • 연산 장치 : 산술연산, 논리연산
  • 제어장치 : 컴퓨터의 각 장치에 작업을 처리하는 순서 지시,
    주기억장치에서 데이터를 가져와 실행명령을 해석하여 제어 신호 생성.

일반적으로 컴퓨터를 나누는 기준
Micro Processor : 회로로 제어할 때
Micro System : 내장 프로그램으로 제어할 때

- 주기억장치
수행 중인 프로그램과 필요한 데이터 저장.
• 롬 : 전원이 켜지면 각 시스템의 동작 체크 및 운영 체제를 불러들이는 작업
• 램 : 운영체제를 적재한다.

- 보조기억장치
• 하드디스크 : 테라 단위. 기계적으로 자기를 읽어감.
• SSD : 전기 소자이기때문에 바로 읽기 때문에 100배정도 빠르다.
운영체제를 SSD에 저장해서 사용할 수도 있다.
• CD /DVD : 빛을 읽어서 자료를 해독한 후 처리.
• USB


부울 대수의 개념과 연산

컴퓨터의 기본적인 연산. 컴퓨터 회로를 만드는데 기본이 됨.

  • 부울대수 : 하나의 명제가 참(1) or 거짓(0)인가를 판단하는데 사용되는 수학적인 방법

  • 논리회로 : 부울 대수를 동작의 개념으로 표현한 것.
    기본 게이트는 And, Or, Not 게이트. Nand, Nor 게이트는 트렌지스터로 제조.

  • 조합 논리회로
    8개 논리 게이트의 조합으로 이루어진 회로

  • 순차 논리회로

  • 플립플롭

  • 레지스터
    여러 개의 플립플롭을 서로 연결하고, 입출력 시점 제어.
    메모리를 만들 수 있다.

기본 논리회로와 논리 게이트

기본 논리 회로 / 논리 게이트
논리합, 논리곱, 논리부정 등의 연산을 실행하기 위한 회로

가산기 논리 게이트 (덧셈기)
두 수를 더할 때 사용.
C: carry
S: sum

반가산기 회로도

전가산기 회로도
반가산기를 합쳐서 4비트 가산기, 64비트 가산기 등을 만든다.

개인용 컴퓨터, CPU(=마이크로프로세서)

• CPU
마이크로 프로그램에 의해서 동작한다.
레지스터는 워드 크기만큼의 용량을 가진다.
64비트 마이크로프로세서이면 레지스터의 크기도 64비트이다.

3. 컴퓨터 시스템의 소프트웨어

컴퓨터 데이터의 표현

입력 받은 10진수를 2진수로 변환하여 계산-분석
처리된 2진수 결과를 외부 출력장치를 통해 10진수 정보로 출력
논리회로로 표현할 수 있는 2진수로 표현
입력(10진수,문자) -> 컴퓨터 내부(2진수) -> 출력(10진수,문자)

진법 변환

• 10진수를 2진수로 변환
• 2진수 -> 8진수, 16진수로 변환

자료의 표현

2진화 10진 코드 Binary coded decimal BCD
10진수를 나타낼 4비트 BCD 코드 + 2비트 추가하여 문자를 나타냄.

• ASCII code
7bit = 128가지 표현
최근에는 1비트 더 추가한 perity code 사용.
짝수(even) 패리티는 전체 비트에서 1의 개수가 짝수가 되도록 패리티 비트를 정하는 것인데,
이를테면 데이터 비트에서 1의 개수가 홀수이면 패리티 비트를 1로 정한다.
홀수(odd) 패리티는 전체 비트에서 1의 개수가 홀수가 되도록 패리티 비트를 정하는 방법이다.

  • 논리 자료와 포인터 자료의 표현 방식

  • 비트
    0 -> False / 1 -> True
  • 포인터
    주소. 변수는 해당 값의 주소를 담고있다.

  • 정수 표현 방식
    1) 비 부호 방식
    n비트 -> 0~2^(n-1)-1 범위

2) 부호 절댓값 방식
맨 앞의 숫자가 부호를 표시.
0이면 양수, 1이면 음수
3) 1의 보수 방식
각 자릿수의 값이 모두 1인 수에서 주어진 2진수를 뺀 값
4) 2의 보수 방식
1의 보수를 이용해 구한 값에 1을 더한 값

보수 개념을 적용한 뺄셈

뺄셈 : 컴퓨터 내부에서는 덧셈만 가능하기 때문에 뺄셈은 보수를 이용해 덧셈으로 바꿉니다.
예시 ) 뺄셈 A - B는 B의 보수를 구한 다음 덧셈 A + (B의 보수)로 바꾸어 계산합니다.
(출처: https://ndb796.tistory.com/4 [안경잡이개발자])

실수의 표현 방식

부동 소수점 방식
가수부분, 지수부분으로 나누어 기억공간에 저장
355.12 =0.35512 * 10^3
가수부분 : 0.35512
지수부분 : 3
두개의 소수를 더하는데 평균 30개의 연산을 거쳐서 간다. CPU의 처리속도 단위 FLOPS = 1초에 몇개의 부동 소수점 연산을 할 수 있다

부동소수점 연산

소프트웨어의 개발 방법(워터폴 모델)

  1. 문제분석
  2. 알고리즘 설계
  3. 프로그램 코딩
  4. 프로그램 테스트
  5. 프로그램 문서화(사용법) 및 유지보수

프로그래밍 언어

  • 기계어

  • 어셈블리어
    명령 하나당 기계어 하나가 매칭. 기계어에 비해 쉽게 작성가능

  • 고급언어
    한 명령어가 여러개이다보니까 중간에 이것을 어셈블리어로 바꿔서 기계어로 바꾸는 과정이 있음.

  • 컴파일러
    원시 코드에서 하드웨어가 처리하기 용이한 목적 코드로 번역하는 번역기
    원시 코드 -> 어셈블리 -> 기계어 -> 링커 연결 -> 로더가 코드 적재 -> CPU 명령어 하나씩 꺼내서 사용.

  • 인터프리터
    소스코드를 바로 실행하는 컴퓨터 프로그램 또는 환경

4. 스마트폰의 하드웨어, 소프트웨어

스마트폰 하드웨어

AP 칩 : GPU(그래픽 프로세서), ISP, 통신 칩 포함.
CPU 와 같다.
핵심 센서 : 가속도, 근접 센서, 지문인식 센서.

스마트폰 소프트웨어

- 시스템 소프트웨어 : 모바일 운영체제
아이폰의 iOS, 갤럭시 Android 등

- 응용 소프트웨어 : 앱
빌드 후 스토어 배포

5. 4차 산업혁명 시대의 컴퓨터와 소프트웨어 발전 방향

- 바이오 컴퓨터 : 실리콘 등 반도체 대신 단백질 등 이용해 만든 컴퓨터
- DNA 컴퓨터 : 4가지 염기로 신호를 구성하는 컴퓨터
- 광 컴퓨터 : 전자 대신 광소자를 광섬유로 결합하여 연산장치를 만든 컴퓨터
- 양자 컴퓨터 : 전자 대신 양성자를 이용해 만든 컴퓨터
- 신경망 컴퓨터 : 사람의 신경망의 모습, 신경세포의 동작원리에 기초한 컴퓨터

영역 3차산업혁명 4차산업혁명  
  감지범위 직접 수집, 입력한 데이터 한정 -> 감지 범위 제한적 사물센서의 실시간 자발적 수집 -> 감지 범위 확대, 빅데이터
자율판단 사전에 프로그래밍된 업무를 반복적으로 수행 -> 자율성X 학습을 통해 자율적 사고 -> 자율판단 가능  
실행력 컴퓨터,스마트폰 등 IT기기 제한적 -> 실행의 시차 발생, 수단 제한 모든 사물 손쉽게 제어 -> 목표 달성 용이  

::정보처리 시스템 정리::
하드웨어 개념 : CPU, 메모리, 출력장치
CPU 가 입출력 모두 컨트롤

시스템소프트웨어 - 컴파일러, 로더, 링커 등 / 리눅스->오픈소스라서 하드웨어 자유롭게 컨트롤 가능하다.

부울대수 개념 -> 논리, OR, NOT 등 하드웨어 만드는 기본 데이터가 된다.

CPU의 분류
CISC / RISC 차이 알아놓기. 클럭차이

데이터 표현
10진수, 2진수, 16진수, 8진수 변환

PC레벨 : ASCII 코드 (주로사용). 7비트 코드. 128개. Perity 비트 8비트
확장 : EBCDIC 코드

포인터는 주소값

운영체제:
하드웨어를 사용하기 쉽다. 사용자와 컴퓨터 시스템 간 편리한 인터페이스 제공.
자원을 효율적으로 관리

링커 : 다수로 분할하여 여러개 프로그램을 하나의 모듈(프로그램)로 실행 가능하도록 연결하는 소프트웨어
로더 : 디스크와 같은 저장장치에 보관된 프로그램을 읽어 메인 메모리에 적재한 후 실행 가능한 상태로 만드는 소프트웨어

댓글남기기