1. 명령어 사이클 메이저 상태 4가지

 

2. 명령어 사이클 설명

 

3. 인출 사이클 동작의 마이크로 연산

t1 : PC의 내용을 MAR에 이동

t2 : MAR에 의하여 지정된 기억장소의 내용을 MBR로 이동하고, PC의 내용을 I만큼 증가
t3 : MBR의 내용을 IR로 이동

 

 

 

 

 

3-1. ADD 명령어 실행 사이클에서의 마이크로 연산

 

 

 

4. 간접(inditect) 사이클 동작의 마이크로 연산

t1 : 명령어의 주소 필드는 MAR로 이동, 오퍼랜드의 주소 인출을 위해 사용됨
t2 : MAR에 의하여 지정된 기억장소의 내용을 MBR로 이동
t3 : IR의 주소 필드가 MBR로부터 들어오는 주소로 갱신, 따라서 그것은 간접주소가 아닌 직접 주소를 가지게 됨

 

 

 

 

5. 인터럽트(interrupt) 사이클 동작의 마이크로 연산

t1 : PC의 내용이 MBR로 보내져서 인터럽트 수행이 끝난 후 복귀(return)할 때 사용가능하도록 함
t2 : MAR에는 PC의 내용이 저장될 위치의 주소가 적재. PC에는 인터럽트-처리 루틴의 시작주소가 적재
t3 : PC의 이전 값을 가지고 있는 MBR의 내용을 기억장치에 저장

 

 

 

 

'ITPE > CA_OS' 카테고리의 다른 글

Cache Clean, Flush  (0) 2021.04.28
MESI protocol  (0) 2021.04.28
CPU 구성  (0) 2021.04.24
개요  (0) 2021.04.24
자동차 ecu의 이해 (펌글)  (0) 2017.12.21

 

 

 

 

 

 

 

'ITPE > CA_OS' 카테고리의 다른 글

Cache Clean, Flush  (0) 2021.04.28
MESI protocol  (0) 2021.04.28
CPU 명령어 사이클  (0) 2021.04.27
개요  (0) 2021.04.24
자동차 ecu의 이해 (펌글)  (0) 2017.12.21

 

 

 

 

 

 

 

 

 

 

 

 

 

'ITPE > CA_OS' 카테고리의 다른 글

Cache Clean, Flush  (0) 2021.04.28
MESI protocol  (0) 2021.04.28
CPU 명령어 사이클  (0) 2021.04.27
CPU 구성  (0) 2021.04.24
자동차 ecu의 이해 (펌글)  (0) 2017.12.21

 

 

 

I. 데이터의 직관적인 분포, 박스 플롯의 개념
- 자료들의 최대값과 최소값, 중앙값, 사분위수 등을 이용하여 자료의 측정값들이 어떤 모양으로 분포되어 있으며, 이상치 등을 쉽게 파악할 수 있는 도표

 

II. 박스플롯의 구성도 및 설명

. 박스플롯의 구성도 및 용어

용어 설명
사분위 자료를 작은 값으로부터 4등분
IQR 1사분위와 3사분위의 차이
Outlier MaxMin 범위를 벗어나는 값
최대값 1사분위에서 1.5 IQR을 뺀 것
최소값 3사분위에서 1.5 IQR을 더한 것
중간값 2사분위수로 중간값
평균값 전체 자료의 평균으로 (+)로 표기

 

 

 

. 박스플롯의 작성 절차

절차 설명
사분위 계산 데이터의 사분위수를 계산
박스 생성 1사분위수와 3사분위수를 이용하여 박스를 생성. 박스의 길이는 IQR
중간값 표기 2사분위수에 해당하는 위치에 선을 그림
최대값 및 최소값 표기 3사분위수에서 1.5IQR을 더한 위치와, 1사분위수에서 1.5IQR을 뺀 위치
이상값 표기 최대값 및 최소값의 범위를 넘어가는 자료는 기호로 표시

- 박스플롯 이용시 데이터의 분포를 쉽게 확인가능

 

 

 

 

 

 

혼동행렬

 

• TP(True Positives) : 실재값과 예측치 모두 True 인 빈도
• TN(True Negatives) : 실제값과 예측치 모두 False 인 빈도
• FP(False Positives) : 실제값은 False 이나 True로 예측한 빈도
• FN(False Negatives) : 실제값은 True 이나 False로 예측한 빈도

 

 

 


- 정분류율(accuracy, recognition rate) : 전체 관측치 중 실제값과 예측치가 일치한 정도를 나타낸다. 정분류율은 범주의 분포가 균형을 이룰 때 효과적인 평가지표이다.  (TP+TN)/(TP+TN+FP+FN)

 

- 민감도(sensitivity) = TP/(TP+FN) ==> 실제값이 True 인 관측치 중 예측치가 적중한 정도


- 특이도(specificity) = TN/(FP+TN) ==> 실제값이 False 인 관측치 중 예측치가 적중한 정도


- 정확도(precision) =  TP/(TP+FP) ==> True로 예측한 관측치 중 실제값이 True 인 정도. 정확성 지표


- 재현율(recall) = TP/(TP+FN) = 민감도 ==> 실제값이 Ture 인 관측치 중 예측치가 적중한 정도. 모형의 완전성을  (completeness)을 평가


- F1 Score = (2*precision*recall) / (precision+recall) ==> 정확도와 재현율의 조화평균. 정확도와 재현율에 같은 가중치를 부여하여 평균

 

 

 

'ITPE > 인공지능_데이터분석' 카테고리의 다른 글

Boxplot  (0) 2021.04.12
LSTM  (0) 2021.04.09

 

 

[정의] RNN에서 학습방법의 역전파 거리가 늘어날경우 gradient값이 폭증하거나 사라지는 문제점을 개선하는 알고리즘

 

[RNN의 장기의존성(Long-Term Dependency) 문제] 이전 정보입력 위치와 현재 입력위치가 멀 경우 학습데이터 유실되는 문제


※ tanh : Hyperbolic Tangent. 시그모이드 함수를 조금 변형하여 1 ~ -1까지 출력되는 함수. 시그모이드보다 기울기가 가파라서 학습속도가 빠르지만, 양끝단 포화가 더 심하여, Vanishing Gradient 문제에서는 취약함.


※ 시그모이드 3개는 단지 아날로그적 스위치 역할수향. 노드의 전달 함수는 하이퍼탄 이용.

 

 

 

 

 

 

 

 

 

 

 

'ITPE > 자료구조' 카테고리의 다른 글

MST(Minimum Spanning Tree)  (0) 2021.04.08
B tree  (0) 2021.04.07

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'ITPE > 자료구조' 카테고리의 다른 글

8-puzzle (A*)  (0) 2021.04.08
B tree  (0) 2021.04.07

 

 

 

I. B-Tree의 개념

. B-Tree의 정의

   - 하나의 노드가 가질 수 있는 자식 노드의 최대 숫자가 2보다 큰 이진트리의 확장형 트리구조

. B-Tree의 개념도 및 설명

구 분 항 목 설 명
개념도
구조 Root node 최소 2개의 자식노드 보유, 최소 한 개의 값 보유
Internal node 최대 m개의 자식노드 보유(차수가 m일 경우)
Leaf node 최하위 노드는 동일레벨로 구현
특징 자식노드 수 리프, 루트를 제외한 노드는 최소 m/2개의 자료 보유
균등 탐색 속도 최악의 경우가 존재하지 않아 시간복잡도는 O(logN)으로 일정
효율성 자식노드를 많이 보유하여 트리의 높이가 줄어들어 효율성 확보
정렬상태 각 노드에 입력된 자료는 정렬된 상태로 존재
유형 B+ Tree 인덱스 세트(index set)와 순차세트(sequence set)로 구성된 트리
B* Tree 리프, 루트를 제외한 노드가 최소한 2/3가 채워지도록 제한한 트리

- 중복된 자료는 입력 불가하며, 데이터 추가 및 삭제시 항상 Leaf노드에서 수행

 

 

 

 

 

II. B-Tree의 삽입 연산 설명 및 삽입과정 설명

 . B-tree의 삽입 연산 설명

구 분 항 목 설 명
기본연산 Insert 새로운 값은 항상 Leaf노드에 삽입
하향 탐색 새로운 값 추가시, 하향탐색하며 꽉찬 노드는 분할하며 진행
분할연산
(Split)
분할노드가
Root인 경우
Left child, Right child 생성후, 중앙값은 Root, 나머지 값들은 자식노드에 분할하여 배치
분할노드가
Root가 아닌경우
- 왼쪽 노드는 이미 있는 노드이므로, 오른쪽 노드만 생성
- 이후, 중앙값을 부모에 삽입하고, 왼쪽과 오른쪽 노드로 분할 배치

- 분할해야할 경우를 Overflow라고 하며, 분할결과 부모노드도 Overflow발생시 분할 반복수행

 

 . 1, 2, 3, 4, 5, 6 순서대로 삽입되는 과정 설명

- Overflow 발생시 분할하여 부모노드에 배치

 

 

 

 

III. B-Tree의 삭제 연산 설명 및 삭제과정 설명

. B-tree의 삭제 연산 설명

구 분 항 목 설 명
삭제 원칙 자료수 보장 삭제후 자료수가 M/2 이상이 되도록 보장해야하는 원칙
Borrow node - 형제노드가 M/2보다 많은 자료를 가지고 있을경우 빌려오기 수행
- 부모노드에서 빌려오고, 형제노드에서 부모노드로 이동
Bind node 형제노드에게서 빌려오기 불가시, 병합 수행
삭제 연산 내부노드 삭제 - 대체키를 찾아 Swap 연산 수행
- 대체키는 Left subtree중 가장 큰값이나, Right subtree중 가장 작은값을 이용
- 이후 대체된 값을 Leaf에서 삭제 수행
Leaf노드 삭제 자료 삭제후, Balance를 위해 borrow bind 연산 수행

- M/2보다 자료가 적을 경우를 underflow라고 하며, 이럴경우 balance 유지를 위한 연산 수행 필요

 

. 3, 4, 5 순서대로 삭제되는 과정 설명

- 해당 과정에서는 SwapRight Subtree의 최소값을 이용

 

 

 

'ITPE > 자료구조' 카테고리의 다른 글

8-puzzle (A*)  (0) 2021.04.08
MST(Minimum Spanning Tree)  (0) 2021.04.08

 

 

 

[정의] 힙 데이터 영역에서 발생하는 버퍼 오버플로의 한 종류로, 동적 메모리 할당 연결(malloc 메타 데이터 같은)을 겹쳐쓰고 프로그램 함수 포인터를 겹쳐쓰기 위해 결과로 나온 포인터를 교환하는 기법.

 

[개념] 프로그램이 실행되면, 실행에 필요한 정보들이 메모리 영역에 올라가는데 크게는 코드 영역, 데이터 영역, 스택 영역, 힙 영역 으로 구분.
- 코드영역 : 프로그램의 코드가 올라가는 영역, 여기서코드란, 컴파일된 기계어코드
- 데이터영역: 전역변수와 정적변수등이 할당되는영역. 초기화된 데이터는 data 영역에 저장. 초기화 되지 않은 데이터는 bss 영역에 저장
- 스택영역 : 지역변수와 매개변수가 저장되는 영역
- 힙영역 : 빈공간, 필요에 의해 메모리를 할당 및 해제(컴파일러가 예측 할 수 없는, 프로그래머가 관리하는 영역)


[스택 대신 힙영역 사용이유]
- 동적할당, 컴파일시기에 크기를 알수없는 데이터, 컴파일할때는크기를 알지 못하다가, 프로그램이 실행되었을때 크기가 결정되는 경우에 사용


[원리] Heap 영역의 낮은 주소에 있는 버퍼가 넘쳐서 다른 버퍼를 침범하여 발생

 

 

 


[예시] 


1) 두 개의 heap 메모리인 input과 secret을 할당한 뒤, secret 파일을 읽어서 두 번째로 할당했던 secret 영역에 저장
2) 그 후 input 영역에 입력 값을 받고 출력시켜주는 간단한 코드
3) 취약점은 read 함수, input으로 할당한 메모리 크기는 40 바이트이지만
read 함수를 통해 최대 100 바이트까지 입력할 수 있어 Heap Overflow 가 발생
4) Heap Overflow를 이용해서 secret 에 할당된 메모리 영역의 직전까지 데이터를 채워주면,
문자열이 연결되어 printf 함수가 secret 메모리의 값까지 출력 됨.
5) 40 바이트 만큼 할당 한다면 input 에 할당된 메모리와 secret 에 할당된 메모리의 거리차이는 40 바이트
6) 40 바이트를 할당한다고 해서 딱 40 바이트만 할당되는 것은 아니고
메모리의 할당과 해제를 관리하기 위한 정보들이 함께 들어가기 때문에 실제 할당되는 사이즈는 조금 늘어나게 됨.
그래서 문자열의 길이를 조금 늘려주면 Heap Overflow 를 이용한 Leak 이 가능
7) 만약 뒤쪽에 함수 포인터가 존재한다면 그 부분을 조작하여 프로그램의 실행 흐름을 변조도 가능

 

 

 

'ITPE > 보안' 카테고리의 다른 글

예방, 탐지, 저지, 교정  (0) 2025.01.17
보안특징 (CIA)  (0) 2025.01.17
Buffer Overflow 공격  (0) 2021.04.01
IP Spoofing  (0) 2021.04.01
Slack Space 분석  (0) 2021.03.30

+ Recent posts