본문 바로가기

전체보기

(186)
4. 관계 대수, 해석 구분 관계 대수 (Relational Algebra) 관계 해석 (Relational Calculus) 목적 어떻게? 무엇을? 절차 순차적 비순차적 관계 연산자 집합 연산자 연산자 기호 표현 의미 Union U R U S relation R과 S의 합집합 Interaction ∩ R ∩ S relation R과 S의 교집합 Difference ㅡ R ㅡ S relation R과 S의 차집합 Cartesian X R X S relation R과 S의 모든 원소들의 곱 관계 연산자 연산자 기호 표현 의미 Select σ σc(R) Relation R에서 조건 c를 만족하는 튜플 반환 교환 법칙 가능 Project π πL(R) Relation R에서 attributes의 집합 L로 구성된 튜플 반환 중복 허..
Signal 시스템에서 상호작용(interaction) 종류 1. 어셈 : 명령어 사이의 상호작용 2. 프로시저 호출 : 함수 사이의 상호작용 3. Linking : obj 파일간의 상호작용 4. Exception : OS와의 상호작용 (application -> OS) 5. signal : kernel과의 상호작용 (kernel -> application) SIGNAL이란? 시스템에서 특정 유형의 이벤트가 발생했을 때, process에게 알려주는 신호(signal) - Exception 및 interrupt와 유사 - kernel로 부터 받는 메시지 - 프로세스끼리 보낼 수 있음 - 시그널 유형은 integer 값으로 분류 (1~31) - 시그널에서 유일한 정보는 시그널 유형과, 도착했다는 신호이다. Send SI..
3. 관계형 DB의 데이터 모델 및 제약 관계형 데이터베이스(Relational Database)란 데이터를 테이블 형태로 저장한다. 각 행은 서로를 구분해주는 식별자를 가지고 있다. 각 항목은 행(row)에 저장되고, 항목의 속성은 열(column)으로 구분된다. 여기서 행(row)은 tuple로 불리기도 하고, 열(column)은 attribute라고 불리기도 한다. 여제부터 행은 tuple로, 열은 attribute라고 한다. 차수(Relation) attribute의 개수는 해당 Relation의 차수를 결정 Ex) 다음 테이블은 4차 Relation을 가짐 (Dname, Dnumber, Mgr_ssn, Mgr_start_date 총 4개) Relation 스키마 테이블을 정의해주는 부분이라 보면 된다. R(A1, A2, A3, ... ..
1. 데이터베이스 개요 Data : 암시적(implicit)으로 의미가 있는 사실 Database : 관련된 Date들의 집합 meta-data : DB안에 어떤 정보가 저장됐는지 기술(목차, 색인) 관계형 DB(Relational Database) : 데이터를 물리적 저장소를 개념적 표현과 분리하고, 쿼리 언어를 제공 DBMS 사용자가 DB를 만들고, 유지할 수 있게 해주는 프로그램 주 기능 1. 정의 (Defining) 2. 구축 (Constructing) 3. 조작 (Manipulating) 4. 공유 (Sharing) 5. 유지 (Maintaining) 6. 보호 (Protecting) -> System Protection (HW고장으로 보호, SW는 아님) -> Security Protection (해킹) 데이터베이스..
6. 파이프라인 (2/4) 해저드 파이프라인은 이론상 M단계 파이프라이닝을 도입하면 M배의 성능 향상을 생각하겠지만, 실제로는 이런 저런 이유로 성능이 크게 떨어진다. 해저드엔 3가지가 있다. 1. 구조적 해저드 2. 데이터 해저드 3. 명령어 해저드 해저드를 없애기 위해서는, 파이프라인에 명령어 투입을 멈춰야 한다. 이를 파이프라인 중지 또는 파이프라인 버블(NOP Sled) 이라고 한다. 하지만, 파이프라인 버블이 많아지면, 성능 향상이 크게 떨어지기 때문에, S/W구현에선, 컴파일러의 도움으로 명령어 순서를 변경하거나, H/W구현에선 파이프라인을 다시 설계하거나 자원을 추가한다. 구조적 해저드 실행 중인 2개 이상의 명령어가 동일한 하드웨어 자원을 동시에 요구하는 문제 EX) LOAD명령과 다른 여러 명령어들을 실행하는 과정에서, ..
6. 파이프라인 (1/4) 개요 명령어의 데이터 경로를 세분화해, 각기 다른 세부 단계를 동시 수행해, 여러 명령어 중첩 실행 파이프라인의 깊이(depth) : 단계의 개수 (Ex 세탁-탈수-건조 3개의 작업이면, 파이프라인 깊이는 3) 단계를 더 쪼개면, 깊이는 증가하지만, 지연 시간을 더 줄일 수 있다. 사진에서 위의 작업은 한 사람이 다 끝내야 다른 사람이 쓸 수 있는 순차 방식이고, 밑의 작업은, 한 사람이 세탁기를 돌리는 동안, 다른 사람이 놀고있는 탈수기, 건조기를 쓰는 파이프라인 방식이다. 시간으로 비교해 보자면 위의 순차 방식은 90분 * 4 = 360분이 나오지만, 밑의 방식은 초기 90분 + 가장 느린 작업 40분 * 3 = 210분이 나온다. 이는 순차 방식에 비해 약 1.7배가 빠르고, 작업량이 많아질수록 효율이 ..
5. 데이터 경로 (4/4) 예제 보호되어 있는 글입니다.
5. 데이터 경로 (3/4) 다중 사이클 방식의 명령어 실행 보호되어 있는 글입니다.