'학부 전공 > 자료구조' 카테고리의 다른 글
Hash Table, Radix, Binary Trie (0) | 2010.06.15 |
---|---|
10. 탐색구조 (0) | 2010.06.15 |
5. Tree (0) | 2010.06.08 |
4. Linked List (0) | 2010.06.07 |
3. Stack / Queue (0) | 2010.06.07 |
Hash Table, Radix, Binary Trie (0) | 2010.06.15 |
---|---|
10. 탐색구조 (0) | 2010.06.15 |
5. Tree (0) | 2010.06.08 |
4. Linked List (0) | 2010.06.07 |
3. Stack / Queue (0) | 2010.06.07 |
소스 포트 넘버
|
목적지 포트 넘버
|
길이
|
검사합(checksum)
|
응용데이터(메시지)
|
옵티머스Q 개봉기 (0) | 2010.06.29 |
---|---|
출시 임박! LU2300(이클립스) (0) | 2010.05.03 |
발견법(heuristic, 휴리스틱)은 경험에 기반하여 문제를 해결하거나 학습하거나 발견해 내는 방법을 말한다. 전산학 등 과학분야에서는 한정된 시간 내에 수행하기 위해 최적의 해 대신 현실적으로 만족할 만한 수준의 해를 구하는 방법이다. 형용사구로 발견적 방법(heuristic method, 휴리스틱 기법)라고도 한다.
출처 : 위키백과
컴퓨터 공학에서 발견법은 해결법이 정확히 해결되는지에 대한 문제를 무시하고 일반적으로 좋은 해결법이나 보다 간단한 해결법으로 풀고자 하는 문제 해결법이다. 예를 들어 상업적인 컴퓨터 바이러스 검색 소프트웨어들은 발견법으로 특정 속성이나 특징들을 찾아 바이러스나 나쁜 소프트웨어를 찾아낸다. 하지만 잠재적으로 정확도가 대신 떨어 질 수 있다.
즉, 그 해결법이 정확한, 완벽한, 증명된 해결법인지는 설명하지 않고,
일반적이고, 간단한 해결법을 찾는 것이다.
휴리스틱은 어림짐작이나, 추정이나, 직관적인 생각으로 이루어질 수 있다.
*누군가가 어떤 문제를 푸는 한 해결법을 생각해 내었지만, 그 방법이 수학적으로(=이론적으로) 올바른 해결법인지에 대해서 증명할 수 없다면, 그 해결법은 휴리스틱한 해결법이라고 할 수 있다.
하지만 그 해결법에 대해서 수학적으로 증명할 수 있다면, 그 해결법은 더 이상 휴리스틱한 방법이 아니게 된다.
이 휴리스틱 기법은 백신에서도 사용한다.
기존에 발견된 바이러스의 특징을 사용해서 변형된 바이러스를 찾아내는 것이다.
물론 기존 방법에 비해서 정확도가 떨어진다.
특히, 내장 사용자메모리를 최대 3기가바이트(GB)까지 제공해 1메가바이트(MB) 용량 애플리케이션 기준 3,000여개 이상 설치가 가능하다. 추가로 동영상, 사진 등 멀티미디어 파일 저장 용도로 4GB의 외장 MicroSD카드를 기본 제공한다.
네이버/다음/싸이월드와 같은 포털서비스 및 서울시 교통정보/윙버스 서울맛집 등 한국인이 선호하는 실용적인 정보서비스를 제공한다. 또, 국어/영어/일어/중국어/한자사전은 물론, 네이버/위키피디아 백과사전, 수학/물리/화학공식 편의사전 등 20여종의 각종 사전을 탑재해 쿼티 키패드 사용성을 극대화했다.
옵티머스Q 개봉기 (0) | 2010.06.29 |
---|---|
LU2300 5월 중순 동향 (0) | 2010.05.12 |
연산 필드1 | 연산 필드2 | 조건 필드 | 분기 필드 | 주소 필드 |
코드 | 마이크로연산 | 기호 |
000 | None | NOP |
001 | MAR <- PC | PCTAR |
010 | MAR <- IR(addr) | IRTAR |
011 | AC <- AC + MBR | ADD |
100 | MBR <- M[MBR] | READ |
101 | AC <- MBR | BRTAC |
110 | IR <- MBR | BRTIR |
111 | M[MAR] <- MBR | WRITE |
코드 | 마이크로 연산 | 기호 |
000 | None | NOP |
001 | PC <- PC + 1 | INCPC |
010 | MBR <- AC | ACTBR |
011 | MBR <- PC | PCTBR |
100 | PC <- MBR | BRTPC |
101 | MAR <- SP | SPTAR |
110 | AC <- AC - MBR | SUB |
111 | PC <- IR(addr) | IRTPC |
코드 | 조건 | 기호 | 설명 |
00 |
1
|
U
|
무조건 분기 |
01
|
I 비트
|
I
|
간접 주소지정 |
10 |
AC(S)
|
S
|
누산기(AC)에 저장된 데이터의 부호 |
11 |
AC = 0
|
Z
|
AC에 저장된 데이터가 0 |
코드 |
기호
|
설명
|
00 | JMP | 만약 조건 = 1이면, CAR <- ADF |
01 | CALL | 만약 조건 = 1이면, CAR <- ADF, SBR <- CAR + 1 만약 조건 = 0이면, CAR <- CAR + 1 |
10 | RET | CAR <- SBR(서브루틴으로부터의 복귀) |
11 | MAP | CAR(1) <- 1, CAR(2~5) <- IR(op), CAR(6,7) <- 0 |
ORG 0 | |||||
FETCH | PCTAR | U | JMP | NEXT | ; MAR <- PC, 다음 마이크로 명령어 실행 |
READ,INCPC | U | JMP | NEXT | ; MBR <- M[MAR], PC = PC + 1, 다음 마이크로 명령어 실행 | |
BRTIR | U | MAP | ; IR <- MBR, 해당 실행 사이클 루틴으로 분기 |
주소 | 마이크로 연산 | CD | BR | ADF |
0000000 | 001 000 | 00 | 00 | 0000001 |
0000001 | 100 001 | 00 | 00 | 0000010 |
0000010 | 110 000 | 00 | 11 | 0000000 |
ORG 4 | |||||
INDRT: | IRTAR | U | JMP | NEXT | ; MAR <- IR(addr), 다음 마이크로 명령어 실행 |
READ | U | JMP | NEXT | ; MBR <- M[MAR], 다음 마이크로 명령어 실행 | |
BRTIR | U | RET | ; IR(addr) <- MBR, 해당 실행 사이클 루틴으로 분기 |
주소 | 마이크로 연산 | CD | BR | ADF |
0000100 | 010 000 | 00 | 00 | 0000101 |
0000101 | 100 000 | 00 | 00 | 0000110 |
0000110 | 110 000 | 00 | 10 | 0000000 |
*각 명령어에 대한 루틴의 시작 주소 결정(사상 방식)
명령어 | 연산코드 | 루틴의 시작 주소 |
NOP | 0000 | 1000000(=64) |
LOAD(I) | 0001 | 1000100(=68) |
STORE(I) | 0010 | 1001000(=72) |
ADD | 0011 | 1001100(=76) |
SUB | 0100 | 1010000(=80) |
JUMP | 0101 | 1010100(=84) |
*각 명령어에 대한 실행 사이클의 마이크로 명령어 루틴
ORG 64 | |||||
NOP: | INCPC | U | JMP | FETCH | ; PC <- PC + 1 |
ORG 68 | |||||
LOAD: | NOP | I | CALL | INDRT | ; I = 1이면, 간접 사이클 루틴 호출 |
IRTAR | U | JMP | NEXT | ; MAR <- IR(addr) | |
READ | U | JMP | NEXT | ; MBR <- M[MAR] | |
BRTAC | U | JMP | FETCH | ; AC <- MBR | |
ORG 72 | |||||
STORE: | NOP | I | CALL | INDRT | ; I = 1이면, 간접 사이클 루틴 호출 |
IRTAR | U | JMP | NEXT | ; MAR <- IR(addr) | |
ACTBR | U | JMP | NEXT | ; MBR <- AC | |
WRITE | U | JMP | NEXT | ; M[MAR] <- MBR | |
ORG 76 | |||||
ADD: | IRTAR | U | JMP | NEXT | ; MAR <- IR(addr) |
READ | U | JMP | NEXT | ; MBR <- M[MAR] | |
ADD | U | JMP | NEXT | ; AC <- AC + MBR | |
ORG 80 | |||||
SUB: | IRTAR | U | JMP | NEXT | ; MAR <- IR(addr) |
READ | U | JMP | NEXT | ; MBR <- M[MAR] | |
SUB | U | JMP | NEXT | ; AC <- AC - MBR | |
ORG 84 | |||||
JUMP: | IRTPC | U | JMP | FETCH | ; PC <- IR(addr) |
4.5 마이크로 프로그램의 순서 제어
-제어 유니트가 명령어의 실행을 제어한다는 것 -> 제어 기억장치에 저장된 해당 마이크로 명령어들을 순서대로 인출하는 것.
*순서 제어 : 제어 유니트의 기능. 다음에 실행할 마이크로 명령어의 주소를 결정.
-CAR의 초기 값 = 0
-MUX 1 : 다음에 실행할 마이크로 명령어의 주소 선택
-MUX 2 : 조건 플래그를 선택하여 주소 선택 회로로 전송
*수직적 마이크로 프로그래밍(vertical microprogramming)
-마이크로 명령어의 연산필드에 적은 수의 코드화된 비트들을 포함시킴으로써 마이크로 명령어의 길이를 줄이고, 해독기를 접속하여 제어 신호를 확장하는 방식.
-장점 : 마이크로 명령어의 길이 감소 -> 제어 기억장치의 용량 감소
-단점 : 해독 시간만큼의 시간이 지연
*수평적 마이크로 프로그래밍(horizon microprogramming)
-연산 필드의 각 비트와 제어 신호를 일대일로 대응시켜 사용하는 방식.
-장점 : 하드웨어가 간단함, 해독에 따른 시간 지연이 없음
-단점 : 마이크로 명령어의 길이 증가 -> 제어 기억장치의 용량 증가
5. 기억장치 - 1 (0) | 2010.06.07 |
---|