Major`(171)
-
[Network] 표현 계층 (Presentation Layer)
표현 계층 (Presentation Layer) - (캡슐화) 응용 계층으로부터 받은 Data를 세션 계층으로 보내기 전에, 통신에 적절한 형태로 변환 - (역캡슐화) 세션 계층에서 받은 Data를 응용 계층에 맞게 변환하는 역할 Data 표현 차이를 해결하기 위해서 Data를 각 계층에 맞게 변환 - Data를 어떻게 표현할지 정하는 역할 - Network의 시스템 별로 Data의 표현 방식이 다른데 이를 하나의 통일된 구문 형식으로 변환하는 기능을 수행 Incoding / Decoding - 대표적 프로토콜 : ASCII / MPEG / JPEG / MIDI / SSL Data 표현 방법 ▶ 추상 문법 - 각 컴퓨터에서 사용하는 Data 표현 규칙 ▶ 전송 문법 - Network 전체에서 일관성을 지..
2022.01.31 -
[Network] 세션 계층 (Session Layer)
계층별 특징 (상위/하위) 하위 계층 (전송 / 네트워크 / 데이터 링크 / 물리) - OS 내부에서 구현되어 사용 - 주요 기능 : Data를 안전하게 전달 상위 계층 (응용 / 표현 / 세션) - Application을 구현하는데 사용 - Data를 송수신하는 컴퓨터 내의 프로세스 간의 통신 프로토콜 세션 계층 (Session Layer) - 응용 프로그램 간의 대화를 유지하기 위한 구조 제공 + 이를 처리하기 위해 프로세스들의 논리적 연결을 담당 - 통신 중 연결이 끊어지지 않도록 유지시켜주는 역할을 수행 TCP/IP 세션의 연결 확립/중단/해제, 세션 메세지 전송 기능 수행 - 포트 번호를 기반으로 연결 - 송수신을 위한 프로세서들을 서로 논리적으로 연결 - 통신 장치 간 상호작용 + 동기화를 제..
2022.01.31 -
[컴퓨터구조] 명령어
명령어 세트 (Instruction Set) - CPU마다 명령어의 종류, 개수가 서로 다르다 하나의 CPU에 대한 명령어들의 집합 : 명령어 세트 명령어 세트 설계 고려 사항 1. 연산 종류 2. 데이터 형태 3. 명령어 형식 4. 주소지정 방식 연산 종류 (Operation Repertoire) - CPU가 수행할 연산들의 수, 종류, 복잡도 반드시 수행하는 기본적 연산 ▶ Data 전송 - (Register ↔ Register) / (Register ↔ Memory) / (Memory ↔ Memory) 간에 Data를 이동하는 동작 이 과정에서 Memory의 주소를 계산하는 경우도 있다 ▶ 산술 연산 - 덧셈/뺄셈/곱셈/나눗셈과 같은 기본적인 산술 연산 ▶ 논리 연산 - Data의 각 bit들에 대..
2022.01.29 -
[Network] 전송 계층 (Transport Layer)
전송 계층 (Transport Layer) - 목적지에 신뢰할 수 있는 Data를 전달하기 위해 필요한 Layer - 패킷이 전송과정에서 아무 문제 없이 제대로 목적지에 도착할 수 있도록 패킷 전송을 제어 Network 혼잡 상황에 따라 패킷의 전송량을 조절해서 패킷의 흐름을 제어 패킷 전송의 오류를 점검해서 목적지까지 패킷이 제대로 도착했는지 확인 - Layer 1, 2, 3(물리, 데이터 링크, 네트워크) 이 3계층만 있어도 목적지에 Data 전송은 가능 but, 전송 과정에서 Data가 손상/유실되면 이에 대한 책임은 안진다 >> 이러한 문제점을 해결하기 위한 계층 : Layer 4 (전송 계층) 전송 계층 역할 (Transport Layer) - Layer3에서 라우팅 기능을 통해서 Data를 전..
2022.01.27 -
[컴퓨터구조] 명령어 파이프라이닝
명령어 파이프라이닝 (Instruction Pipelining) - CPU의 성능 ≒ 컴퓨터시스템의 프로그램 처리 시간에 직접적 영향 속도를 향상시키면 향상시킬수록 매우 좋다 속도를 향상시키는 방법 중 하나 : 명령어 파이프라이닝 ≫ 매우 간단하면서 분명한 효과 1. 명령어를 실행하는데 사용되는 하드웨어를 여러 개의 독립적인 단계(stage)들로 분할 2. 각 단계별로 동시에 서로 다른 명령어들을 처리 → CPU 성능 향상 3. 분할되는 단계가 많이질수록 CPU의 성능은 향상 가장 효율적인 파이프라인 조건 - 각 단계별 처리 시간 일정 - 각 명령의 처리 단계 균일 2-단계 명령어 파이프라이닝 - 명령어 사이클은 기본적으로 인출 사이클/실행 사이클 : 2개의 단계로 구성 이 2개의 단계들을 처리하는 하드..
2022.01.25 -
[Algorithm] 최대공약수 GCD (유클리드 호제법)
호제법 두 수가 서로 상대방 수를 나눠서 결국 원하는 수를 얻는 알고리즘 두 수 A, B의 최대공약수를 G라고 하면 A = Ga / B = Gb → A를 B로 나누면 (A≥B라고 가정) A = BQ + R → Q : 몫, R : 나머지 Ga = GbQ + R R = G(a-bQ) ≫ G는 A를 B로 나눈 나머지의 약수 Example A : 20 / B : 55 → GCD(A, B) 20%55 = 20 → GCD(55, 20) 55%20 = 15 → GCD(20, 15) 20%15 = 5 → GCD(15, 5) 15%5 = 0 → GCD(5, 0) → B가 0이 되는 순간 알고리즘 종료 → 최종 최대공약수 = A Java Code static int GCD(int A, int B){ if(B==0) ret..
2022.01.24 -
[Network] 네트워크 계층 (Network Layer)
네트워크 계층 (Network Layer) - 논리적인 주소(IP 주소)를 담당하고, 패킷의 전달 경로를 결정(라우팅)하는 역할 - Layer 4(Transport Layer)에서 만들어진 패킷을 전달 받아서, 목적지 컴퓨터의 논리적 주소(IP)를 Layer3의 헤더에 추가하는 역할 - 서로 다른 Network간의 통신을 가능하게 해주는 계층 라우터"라는 장비를 통해서 다른 Network로 Data를 전송 "라우터" Data의 목적지가 정해지면 해당 목적지까지의 최적의 경로를 설정해준다 "IP 주소"를 통해서 Network를 식별 Layer 2(Data Link) / Layer 3(Network) Layer 2 - Ethernet 프로토콜을 기반으로 같은 Network(LAN)안에서 Data를 주고받는다..
2022.01.21 -
[DB] 아스키코드 저장용 2022.01.21
-
[컴퓨터구조] CPU의 기본 구조
CPU - 컴퓨터의 핵심 요소 - 기억장치에 저장되어 있는 명령어들을 실행 : "프로그램 수행" CPU의 프로그램 수행 과정 (기능) ① 명령어 인출 (Instruction Fetch) - 무조건 실행 - 기억장치로부터 명령어 읽기 ② 명령어 해독 (Instruction Decode) - 무조건 실행 - 해당 명령어 해독 어떤 동작을 수행해야하는지 결정해야 하기 때문에 ③ 데이터 인출 (Data Fetch) - 명령어를 수행할 때 Data가 필요한 경우, (기억장치, I/O장치)로부터 해당 Data를 읽기 ④ 데이터 처리 (Data Process) - 해당 Data에 대한 산술/논리연산을 수행 ⑤ 데이터 저장 (Data Store) - 수행 결과 저장 → ①, ②는 무조건 실행 / ③, ④, ⑤는 명령어..
2022.01.20 -
[컴퓨터구조] 컴퓨터 부품/시스템 발전 과정
컴퓨터 부품 발전 과정 1940년대 - 트랜지스터 (Transistor) - 제1세대 핵심 부품인 진공관을 대체 - 제2세대 컴퓨터들의 핵심 부품 더 작고, 가격이 저럼하고, 더 적은 열을 발산 반도체 재료인 실리콘으로 만들어진 고체 장치 1958년 - 집적회로(Integrated Circuit : IC) - 수만개 이상의 트랜지스터들 → 하나의 반도체 칩에 집적시킨 전자 부품 - 제3세대 컴퓨터들의 핵심 부품 IC 제조 과정 ▶ 집적도에 따른 IC칩 구분 (1) SSI (Small Scale IC) - 수십 개의 트랜지스터들이 집적 기본적인 디지털 게이트들을 포함 (2) MSI (Medium Scale IC) - 수백 개의 트랜지스터들이 집적 (카운터, 해독기, 시프트 레지스터)와 같은 조합회로/순차회..
2022.01.18 -
[컴퓨터구조] 컴퓨터 구조의 발전 과정
부품의 발전과정 1. 릴레이(relay)와 같은 기계식 부품들을 이용해서 구현 2. 주요 부품들을 트랜지스터/반도체 집적회로(IC)칩으로 대체 - 컴퓨터의 처리 속도 ↑ - 반도체 기억용량 칩 밀도 ↑ -> 저장 용량 ↑ - CPU 수 ↑, 하나의 칩에 여러 개의 CPU 코어 포함 -> 시스템 성능 ↑ 컴퓨터의 발전과정 1642년 (Blaise Pascal) - 최초의 컴퓨터 (덧셈/뺄셈 가능) 덧셈, 뺄셈을 하는 기계적 카운터 다이얼 위치에 따라 10진수를 표시하는 6개의 원형판 2세트 각 원형판은 일시적으로 숫자를 기억하는 레지스터로 사용 1671년 (Gottfried Leibniz) - 반복적 방법(Iterative) (덧셈/뺄셈 + 곱셈/나눗셈 가능) Pascal의 계산기에 2개의 원형판을 추가 ..
2022.01.18 -
[컴퓨터구조] 시스템의 구성
시스템 버스 (System Bus) - 컴퓨터의 구성요소(CPU, 기억장치, I/O장치)들을 서로 연결하고, Data/신호 교환을 위한 통로 - 한 번에 한 개의 장치만 Data 전송 가능 - 데이터 버스 / 주소 버스 / 제어 버스가 존재한다 데이터 버스 (Data Bus) CPU와 (기억장치, I/O장치) 사이에서 Data를 전달하는 통로 (기억장치, I/O장치)의 명령어와 Data를 CPU로 보낸다 CPU 연산결과를 (기억장치, I/O장치)로 보낸다 - 데이터를 주고 받아야 하기 때문에 양방향 버스 - 데이터 버스 크기(폭) = 한 번에 전송될 수 있는 Data의 크기(비트 수)를 결정 Word 크기, 레지스터 크기와 같다 if 데이터 버스 크기 = 32bit >> Data를 한 번에 32bit씩 ..
2022.01.17