당신은 주제를 찾고 있습니까 “전자 계산기 구조 – 정보처리 필기_전자계산기 구조_03강_진법과 보수“? 다음 카테고리의 웹사이트 you.maxfit.vn 에서 귀하의 모든 질문에 답변해 드립니다: https://you.maxfit.vn/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 에듀온 이(가) 작성한 기사에는 조회수 13,379회 및 좋아요 102개 개의 좋아요가 있습니다.
전자 계산기 구조 주제에 대한 동영상 보기
여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!
d여기에서 정보처리 필기_전자계산기 구조_03강_진법과 보수 – 전자 계산기 구조 주제에 대한 세부정보를 참조하세요
정보처리 1타 유수샘 직강!!
하이패스 정보처리 강의 특징
1. 정보처리 강의의 지존!! 유수샘 직강!!
2. 비전공자를 위한 쉽고 자세한 강의
3. 지루하지 않은 멀티미디어 활용 강의
4. 선명한 HD 고화질 강의
\”수많은 합격생이 추천하는 바로 그 강의!!
따라할 수는 있어도 비교될 수는 없습니다.\”
본 강좌 교재는 에듀온 사이트의 유클래스 http://www.eduon.com/uclass/uclass_view/15/ 다운로드 받으실수 있습니다.
전자 계산기 구조 주제에 대한 자세한 내용은 여기를 참조하세요.
정보처리 산업기사(전자계산기 구조) – Security
정보처리 산업기사(전자계산기 구조). pyj1004 2020. 8. 29. 02:16. 아래 내용은 2020 정보처리 산업기사 시나공 기본서를 공부해 요약한 내용이며
Source: youngjun1004.tistory.com
Date Published: 6/5/2022
View: 3396
정처기: 전자계산기 구조 – velog
[ 전자계산기 구조 ] (from 정보처리기사 2012). 논리회로. 불 대수. 불 대수: 하나의 명제가 참 또는 거짓인가를 판단하는 데 이용되는 수학적인 …Source: velog.io
Date Published: 11/21/2021
View: 8634
[정보처리] 전자계산기 구조 정리 – 네이버 블로그
[정보처리] 전자계산기 구조 정리 · 이 · 수행시간을 단축하거나 단위 시간당 · 을 높일 수 있는 방식이다. · cpu가 · 관리되고 버스나 기억 · 를 공유하여 서로 …Source: m.blog.naver.com
Date Published: 2/29/2021
View: 8520
전자계산기구조 | 레지스터(Register)와 버스(Bus) 개념 정리
정보처리기사 2과목 전자계산기 구조에서 다뤄지는 레지스터와 버스의 개념에 대해 알아보도록 하겠습니다. 먼저 레지스터는 보통 컴퓨터의 중앙처리 …
Source: onboardfly.tistory.com
Date Published: 1/26/2022
View: 5709
[과제] 전자계산기구조 – 컴퓨터구조
다음 답변은 KG아이티뱅크 2학기 3기수 전자계산기구조 수업의 과제에 대한 개인적인 답변입니다. 이에 받은 점수와 무관하게 학기를 마무리하며 …
Source: piaflu.tistory.com
Date Published: 10/13/2021
View: 831
(정보처리기사 필기) 2과목 전자계산기 요약정리 – 취미코딩
데이터 구조. 해당 컴퓨터 시스템의 데이터 구조에 맞게 명령어를 설계함. 인스트럭션 세트의 효율성을 높이기 위하여 고려할 사항.
Source: androidtest.tistory.com
Date Published: 4/7/2022
View: 8496
주제와 관련된 이미지 전자 계산기 구조
주제와 관련된 더 많은 사진을 참조하십시오 정보처리 필기_전자계산기 구조_03강_진법과 보수. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.
주제에 대한 기사 평가 전자 계산기 구조
- Author: 에듀온
- Views: 조회수 13,379회
- Likes: 좋아요 102개
- Date Published: 2018. 6. 28.
- Video Url link: https://www.youtube.com/watch?v=jfzjUbpEuWk
정보처리 산업기사(전자계산기 구조)
아래 내용은 2020 정보처리 산업기사 시나공 기본서를 공부해 요약한 내용이며
완벽하게 모든 내용을 정리한것이 아니고 제 편의껏 요약한것 입니다 보다 자세한 내용과 여러 동작에 대한 원리등이
궁금하시다면 책과 함께봐주세요
출처 : 정보처리 산업기사 필기 – 시나공 시리즈
출판사 : 길벗
1. 논리회로
1) 불 대수
불 대수
: 하나의 명제가 참 또는 거짓인가를 판단하는데 이용되는 수학적인 방법으로 영국의 불(G. Boole)에 의해 개발되었다
기본적인 논리함수
– AND : 입력 정보의 값이 모두 1일 때만 결과가 1이 된다 입력되는 값이 A, B라면 A AND B 또는 A·B로 표현한다
– OR : 입력 정보의 값 중 한 개라도 1이며 결과가 1이된다 입력되는 값이 A, B라면 A OR B 또는 A+B로 표현한다
– NOT : 입력되는 정보의 반대값이 출력된다 입력되는 값이 항상 1개이며 입력되는 값이 A라면 NOT A 또는 A’로 표현
한다
불 대수의 기본 공식
– 교환법칙 : A+B = B+A, A·B = B·A
– 결합법칙 : A+(B+C) = (A+B)+C, A·(B·C) = (A·B)·C
– 분배법칙 : A·(B+C) = A·B+A·C, A+B·C = (A+B)·(A+C)
– 멱등법칙 : A+A = A, A·A = A
– 보수법칙 : A+A’ = 1, A·A’ = 0
– 항등법칙 : A+0 = A, A+1 = 1, A·0 = 0, A·1 = A
– 콘센서스 : AB+BC+CA’ = AB+CA’
– 드모르강 : (A+B)’ = A’·B’, (A·B)’ = A’+B’
– 복원법칙 : A” = A
*(논리식의 간소화)
2) 논리 게이트
논리 게이트
: 논리회로를 구성하는 기본적인 전자소자로 0또는 1을 입력과 출력으로 사용한다
3) 조합논리회로
조합논리회로
:임의의 시간에서의 출력이 이전의 입력에는 관계없이 현재의 입력조합으로부터 직접결정되는 논리회로이다
조합논리회로의 종류
– 반가산기 : 2진수 두 개를 덧셈하여 합과 자리올림수를 구하는 회로이다
– 전가산기 : 뒷자리에서 올라온 자리올림수를 포함하여 1 bit 크기의 2진수 3자리를 더하여 합과 자리올림수를 구하는
회로이다
– 병렬가산기 : n bit로 된 2진수 A, B에 대한 덧셈을 n개의 전가산기를 이용하여 구성한 실질적인 가산기이다
– 반감산기 : 1 bit짜리 2진수 2자리에 대한 감산을 하는 회로이다
– 전감산기
– 디코더 : n bit의 Code화된 정보를 그 Code의 각 bit 조합에 따라 2ⁿ개의 출력으로 번역하는 회로이다
– 인코더 : 디코더의 반대 기능을 한다
– 멀티플렉서 : 2ⁿ의 입력선 중 1개를 선택하여 그 선으로부터 입력되는 값을 1개의 출력선으로 출력시키는 회로이다
– 디멀티플렉서 : 1개의 입력선으로 들어오는 정보를 2ⁿ개의 출력선 중 1개를 선택하여 출력하는 회로이다
– 다수결회로
– 비교기
4) 순서논리회로
순서논리회로
: 외부로부터의 입력과 현재 상태에 따라 출력이 결정된다
순서논리회로의 종류
– 플립플롭
– 카운터
– 레지스터
– RAM
– CPU
플립플롭(FF, Flip-Flop)의 특징
– 두 개의 NAND 또는 NOR 게이트를 이용하여 구성한다
– 전원이 공급되고 있는 한 상태의 변화를위한 외부 신호가 발생할 때까지 현재의 상태를 그대로 유지하는 논리회로이다
RS 플립플롭(Reset-Set FF)
: 모든 플립플롭의 기본으로 S와 R선의 입력을 조절하여 임의의 bit 값을 그대로 유지시키거나 무조건 0 또는 1의 값을 기억시키기 위해서 사용되는 플립플롭이다
D 플립플롭
: RS FF의 R선에 인버터를 추가하여 S선과 하나로 묶어서 입력선을 하나만 구성한 플립플롭이며 입력하는 값을 그대로 저장하는 기능을 수행한다
JK 플립플롭
: RS FF에서 S=R-1일 떄 동작되지 않는 결점을 보완한 플립플롭이며 입력선 S와 R에 AND 게이트 2개를 추가하여 JK FF의 입력선 J와 K로 사용한다
T 플립플롭
: JK FF의 두 입력선을 묶어서 한 개의 입력선으로 구성한 플립플롭이다
마스터-슬레이브 플립플롭(주종 플립플롭)
: 출력 측의 일부가 입력 측에 궤환되어 유발되는 레이스 현상을 없애기 위해 고안된 플립플롭이다
2. 자료의 표현
1) 자료 구성의 단위
자료 구성의 단위
– 비트(Bit) : 자료 표현의 최소 단위
– 니블(Nibble) : 4개의 Bit가 모여 구성
– 바이트(Byte) : 문자를 표현하는 최소 단위 8개의 Bit가 모여 1Byte
– 워드(Word) : 컴퓨터가 한 번에 처리할 수 있는 명령 단위, 반워드(Half-Word)2Byte, 전워드(Full-Word)4Byte, 더블
워드 (Double-Word)8Byte
– 필드(Field) : 파일 구성의 최소 단위이다
– 레코드(Record) : 하나 이상의 관련된 필드가 모여서 구성된다
– 블록(Block), 물리 레코드(Physical Record) : 하나 이상의 논리 레코드가 모여서 구성된다
– 파일(File) : 프로그램 구성의 기본 단위로 같은 종류의 여러 레코드가 모여서 구성된다
– 데이터베이스(Database) : 여러 개의 관련된 파일의 집합이다
2) 수의 표현 및 진법 변환
진법
– 컴퓨터 내부에서는 2진법을 사용하여 모든 연산을 수행한다
– 2진수 외에 컴퓨터를 연구할 때 자주 사용하는 진법은 8진수와 16진수이다
진법의 종류
– 2진법(Binary) : 0과 1 두 개의 숫자로 표현한다
– 8진법(Octal) : 0~7까지의 숫자로 표현하며 2진수 3자리를 묶어서 하나의 수로 표현한다
– 10진법(Decimal) : 0~9까지의 숫자로 표현한다
– 16진법(Hexadecimal) : 0~9까지의 숫자와 10~15까지를 의미하는 A~F까지의 문자로 표현한다
*(다른 진법으로의 변환 익히기)
3) 보수
보수
– 컴퓨터가 기본적으로 수행하는 덧셈 회로를 이용하여 뺄셈을 수행하기 위해 사용한다
– r진법에는 r의 보수와 r-1의 보수가 있다
보수를 이용한 뺄셈
: A-B는 A+(-B)이므로 B에 대한 보수를 구하여 덧셈 연산으로 뺄셈을 한다
– 1의 보수 이용
– 2의 보수 이용
4) 자료의 내부적 표현 – 고정 소수점 표현
2진 연산
– 음수의 표현 방법 : 부호와 절대치, 부호와 1의 보수, 부호와 2의 보수
10진 연산
– 언팩(Unpack)연산 : 연산이 불가능하고 데이터의 입출력에 사용된다
– 팩(Pack)연산 : 연산이 가능하고 데이터의 입출력이 불가능하다
5) 자료의 내부적 표현 _ 부동 소수점 표현
부동 소수점 방식의 특징
– 매우 큰 수나 작은수 매우 정밀한 수를 적은 비트로 표현할 수 있다
– 고정 소수점 방식에 비해 연산 시간이 많이 걸린다
– 지수부와 가수부를 분리하는 정규화 과정이 필요하다
– 과학이나 공학 또는 수학적인 응용에 주로 사용된다
부동 소수점 수의 연산 방법
– 덧셈, 뺄셈 : 0인지 여부 조사 -> 가수의 위치 조정 -> 가수부 값끼리 더하거나 뺀다 -> 결과를 정규화한다
– 곱셈 : 0인지 여부 조사 -> 지수를 더한다 -> 가수를 곱한다 -> 결과를 정규화한다
– 나눗셈 : 0인지 여부 조사 -> 부호 결정 -> 피제수가 제수보다 작게 피제수의 위치를 조정한다 -> 지수의 뺼셈을한다
-> 가수의 누눗셈을 한다
6) 자료의 외부적 표현
자료의 외부적 표현이란
: 처리된 결과를 사람이 확인할 수 있도록 출력할 때의 문자를 표현하는 방식이다
자료의 외부적 표현의 종류
– BCD(Binary Coded Decimal, 2진화 10진 코드)
– ASCII(American Standard Code for Information Interchange)
– EBCDIC(Extended BCD Interchange Code, 확장 2진화 10진 코드)
7) 기타 자료의 표현 방식
BCD 코드
– 10진수 1자리의 수를 2진수 4Bit로 표현한다
– 4Bit의 2진수 각 Bit가 8(2³), 4(2²), 2(2¹), 1의 자리값을 가지므로 8421 코드라고도 한다
– 대중적인 가중치 코드이다
Excess-3 코드(3 초과 코드)
– BCD +3 즉 BCD 코드에 3(0011₂)을 더하여 만든 코드이기 때문에 모든 비트가 동시에 0이 되는 경우는 없다
– 대표적인 자기 보수 코드이며 비가중치 코드이다
Gray 코드
– BCD 코드의 인접하는 비트를 XOR 연산하여 만든 코드이다
– A/D 변환기에 사용한다
– 1Bit만 변환시켜 다음 수치로 증가시키기 때문에 하드웨어적인 오류가 적다
패리티 검사 코드
– 1Bit의 오류만 검출할 수 있다
– 1의 개수에 따라 짝수패리티와 홀수패리티 방법이 있다
해밍코드
– 오류를 스스로 검출하여 교정이 가능한 코드이다
– 해밍코드 중 1, 2, 4, 8, 16,···, 2ⁿ번째는 오류 검출을 위한 패리티 비트이다
코드의 분류
– 가중치코드 : BCD, 2421, 84-2-1, 51111, Ring-Counter
– 비가중치코드 : 3초과(Excess-3), Gray, Jonson, 2-out-of-6, 3-out-of-5
– 자기 보수 코드 : 3초과(Excess-3), 2421, 51111, 84-2-1
– 오류 검출용 코드 : 해밍코드, 패리티 검사 코드, Binquinary, Ring-Counter, 2-out-of-6, 3-out-of-5
3. 프로세서
1) 중앙처리장치
중앙처리장치
:사람의 두되와 같이 컴퓨터 시스템에 부착된 모든 장치의 동작을 제어하고 명령을 실행하는 장치이다
– 중앙처리장치는 제어장치, 연산장치, 레지스터 그리고 이들을 연결하여 데이터를 전달하는 버스로 구성되어 있다
제어장치
: 모든 장치들의 동작을 지시하고 제어하는 장치이다
– 명령 레지스터
– 명령 해독기(Decoder)
– 제어신호 발생기, 부호기(Encoder)
– 제어 주소 레지스터(CAR)
– 제어 버퍼 레지스터(CBR)
– 제어 기억장치
– 순서 제어 모듈
– 순차 카운터(Sequence counter)
연산장치
: 산술 연산, 논리 연산, 관계 연산, 이동 등을 수행한다(가산기, 누산기, 보수기, 데이터 레지스터등)
레지스터
: CPU 내부에서 처리할 명령어나 연산의 중간 결과값 등을 일시적으로 기억하는 임시 기억장치이다
– 프로그램 카운터(PC) : 다음에 실행할 명령어의 번를 기억하는 레지스터
– 명령 레지스터(IR) : 현재 실행 중인 명령의 내용을 기억하는 레지스터
– 누산기(AC) : 연산된 결과를 일시적으로 저장하는 레지스터
– PSWR, 상태 레지스터, 플래그 레지스터 : 시스템 내부의 순간순간의 상태를 기록하고 저장하고 있는 레지스터
– 메모리 주소 레지스터(MAR) : 데이터의 번지를 기억하는 레지스터
– 메모리 버퍼 레지스터(MBR) : 데이터가 잠시 기억되는 레지스터
– 베이스 레지스터(Base Register) : 명령이 시작되는 시작 번지를 기억하고 있는 레지스터
– 인덱스 레지스터(Index Register) : 주소의 변경, 서브루틴 연결 및 프로그램에서의 반복 연산의 횟수를 세는 레지스터
– 데이터 레지스터(Data Register) : 연산에 사용될 데이터를 기억하는 레지스터
– 시프트 레지스터(Shift Register) : 저장된 값을 왼쪽 또는 오른쪽으로 1Bit씩 자리를 이동시키는 레지스터
– 메이저 스테이터스 레지스터(Major status Register): CPU의 메이저 상태를 저장하고 있는 레지스터
버스
: 버스를 통해 전달되는 제어 신호, 어드레스 신호 및 데이터 신호의 상호 시간적 관계가 잘 유지되어야 한다
– 번지 버스
– 자료 버스
– 제어 버스
2) 명령어(Instrution)
명령어의 구성
– 연산자부(Operation Code 부) : 수행해야 할 동작에 맞는 연산자를 표시한다
– 모드(Mode)부 : 주소부의 유효 주소가 결정되는 방법을 지정한다
– 자료(Operand)부 : 실제 데이터에 대한 정보를 표시하는 부분이다
명령어 설계시 고려사항
– 연산자의 종류
– 명령어 형식
– 주소지정방식
– 데이터 구조
– 인스트럭션 세트의 효율성을 높이기 위하여 고려할 사항 : 기억공간, 사용빈도, 주소지정방식
연산자(Operation Code)의 기능
– 함수 연산 기능
수치적인 산술 연산 : ADD, SUB, MUL, DIV, 산술 Shift 등
비수치적인 논리 연산 : NOT, AND, OR, XOR, 논리적 Shift, Rotate, Complement, Clear
– 자료 전달 기능
Load : 기억장치에 기억되어 있는 정보를 CPU로 꺼내오는 명령
Stor : CPU에 있는 정보를 기억장치에 기억시키는 명령
MOVE : 레지스터 간에 자료를 전달하는 명령
Push : 스택에 자료를 저장하는 명령
Pop : 스택에서 자료를 꺼내오는 명령
– 제어기능 : 무조건 분기명령, 조건 분기 명령, Call(서브루틴 호출), Return(복귀)
– 입출력기능 : INPUT, OUTPUT
3) 연산(Operation)
AND(Masking Operation)
– 특정 문자 또는 특정 비트를 삭제 시키는 연산으로 Masking 연산이라고도 한다
– 삭제할 부분의 비트를 0과 AND 시켜서 삭제하는데 대응시키는 0인 비트를 MASK Bit라 한다
OR(Selective-Set)
– Selective-Set 연산이라고도 한다
– 삽입하거나 세트시킬 비트에 삽입할 문자 코드 또는 1을 OR 시킨다
XOR(Compare, 비교)
– 두 개의 데이터를 비교하거나 특정 비트를 반전시킬 때 사용한다
NOT(Complement, 보수)
– 각 비트의 값을 반전시키는 연산으로 보수를 구할 때 사용한다
논리 Shift
– 왼쪽 또는 오른쪽으로 1Bit씩 자리를 이동시키는 연산으로 데이터의 직렬 전송에 사용한다
Rotate
– Shift에서 밀려 나가는 비트의 값을 반대편 값으로 입력하는 연산이다
산술 Shift
– 부호를 고려하여 자리를 이동시키는 연산으로 2ⁿ으로 곱하거나 나눌 때 사용한다
– 왼쪽으로 n Bit Shift하면 원래 자료에 2ⁿ을 곱한 것과 같다
– 오른쪽으로 n Bit Shift하면 원래 자료를 2ⁿ으로 나눈 것과 같다
– 홀수를 오른쪽으로 한 번 Shift하면 0.5의 오차가 발생한다
4) 명령어 형식
명령어
: 명령어는 크게 OP-Code부와 Operand(자료부)로 구성되는 Operand부의 개수에 따라 네 가지 명령어 형식이 있다
3 주소 명령어
– Operand부가 세 개로 구성된다
– 연산의 결과는 주로 Operand 1에 기록한다
– 연산 시 원래의 자료를 파괴하지 않는다
2 주소 명령어
– Operand부가 두 개로 구성된다
– 가장 일반적으로 사용되는 명령어 형식이다
– 실행 속도가 빠르고 기억 장소를 많이 차지하지 않는다
– 원래의 자료가 파괴된다
1 주소 명령어
– Operand부가 한 개로 구성된다
– 누산기를 이용한다
0 주소 명령어
– 스택머신이라고도 한다
– 인스트럭션 수행시간이 짧다
– 스택을 사용한 컴퓨터에서 수식을 계산하기 위해서는 수식을 Postfix 형태로 변경해야한다
Stack의 응용 분야
– 0 주소 명령어 형식의 자료 저장소
– 부 프로그램 호출 시 복귀주소
– 재귀(Recursion) 프로그램의 순서 제어
– 인터럽트가 발생시의 복귀주소
– 컴파일러를 이용한 언어 번역시
– 후위 표기법으로 표현된 산술식을 연산할때
5) 주소지정방식(Adressing Mode)
주소 설계 시 고려 사항
– 표현의 효율성 : 빠르게 접근하고 주소 지정에 적은 비트 수를 사용할 수 있도록 다양한 어드레스 모드를 사용할 수 있
어야 한다
– 사용의 편리성 : 다양하고 융통성 있는 프로그램 작업을 위해 포인터, 프로그램 리로케이션 등의 편의를 제공하여야 한
다
– 주소공간과 기억공간의 독립성 : 프로그램 상에서 사용한 주소를 변경 없이 실제 기억공간 내의 주소로 재배치할 수 있
도록 서로 독립적이여야 한다
암시적(묵시적) 주소지정방식(Implied Mode)
– 명령 실행에 필요한 데이터의 위치를 지정하지 않고 누산기나 스택의 데이터를 묵시적으로 지정하여 사용한다
즉시적 주소지정방식(Immediate Mode)
– 명령어 자체에 실제 데이터를 가지고 있는 방식이다
– 별도의 기억장소를 액세스하지 않고 실행 속도가 빠르다
직접 주소지정방식(Direct Mode)
– Operand부에 실제 사용할 데이터의 주소를 표현
– 주소 길이에 제약을 받는다
간접 주소지정방식(Indirect Mode)
– Operand부에 실제 데이터의 주소가 저장된 곳의 주소를 표현한다
– 최소한 주기억장치를 두 번 이상 접근한다
– 긴 주소에 접근 가능한 방식이다
계산에 의한 주소지정방식
– 상대 주소 : 명령어의 주소 부분 + PC
– 베이스 레지스터 : 명령어 주소 부분 + Base Register
– 인덱스 레지스터 : 명령어의 주소 부분 + Index Register
4. 명령 실행과 제어
1) 마이크로 오퍼레이션(Micro Operation)
마이크로 오퍼레이션의 정의
: 한 개의 Clock 펄스 동안 실행되는 기본 동작으로 모든 마이크로 오퍼레이션은 CPU의 Clock 펄스에 맞춰 실행된다
마이크로 사이클 타임(Micro Cycle Time)
: 한 개의 Micro Operation을 수행하는데 걸리는 시간
마이크로 사이클 타임 부여 방식
– 동기 고정식(Synchronous Fixed)
모든 마이크로 오퍼레이션 중에서 동작시간이 가장 긴 마이크로 오퍼레이션의 동작시간을 Micro Cycle Time이라 한다
모든 마이크로 오퍼레이션의 동작시간이 비슷할 때 유리한 방식이다
– 동기 가변식(Synchronous Variable)
각 그룹별로 서로 다른 Micro Cycle Time을 정의하는 방식이다
마이크로 오퍼레이션 수행시간이 현저한 차이를 나타낼 때 사용한다
– 비동기식(Asynchronous)
모든 마이크로 오퍼레이션에 대하여 서로 다른 Micro Cycle Time을 정의하는 방식이다
2) 메이저 스테이트(Major State)
메이저 스테이트의 정의
: 현재 CPU가 무엇을 하고 있는가를 나타내는 상태로서 CPU가 무엇을 위해 주기억장치에 접근하느냐에 따라 Fetch, Indirect, Execute, Interrupt 이렇게 네 개의 상태로 나뉜다
메이저 스테이트의 변천과정
인출 단계(Fetch Cycle)
– 명령어를 주기억장치에서 중앙처리장치의 명령 레지스터로 가져와 해독하는 단계로 명령이 실행되기 위해서 가장 먼
저 수행되는 동작이다
간접 단계(Indirect Cycle)
– Fetch 단계에서 해석된 명령의 주소부가 간접주소인 경우 수행된다
실행 단계(Execute Cycle)
– Fetch 단계에서 인출하여 해석한 명령을 실행하는 단계이다
– Execute 단계에서는 플래그 레지스터의 상태 변화를 검사하여 Interrupt 단계로 변천할 것인지를 판단한다
인터럽드 단계(Interrupt Cycle)
– 인터럽트 발생 시 복귀 주소(PC)를 저장시키고 제어 순서를 인터럽트 처리 프로그램의 첫 번째 명령으로 옮기는 단계
이다
– 인터럽트 단계를 마친 후에는 항상 Fetch 단계로 변천한다
3) 주요 명령의 마이크로 오퍼레이션
AND ( AC <- AC ∧ M[AD ) : AND는 AC와 메모리의 내용을 AND하여 결과를 AC에 저장하는 연산명령이다 ADD ( AC <- AC + M[AD] ) : ADD는 AC와 메모리의 내용을 더하여 결과를 AC에 저장하는 연산 명령이다 LDA ( AC <- M[AD] ) : LDA는 메모리의 내용을 AC로 가져오는 명령이다 STA ( M[AD] <- AC ) : STA는 AC의 내용을 메모리에 저장하는 명령이다 BUN : BUN은 PC에 특정한 주소를 전송하여 실행 명령의 위치를 변경하는 무조건 분기 명령이다 BSA : BSA는 복귀주소를 저장하고 부 프로그램을 호출하는 명령이다 ISZ : ISZ는 메모리의 값을 읽어 그 값을 1 증가시킨 후 음수에서 시작한 그 값이 0이면 현재 명령을 건너 띄어 다음 명령으 로 이동한다 4) 제어기의 구현 제어 데이터 : 제어장치가 제어 신호를 발생하기 위한 자료 제어 데이터 종류 - 메이저 스테이트 사이의 변천을 제어하는 데이터 - 중앙처리장치의 제어점을 제어하는 데이터 - 인스트럭션의 순서를 결정하는데 필요한 제어 데이터 제어기의 구현 - 고정배선 제어장치(Hard-wired Control Unit) 조합논리회로를 설계하는 해당 제어점에 연결하는 방식이다 Hardware적인 구성 방법이다 고속이며 회로 구성이 복잡하다 - 마이크로 프로그래밍 기법(Micro Programmed Control Unit) 내부 제어 신호를 여러 가지 마이크로 인스트럭션으로 작성하는 것이다 Software적인 구성방법이다 펌에워를 이용하는 방식이며 저속이다 마이크로 명령의 형식 - 수평 마이크로 명령(Horizontal Micro Instruction) - 수직 마이크로 명령(Vertical Micro Instruction) - 나노 명령(Nano Instruction) 5. 입력 및 출력 1) 입출력의 기본 입출력장치의 구성 - 입출력 제어장치 입출력장치와 컴퓨터 사이의 자료 전송을 제어한다 데이터 버퍼 레지스터를 이용하여 두 장치 간의 속도 차를 조절한다 - 입출력 인터페이스 내부장치(주기억장치, CPU)와 외부 입출력장치 사이에 정보를 원활하게 전송하기 위한 방법이다 - 입출력 버스 데이터버스, 주소버스, 제어버스 기억장치와 입출력 장치의 동작 차이 비동기 데이터 전송 : 두 개의 독릭적인 장치 사이의 비동기적인 데이터 전송을 이루기 위해서는 데이터 전송시각을 알기 위한 제어 신호를 서로 교환하여 송수신 상태를 서로 맞추어야 한다 - 스토르브 펄스 - 핸드셰이킹 스풀링(Spooling) - 디스크에 입출력할 데이터를 모았다가 나중에 한꺼번에 입출력한다 - 여러 작업을 병행 수행할 수 있도록 하여 다중 프로그래밍 시스템의 성능 향상을 가져온다 - 디스크 일부를 매우 큰 버퍼처럼 사용하며 큐 방식의 입출력을 수행한다 2) 입출력 제어 방식 - Programmed I/O CPU가 계속 Flag를 검사 - Interrupt I/O CPU가 계속 Flag를 검사하지 않고 입출력 장치의 요구가 있을 때 데이터를 전송하는 제어방식이다 - DMA(Direct Memory Access)에 의한 I/O CPU를 거치지 않고 메모리와 입출력 장치가 직접 통신 Cycle Steal 방식을 이용하여 데이터를 전송한다 (Cycle Steal이란 채널과 CPU가 주 기억 장치를 동시에 Access할 때 우선 순위를 데이터 채널에게 주는 방식이다) - Channel에 의한 I/O CPU 관여 없이 주 기억 장치와 입출력장치 사이에서 입출력을 제어 DMA 방법으로 입출력을 수행한다 (Selector Channel : 고속 입출력, 장치 1개의 장치를 관리 (Multiplexer Channel : 저속 입출력 장치, 동시에 여러 개의 입출력 장치를 제어한다 (Block Multiplexer Channel : 고속 입출력장치를 제어하는 채널, 동시에 여러 개의 입출력 장치를 제어한다 3) 인터럽트의 개념 인터럽트의 정의 - 프로그램을 실행하는 도중에 예기치 않은 상황이 발생한 경우 - 현재 실행 중인 작업을 잠시 중단하고 발생된 상황을 우선 처리한 후 실행 중이던 작업으로 복귀하는 것을 말한다 인터럽트 종류 및 발생 원인 외부 인터럽트 - 전원 이상 인터럽트(Power Fail Interrupt) : 정전이 되거나 전원 이상이 있는 경우 - 기계 착오 인터럽트(Machine Check Interrupt) : CPU의 기능적인 오류 동작이 발생한 경우 - 외부 신호 인터럽트(External Interrupt) : 타이머에 의해 규정된 시간을 알리는 경우, 키보드로 인터럽트 키를 누른 경우, 외부 장치로부터 인터럽트 요청이 있는 경우 - 입출력 인터럽트(Input-Output Interrupt) : 입출력 Data의 오류나 이상 현상이 발생한 경우, 입출려 장치가 데이터의 전송을 요구하거나 전송이 끝났음을 알릴 경우 내부 인터럽트 - 프로그램 검사 인터럽트(Program Check Interrupt) : 0으로 나누기가 발생한 경우, Overflow 또는 Underflow가 발생한 경우, 프로그램에서 명령어를 잘못 사용한 경우, 부당한 기억장소의 참조와 같은 프로그램 상의 오류 소프트웨어 인터럽트 - SVC 인터럽트(SuperVisor Call Interrupt) : 사용자가 SVC 명령을 써서 의도적으로 호출한 경우, 복잡한 입출력 처리를 해야 하는 경우, 기억장치 할당 및 오퍼레이터와 대화를 해야 하는 경우 인터럽트 발생시 CPU가 확인할 사항 - 프로그램 카운터의 내용 - 사용한 모든 레지스터의 내용 - 상태 조건의 내용(PSW) 인터럽트의 동작 원리(수행순서) - 인터럽트 요청 신호 발생 - 현재 수행중인 명령을 완료하고, 상태를 기억시킨다 - 인터럽트를 요청한 장치를 식별 - 인터럽트 서비스 루틴을 실행한다 - 보존한 프로그램 상태를 복귀 - 중단된 프로그램 실행 재개 4) 인터럽트 우선순위(Priority)체제 인터럽트 우선순위 : 전원이상 -> 기계 착오 -> 외부 신호 -> 입출력 -> 명령어 잘못 -> 프로그램 -> SVC
인터럽트 우선순위 체제의 목적과 기능
– 하나 이상의 인터럽트가 발생하였을 때 먼저 서비스할 장치를 결정
– 각 장치에 우선순위를 부과하는 기능
– 인터럽트를 요청한 장치의 우선 순위를 판별하는 기능
– 우선 순위가 높은 것을 먼저 처리할 수 있는 기능
소프트웨어적인 인터럽트 우선순위 판별 방법 (Polling)
– 인터럽트 요청 플래그를 차례로 검사
– 속도가 느리지만 경제적이고 회로가 간단하며 융통성이 있다
하드웨어적인 인터럽트 우선순위 판별 방법 : Vertored Interrupt
– 반응 속도가 빠르고 비싸고 회로가 복잡하며 융통성이 없다
– 직렬 우선순위 부여 방식 : 데이지 체인(Daisy-chain)방식
– 병렬 우선순위 부여 방식 : Mask Register를 사용한다
6. 기억장치
1)기억장치의 개요
기억장치의 분류
기억장치의 계층 구조
기억장치의 특성을 결정하는 요소
– 기억용량
– Access Time : 읽기 요청이 발생한 시간부터 정보를 꺼내서 사용 가능할 때까지의 시간이다
– Cycle Time : 기억장치에 읽기 신호를 보낸 후 다시 읽기 신호를 보낼 수 있을 때까지의 시간
– Bandwidth(대역폭, 전송률) : 메모리로부터 또는 메모리까지 1초 동안 전송되는 최대한의 정보량
2) 주기억장치
ROM(Read Only Memory)
– 읽기만 가능하고 쓰기는 불가능한 기억장치
– 전원이 꺼져도 기억된 내용이 지워지지 않는 비휘발성 메모리다
ROM의 종류와 특징
– Mask ROM
: 제조공장에서 프로그램화하여 생산한 ROM으로 사용자가 내용을 변경시킬 수 없다
– PROM
: PROM 프로그램 장치라는 특수 장비를 이용하여 비어 있는 ROM에 사용자가 한 번만 내용를 기입할 수 있다
– EPROM
: 자외선을 쏘여서 기입한 내용을 지울 수도 있고 PROM 프로그램 장치로 내용을 기록할 수도 있다 사용자가 여러번 반복해서 지우거나 기록할 수 있다
– EEPROM
: 전기적 특성을 이용하여 기록된 정보의 일부를 바꿀 수 있는 ROM
– EAROM
: 전기적인 방법을 이용하여 기록된 내용을 여러번 수정하거나 새로운 내용을 기록할 수 있는 ROM
RAM(Random Access Memory)
– 자유롭게 읽고 쓸 수 있는 기억장치로 RWM이라고도 한다
– 현재 사용중인 프로그램이나 데이터가 저장되어있다
– 전원이 꺼지면 기억된 내용이 모두 사라지는 휘발성 메모리다
DRAM과 SRAM의 특징
자기코어
: 전류 일치 기술에 의하여 기억장소를 선별한다
3) 보조기억장치
보조기억장치의 개념
: 주기억장치의 단점을 보완하기 위한 기억장치이며 주기억장치에 비해 속도는 느리지만 전원이 차단되어도 내용이 그대로 유지되고 저장 용량이 크다는 장점이 있다
보조기억장치의 일반적인 특징
– 중앙처리장치와 직접 자료 교환이 불가능하다
– 접근 시간(Acess Time)이 오래 걸린다
자기 테이프(Magnetic Tape)
: 주소의 개념이 없고 처음부터 차례대로 처리하는 순차 처리만 할 수 있는 대용량 저장 매체이다
– 순차 처리만 가능하다
– 블록 단위로 데이터를 전송하며 블록과 블록 사이에는 GAP이 있다
자기 디스크(Magnetic Disk)
: 자성 물질을 입힌 금속 원판을 여러 장 겹쳐서 만든 기억 매체로 용량이 크고 접근 속도가 빠르다
자기 디스크의 구조
– 트랙(Track) : 디스크 표면에서 회전축을 중심으로 데이터가 기록되는 동심원이다
– 섹터(Sector) : 트랙들을 일정한 크기로 구분한 부분이며 정보 기록의 기본 단위이다
– 실린더(Cylinder) : 서로 다른 면들에 있는 동일 위치의 트랙들의 모임이다
자기 드럼(Magnetic Drum)
: 원통 표면에 Track과 Sector를 구성하고 각 Track마다 고정된 R/W Head를 두고 있어 자기 디스크에 비해 속도가 빠르다
4) 연관기억장치, 복수 모듈 기억장치
연관기억장치(Associative Memory)
: 기억장치에서 자료를 찾을 때 주소에 의해 접근하지 않고 기억된 내용의 일부를 이용하여 Access할 수 있는 기억장치이다
복수 모듈 기억장치
– 주기억장치와 CPU의 속도 차이 문제점을 개선한다
– 기억장치의 버스를 시분할하여 사용한다
– 기억장소의 접근을 보다 빠르게 한다
메모리 인터리빙
– 기억장치를 각 모듈이 순차적으로 번갈아 가며 접근하는 방법이다
– 대역폭을 효율적으로 높일 수 있다
– 캐시 기억장치, 고속 DMA 전송 등에서 많이 사용된다
5) 캐시 메모리(Cache Memory)
캐시 메모리
– CPU의 처리 속도와 주기억장치의 접근 속도 차이를 줄이기 위해 사용한다
– 주기억장치를 접근하느 횟수가 줄어듦으로써 컴퓨터의 처리 속도가 향상된다
캐시 설계시 고려할 사항
– 캐시의 크기
– 전송 Block Size
– 교체 알고리즘
매핑 프로세스(Mapping Process)
– 직접 매핑(Direct Mapping) : 간단하고 구현 비용이 적게들지만 적중률이 낮아질 수 있다
– 어소시에이티브 매핑(Associative Mapping, 연관매핑) : 직접 매핑 방식의 단점을 보완한 방식이다
– 세트-어소시에이티브 매핑(Set-Associative Mapping) : 직접 매핑과 연관 매핑의 장점만을 취한 방식이다
캐시의 적중률
– 적중률 = (적중횟수 / 총 접근 횟수)로 계산한다
– 미스율 = 1 – (적중률)
6) 가상기억장치(Virtual Memory)
가상기억장치
: 기억 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용할 수 있어 사용자는 프로그램의 크기에 제한 받지 않고 프로그램 실행이 가능하다
가상기억장치의 특징
– 소프트웨어적인 방법으로 보조기억장치를 주기억장치처럼 사용
– 보조기억장치 중 디스크와 같은 DASD 장치에서 가능
가상기억장치의 관리 기법
– 페이징 기법 : OS가 보조기억장치에 있는 프로그램을 동일 크기의 블록으로 나눈어서 관리하는 기법
– 세그먼트 기법 : 사용 자가 보조기억장치에 있는 프로그램을 가변적인 크기으 블록으로 나누어서 관리하는 기법
기억장치의 관리 전략
– 반입(Fetch)전략
: 보조기억장치에 보관중인 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지를 결정하는 전략으로 요구반입과 예상반입이 있다
– 배치(Placement) 전략
: 새로 반입되는 프로그램이나 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략으로 최초접합(First Fit), 최적접합(Best Fit), 최악접합(Worst Fit)이 있다
– 교체(Replacement) 전략
: 새로운 프로그램을 주기억장치에 배치하려고 할때 이미 사용되고 있는 페이지 프레임 중에서 어느 하나를 선택하여 빈 페이지 프레임을 만들어 줄 것인지를 결정하느 전략이다
주소 매핑(주소 교환)
– 주소 매핑은 가상주소를 실기억주소로 변환하는 작업이다
[정보처리] 전자계산기 구조 정리
<명령어 사이클>
1. 인출(Fetch)사이클 – 호출, 수행할 명령을 주기억장치에서 읽음, 명령의 종류를 판단한다.
2. 간접(Indirect)사이클 – 주소를 기억장치에서 읽음
3. 실행(Execute)사이클 – 데이터를 지억장치에서 읽음, 수행 후 Fetch로 변천
4. 인터럽트(Inturrupt)사이클 – 프로그램이 예기치 못한 일이 발생했을 경우 현재 실행 중인 프로그램은 일시
중단하고 미리 정해진 인터럽트 처리 루틴에 의해 일을 처리한 후 복귀하여
원래 프로그램을 수행
① input/output – 입출력 기능 : CPU와 I/O 장치 또는 메모리와 I/O 장치 사이에서 자료를 전달하는 기능 ② branch – 분기를 나누는 산술연산자,컴퓨터 프로그램을 실행할 때 순서를 벗어나 다른 명령으로 가는 것. ③ status sense – 상태처리
레지스터(Register) : 컴퓨터의 중앙처리장치에서 사용되는 고속메모리로, 처리에 필요한 내용을 일시적으로 기억하는 역할을 수행하며, 메모리 중에서 속도가 가장 빠름
① 레지스터는 워드를 구성하는 비트 개수만큼의 플립플롭으로 구성된다.
② 여러 개의 플립플롭은 공통 클록의 입력에 의해 동시에 여러 비트의 입력 자료가 저장된다.
③ 레지스터를 구성하는 플립플롭은 저장하는 값을 임의로 설정하기 위해 별도의 입력단자를 추가할 수 있으며, 저장값을 0 으로 하는 것을 설정해제(CLR)라 한다.
플립플롭
– 1bit 기억소자로, 레지스터에 사용됨
– SR, JK, T, D플립플롭이 있음
– SR플립플롭 : S=1, R=1일때 표현불가
– JK플립플롭 : SR의 단점을 보완, J=1,K=1일 때 상태 반전 표현 Toggle
– T플립플롭 : JK플립플롭을 하나로 묶어 표현
반가산기(Half-Adder)
– 2개의 비트 X, Y를 더한 합 S와 자리올림 C를 구하는 회로
– 1개의 XOR회로와 1개의 AND회로로 구성
⊕ => XOR연산으로 둘이 값이 같으면 0, 틀리면 1
‘ => NOT연산으로 0이면 1로, 1이면 0
AB => AND연산으로 모두 1일때만 1 나머지 전부 0
A+B => OR연산으로 입력값중 하나라도 1이면 1
ex)390)₁₆ 번지의 내용이 2010일 때 다음 그림이 나타내는 것은 = 2010번지의 내용과 누산기의 값을 더한다.
DMA(Direct Memory Access)에 의한 I/O
– 데이터 입출력 전송이 CPU를 통하지 않고 직접 주기억장치와 주변장치 사이에서 수행되는 방식
– CPU를 직접 거치지 않고 메모리와 입출력장치가 직접 통신하기 때문에 CPU에 부하가 증가되지 않으며, CPU의 상태 보존이 필요 없음
– 대량의 데이터를 고속으로 전송할 때 유리한 방식
– CPU 동작시 메모리와 관계없는 사이클에만 DMA의 수행을 하게 하며, 이 방법은 CPU의 Cycle을 도용한다고 하여 Cycle Stealing이라고 한다.
– 인터럽트가 발생하는 시점은 DMA 제어기가 자료 전송을 종료했을 때
DMA의 데이터 전송절차
버스 사용요구 -> 버스 사용 허가 -> 데이터 전송 -> 인터럽트
MAR : Memory Address Register, PC : Program counter, M : memory,
MBR : Memory Buffer Register, IEN : Interrupt Enable
<명령어의 구성 형태>
0주소 명령어의 특징 a. 스택(Stack)구조를 이용하여 명령어를 표현 b. 연산자와 피연산자 모두를 스택에 입력한 후 스택 자체를 명령어로 처리 c. 연산 속도는 가장 빠르지만 연산 수행 결과 피연산자가 모두 소실됨 1주소 명령어의 특징 a. ‘Address_1’과 누산기를 이용하여 자료를 정의 b. ‘Address_1’과 ‘누산기’에 정의된 피연산자를 처리한 후 결과를 누산기에 저장 2주소 명령어의 특징 a. 가장 일반적인 명령 형식 b. ‘Address_1’과 ‘Address_2’에 대한 처리 결과를 ‘Address_1’과 ‘Address_2’를 이용하여 주기억장치와 중앙처리장치의 레지스터에 동시 저장 가능 3주소 명령어의 특징 a. 기본적으로 ‘Address_1’과 ‘Address_2’에 정의된 데이터에 대한 처리 결과를 ‘Address_3’에 정의 (IBM370 어셈블리 기준) b. 연산 수행을 하더라도 피연산자를 소실하지 않고 보유하는 특징을 가짐
마이크로프로그램을 이용하는 제어장치의 구성요소
① 순서 제어 모듈
② 서브루틴 레지스터
③ 제어버퍼 레지스터
기억장치 접근 시간 데이터 접근시간(Access Time) = Seek Time + Rotational Delay Time + Transmission Time 사이클시간 – 기억 장치의 연속하는 판독, 기록 사이클의 개시점간 최소 시간 간격. 사이클 시간은 컴퓨터의 성능을 가늠하는 척도로서 널리 쓰인다. 기억장치에 대한 접근을 시작하고 종료한 후에, 다시 해당 기억장치를 접근할 때까지의 소요시간
프로세서가 수행될 때 나타나는 지역성을 응용해서 접근 속도를 빠르게 하는
캐시 메모리에서 변화된 캐시의 내용을 주기억장치에 기록하는 방법
① write-through : 데이터를 기록할 때 캐시 기억 장치와 동일한 내용을 기록한 자기 디스크 부분을 동시에 갱신하는 것.
② write-back : 자기 디스크 등에 기록할 데이터를 일시적으로 캐시 기억 장치에 저장하는 것.
③ write-once : write once read memory의 약어. 광디스크의 일종의 데이터를 한 번밖에 기록할 수 없으나 수없이 읽을 수 있으며 삭제가 불가능하다.
불함수 – 불 대수(Boolean Algebra)는 논리적인 판단을 하는 데 사용하는 수학적 기법 (技法)으로 논리 대수라고도 한다.
불함수의 최소항의 합의 숫자는 1,4,5,6,7로 외운다.
Propagation delay(전파 지연) – 논리 신호가 논리 회로 속을 전파할 때 생기는 지연시간
① ALU의 parallel-adder에 carry propagation을 줄이기 위해 carry lock ahead를 사용한다.
② carry propagation은 ALU(arithmetic logic unit)path에서 가장 긴 delay를 말한다.
③ 더 빠른 gate를 사용함으로써 propagation delay time을 줄일 수 있다.
명령어 파이프라이닝
– CPU의 성능은 프로그램 처리 시간에 영향을 미치기 때문에 그 속도를 향상시키기 위해서 효과적인 방법으로 사용된다.
– 명령어를 사용되는 하드웨어를 단계들로 분할하고 그들로 하여금 동시에 서로 다른 명령어를 처리하도록 한다.
– 분할되는 단계 수가 많아 질수록 처리 속도가 높아진다.
다중프로그래밍 방식 2개 이상의 여러프로그램을 주기억 장치 에 동시에 저장하고 하나의 cpu로 실행하는 방 . 그러나 다중 프로그래밍 방식에서 실제로 여러 프로그램이 동시에 수행도는 것이 아니고 한 프로그램씩 순차적으로 돌아가면서 조금씩 수행되는 것이다. 그러나 cpu의 속도가 매우빠르므로 우리가 보기에는 동시에 수행되는 것처럼 보인다 다중 프로그래밍 방식은 여러개의 프로그램을 준비 상태에 두고 관리하며 다른 한 작업을 싱행하는 프로그램으로 선정하기 위한 기억 장치 관리기법과 cpu 스케쥴링기법이 필요하다. 여기서 실행할 프로그램으 선정하기 위한 기준을 우선순위라고 한다. 다중프로그래밍 방식에서 한 프로ㅡ램이 입출력 대기상태가 되면 다른 프로그램이 cpu를 사용할 있도록 전환하고, 입출력 동작이 끝나면 우선 순위에 따라 실행 가능한 프로그램 중에서 하나를 선정하여 실행한다. 우선순위는 일반적으로 작업을 요청한 시간과 입출력 동작의 시간, cpu 사용시간 등을 고려하여 정할 수 있다. 다중처리 시스템 2개 이상의 중앙 처리 장치 를 사용하여 작업을 여러개로 분담해 프로그램을 동시에 수행하는 방식이다. 이 다중 처리 시스템은 수행시간을 단축하거나 단위 시간당 처리 율을 높일 수 있는 방식이다. 다중 처리 시스템은 하나의 cpu에 문제가 생기더라도 다른 cpu가 처리 를 계속할 수 있으므로 신뢰도를 높일 수 있다. 일반적으로 여러개의 프로세서가 하나의 운영체제에 의해 관리되고 버스나 기억 장치 를 공유하여 서로 통신하며 작어을 처리 하므로 작업 처리 속도도 빨라 질 수 있다. 다중 처리 시스템은 크게 두가지로 분류할 수 있는데 그 하나는 별도의 주 처리 기만이 운영체제를 수행하며 제어를 담당하는 비대칭적 다중처리 방식이고 다른 하나는 처리 기들이 하나의 운영체제를 동시에 수행하며 각자의 작업을 수행하는 대칭적 다중처리 방식이다 다중처리 시스템은 1개의 cpu로 작업하는 단일 처리 시스템보다 많은 양의 작업을 동시에 처리 할 수 있으므로 작업 속도와 신뢰성을향상시킬 수 있다. 현재의 컴퓨터 시스템은 저렴하 cpu가격과 이를 처리 하는 시스템 소프트웨어의 발달로 다중 처리 기법을 많이사용한다. 특히 요즘 중소형 서버는 대부분 인텔 계열의 cpu를 2개에서 8개로 탑재하여 다중처리 기법을 이용하는 시스템의 주류를 이룬다 다중처리기 – CPU를 여러개 사용하는 방식, Master가 전체적인것을 제어, Slave를 통해 성능을 개선
① 수행속도의 성능 개선이 목적이다.
② 하나의 복합적인 운영체제에 의하여 전체 시스템이 제어된다.
③ 프로세서들 중 하나가 고장나도 다른 프로세서들에 의해 고장난 프로세서의 작업을 대신 수행하는 장애극복이 가능하다
수직적 마이크로 프로그래밍(Vertical microprogramming) – 마이크로 명령어 의 연산 필드에 적은 수의 코드화된(encoded)비트들을 포함시킴으로써 제어 기억 장치의 용량을 줄이고, 해독기를 이용하여 그 코드를 필요한 수 만큼 제어 신호들로 확장하는 방식 – 장점 : 마이크로 명령어 의 비트 수가 감소 – 단점 : 해독 시간만큼의 지연 시간이 발생 수평적 마이크로 프로그래밍(Horizontal microprogramming) – 연산 필드의 각 비트와 제어신호를 1:1로 대응시켜서 , 그 수만큼의 비트들로 이루어진 마이크로 명령어 를 사용하는 방식 – 장점 : 하드웨어가 간단하고, 해독에 따른 지연 시간이 없음 – 단점 : 마이크로 명령어 비트수가 길기 때문에 더 큰 용량의 제어 기억장치가 필요함
병렬 처리(Parallel Processing)
– 한 대의 컴퓨터를 이용하여 하나의 작업을 여러 개로 분할한 후 분할된 작업을 동시에 처리하는 방법
– 병렬 처리의 목적은 처리율의 증가 및 처리속도의 향상에 있다. 병렬 처리를 위한 해결 사항
– 분할의 문제 : 하나의 작업을 최대의 병렬성을 갖도록 분리하기 위한 문제
– 스케줄링의 문제 : 분할된 작업들을 처리기에 할당하기 위한 문제
– 동기화의 문제 : 여러 프로세스에 의해 공유되는 자원이 있을 경우 동시에 여러 프로세스가 공유자원에 접근하여 작업을
수행할 경우 작업의 일관성이 무너질 수 있으므로 각 프로세스가 순서적으로 공유자원에 접근 하도록 제어하기 위한 문제 ① 일부 하드웨어 오류가 발생하더라도 전체 시스템은 동작할 수 있다. ② 기억장치를 공유할 수 있다. ③ 프로그램작성이 어려워진다.
< 오류 검출/교정코드 >
– 패리티 검사 코드 : 코드의 오류를 검사하기 위해서 Data Bit외에 1Bit의 패리티체크비트를 추가하며, 1Bit의 오류만 검출가능
– 해밍코드: 오류 검출(2Bit) 및 교정(1Bit)이 가능한 코드로, 1,2,4,8.16. … 2의 n번째는 오류 검출을 위한 패리티 비트임
해밍 코드에서 각 채크 비트 자리는 2^n자리이다.
그리고 패리티 체크 비트의 값을 구하기 위해서는 아래와 같은 방법으로 구한다.
* P1 : 행 1, 3, 5, 7 패리티 체크
* P2 : 행 2, 3, 6, 7 패리티 체크
* P3 : 행 4, 5, 6, 7 패리티 체크
해법의 키포인트는 비트 자리를 그림으로 표현한다는 것입니다.
즉, 8421 코드( P1 P2 8 P3 4 2 1) 를 아래 그림과 같이 표현 한 것입니다.
* BX Map(Bit eXpression Map, 비트 표현 맵)
주기억장치대역폭 : 기억장치에서 자료를 읽거나 쓸때 1초동안에 읽거나 쓸수있는 비트수를 의미하는 정도전달 능력의 한계
① subroutine call – 주프로그램으로부터 어떤 서브루틴에 프로그램의 실행권을 옮기는 것.
② vectored interrupt – 컴퓨터에 인터럽트가 생겼을 때 프로세서의 인터럽트 서비스가 특정한 장소로 점프하도록 구성되어 있는 것.
하드웨어 신호에 의하여 특정 번지의 서브루틴을 수행하는 것
③ buffering – 컴퓨터 시스템에서의 처리를 어떤 장치로부터 다른 장치로 데이터를 일방통행으로 전송할 때
양자의 속도차를 수정하기 위하여 중간에서 데이터를 일시적으로 기억 장소에 축적하는 수법.
④ interleaving – 메모리 인터리빙,
기억장소의 연속된 위치를 서로 다른 뱅크로 구성하여 하나의 주소를 통하여
여러 개의 취이에 해당하는 기억장소를 접근할 수 있도록 하는 방법.
CPU와 주기억장치 사이의 속도차이로 인해서 발생하는 문제를 해결하기 위해
주기억장치를 모듈별로 주소를 배정한 후 각 모듈을 번갈아 가면서 접근하는 방식
⑤ mapping – CPU에 의해 참조되는 각 주소는 가상주소를 주기억장치의 실제주소로 변환
① Virtual Memory – 가상메모리
– 기억용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용할 수 있도록 하는 기법
– 사용자는 프로그램의 크기에 제한 받지 않고 프로그램의 실행이 가능함
– 보조기억장치로 DASD장치(자기디스크)를 많이 사용함
– 가상 메모리 관리 기법 : 페이징기법, 세그먼테이션 기법
② Cache Memory – 캐시메모리
– CPU의 처리 속도와 주기억장치의 접근속도 차이를 줄이이 위해 사용하는 고속 BufferMemory
– 주기억장치에서 미리 사용할 데이터를 CPU에 근접하는 속도를 가진 캐시 메모리에 기억시켜 수행속도를 향상
④ Serial Processing – 순차 처리
– 여러 정보를 시간상으로 차례대로, 혹은 한 번에 하나씩 처리하는 것을 말한다. 병행 처리와 대비된다
캐시메모리의 주소 매핑 방법
1. Direct Mapping(직접 매핑) – 직접적인 매핑, 주소를 블럭단위로 나눠 오직 한군데만 저장 장점 : 구조 자체가 간단함, 단점 : 캐시를 사용하는 효율이 떨어짐 (적중률이 낮아질 수 있음) 2. Full assoiciative Mapping(연상 매핑) – 순서에 상관 없이 저장, 캐시 안의 메인데이터 주소와 data까지 모두 저장 장점 : 직접매핑보다 원하는 데이터를 금방 찾음 단점 : 원하는 데이터가 어딨는지 모르므로 캐시의 모든 부분 검사
3. set Associative mapping(세트-연상 매핑) – 두가지 장점을 조금씩 섞어 만든 방법
인스트럭션(명령) 설계시 고려사항 – 데이터 구조 – 주소지정 방식 – 연산자의 수와 종류 – 사용빈도 및 기억공간
PLA [ programmable logic array ]
– 프로그램이 가능한 논리소자로, n개의 입력에 대하여 개 2n이하의 출력을 만들 수 있다.
인터럽트: 인터럽트 서비스 루틴을 실행할 때 인터럽트 플래그(IF)를 0으로 하면 인터럽트 발생을 방지할 수 있다.
인터럽트 우선순위 판별 방법
– 폴링(Polling) : 소프트웨어적인 방법 – 데이지 체인(Daisy Chain) : 하드웨어적인 방법
RAM/ROM의 용량 계산법
– 2의 워드의수 * 워드의 크기
– 워드의 수 = 입력 번지(주소)선의 수 = MAR = PC
– 워드의 크기 = 출력 데이터선의 수 = Data Bus의 비트 수 = MBR = DR = IR
ex : 256 = 2의 8승 –> 필요한 RAM 소자의 개수는 8개!!
입출력 제어기, 인터페이스, 입출력 장치제어기, 입출력 장치
레지스터(Register)와 버스(Bus) 개념 정리
정보처리기사 2과목 전자계산기 구조에서 다뤄지는 레지스터와 버스의 개념에 대해 알아보도록 하겠습니다. 먼저 레지스터는 보통 컴퓨터의 중앙처리장치 안에 위치하여 적은 양의 데이터나 처리 중인 연산의 중간값을 임시 저장하는 메모리를 말합니다.
산술 연산이나 논리 연산을 행할 때 중간 결과들을 일시적으로 저장하여 최종 결과를 도출하기 까지 저장해 둘 장소로서 기능하며, 전송 속도는 기억 장치 중 가장 빠릅니다. 컴퓨터의 주기억장치와의 차이점은 주기억장치는 단지 데이터나 명령을 저장할 뿐이고, 레지스터는 연산의 중간 결과값을 일시적으로 저장하여 연산을 돕는 기능을 하고 중앙처리장치에 속해있다는 것입니다.
레지스터의 종류와 기능에 대해 알아보도록 하겠습니다.
첫번째 레지스터는 프로그램 카운터 또는 프로그램 계수기(PC; Program Counter) 입니다. 컴퓨터 중앙처리장치의 제어 장치에 속하며, 다음에 실행할 명령어의 주소를 기억하는 레지스터입니다. 현재의 명령이 실행될 때마다 1이 자동으로 더하여진 뒤, 다음에 꺼낼 명령의 주소를 지시합니다.
명령 레지스터(IR; Instruction Register) 는 현재 실행 중인 명령 내용을 기억하는 레지스터입니다. 역시 제어 장치의 일부이며, 기억 장치에서 내린 명령을 받아 실행하기 위해 일시적으로 기억하는 레지스터입니다.
누산기(AC; Accumulator) 는 연산의 중심이 되는 장치로써, 연산된 결과를 일시적으로 저장하는 레지스터입니다. 컴퓨터가 연산 작업을 수행할 때, 누산기에 일시적으로 저장된 데이터와 주기억장치에 있는 데이터를 바탕으로 연산 장치에서 처리된 뒤, 그 결과값이 누산기에 저장됩니다. 보통 누산기에는 하나의 수치가 축적되어 있으며, 다른 곳에서 데이터가 입력되면 양쪽의 대수합으로 치환됩니다.
상태 레지스터(Status Register), PSWR(Program Status Word Register), 플래그 레지스터 는 컴퓨터 시스템이 순간 순간의 상태를 기록하는 레지스터입니다. 오버플로(overflow), 언더 플로(underflow), 자리올림, 계산 상태(0, -, +), 인터럽트(interrupt) 등의 PSW를 저장하는 레지스터입니다.
메모리 주소 레지스터(MAR; Memory Address Register) 는 중앙처리장치에서 기억 장치를 출입하는 데이터의 주소를 기억하고 불러오는 레지스터입니다.
메모리 버퍼 레지스터(MBR; Memory Buffer Register) 는 중앙처리장치에서 기억장치를 출입하는 데이터가 일시적으로 기억되는 레지스터입니다. 잠시 저장된 뒤 출력되는 과정은 CPU가 데이터를 처리하기 위해서는 필수적인 과정입니다.
인덱스 레지스터(Index Register) 는 레지스터에 기억된 데이터에 의해 실행하는 명령의 주소를 변경하고, 서브루틴을 연결하고, 프로그램에서 반복 연산의 횟수를 세는데 사용되는 레지스터입니다. 인덱스 레지스터는 사용자가 레지스터 내용을 변경할 수 있다는 특징이 있습니다.
데이터 레지스터(Data Register) 는 연산 작업에 사용될 데이터를 기억하는 레지스터입니다. 중앙처리장치에서 자료의 일시적 저장에 보편적으로 사용되는 레지스터입니다.
시프트 레지스터(Shift Register) 는 각각의 클록을 주기로 저장된 데이터 값을 왼쪽 또는 오른쪽으로 1Bit씩 자리 이동시키는 역할을 하는 레지스터입니다. 이러한 기능을 하는 시프트 레지스터는 병렬 데이터를 직렬 데이터로 변환하는 데 유용합니다.
메이저 스테이터스 레지스터(Major Status Register) 는 CPU의 메이저 상태를 저장하고 있는 레지스터입니다.
다음으로 버스(Bus)란 무엇이며 어떤 기능을 수행하는지에 대해 알아보겠습니다. 대중 교통 수단으로 널리 사용되는 버스처럼 CPU, 메모리, I/O(Input/Output) 장치 등과 상호 필요한 정보를 교환하기 위해 연결시킨 공동 전송선입니다.
버스의 종류는 크게 전송하는 정보의 종류에 따라 구분된 버스와 구성된 위치에 따라 구분된 버스가 있습니다. 버스는 전송하는 정보가 무엇인지에 따라 번지 버스(Address Bus), 자료 버스(Data Bus), 그리고 제어 버스(Control Bus) 로 나뉩니다. 번지 버스는 CPU가 메모리나 입·출력 장치의 주소를 지정할 때 사용하는 단방향 전송선입니다.
자료 버스는 CPU, 메모리, 입·출력 장치 사이에서 데이터를 전송하는 양방향 전송선입니다. 마지막으로 제어 버스는 CPU의 현재 상태나 상태 변경을 메모리나 입·출력 장치에 알리는 제어 신호를 전송하는 양방향 전송선입니다. 위치에 따라서 구분되는 버스의 종류는 크게 내부 버스와 외부 버스 가 있습니다. 내부 버스는 CPU나 메모리 내부에 구성된 버스를 말하고, 외부 버스는 주변 입·출력 장치에 구성된 버스를 의미합니다.
이번 포스팅에서는 정보처리기사 필기 2과목 전자계산기 구조에서 중요하게 다루는 개념인 레지스터와 버스의 개념과 종류에 대해 알아보았습니다. 중앙처리장치의 구성요소로서 일시적인 저장을 수행하는 레지스터는 출제 가능성이 높으니 꼭 내용을 숙지하시기 바랍니다.
감사합니다.:)
[과제] 전자계산기구조 – 컴퓨터구조
다음 답변은 KG아이티뱅크 2학기 3기수 전자계산기구조 수업의 과제에 대한 개인적인 답변입니다.
이에 받은 점수와 무관하게 학기를 마무리하며 개인적으로 기록을 남기고자 포스팅합니다.
주제
1.컴퓨터 장치 분석
2.컴퓨터 기본 구성
3.컴퓨터 기능과 동작 에 대하여 참조바랍니다.
답변
1 & 2. 컴퓨터 장치 분석 및 기본 구성
컴퓨터는 기본적으로 기계적이고 물리적인 장치를 의미하는 하드웨어 (Hardware)와, 하드웨어의 동작을 지시하고 제어하는 프로그램인 소프트웨어 (Software)로 구성된다. [1] 산술논리장치 (ALU), 제어장치 (CD), 레지스터로 구성된 중앙처리장치 (CPU)와, RAM/ROM의 주기억장치 및 하드 디스크 같은 보조기억장치, 모니터와 마우스, 키보드 같은 입출력 장치 모두 하드웨어에 속한다. 소프트웨어의 종류로는 하드웨어를 효율적으로 관리하고 제어하는 프로그램인 운영 체제 (Operating System)과, 특정한 목적을 위해 생성된 응용 소프트웨어 (Application Software)가 있다. [2] 하드웨어와 소프트웨어의 중간 격인 펌웨어(Firmware)또한 운영체제를 담고 있으면서 시스템의 효율을 높이기 위해 ROM에 저장되어 사용된다.
개인용 컴퓨터, PC는 기본적으로 앞서 말했듯이 중앙처리장치, 주기억장치, 전원공급장치 등의 수많은 부속 제품들이, 연결회로와 출력 포트를 가진 메인보드 (또는, 마더보드)에 조립되어있다. 각 제품과 메인보드 자체의 성능에 따라 컴퓨터의 사양과 안정성이 결정된다.
컴퓨터 본체를 제외한 것들을 주변장치 (Peripheral Device)라고도 한다. 컴퓨터가 처리할 정보를 입력하는 키보드, 마우스, 스캐너 등의 입력 장치, 모니터, 프린터, 프로젝터 등의 출력 장치가 이에 속한다. 시스템 확장 카드도 속하는데, 이는 컴퓨터 기능을 확장시킬 수 있게 추가하는 기판으로, 네트워크 카드, 사운드 카드, 그래픽 카드 등을 포함한다. 네트워크, 사운드, 그리고 그래픽 카드는 멀티미디어를 잘 표현하기 위해 입/출력을 모두 수행하므로 입출력 겸용 장치라고도 부른다. 주기억장치의 용량 부족에 대한 대안으로 쓰이는, 용량은 크지만 속도는 느린 하드디스크, CD-ROM 등의 보조기억장치도 주변장치이다.
3. 컴퓨터의 기능과 동작
컴퓨터는 데이터를 입력, 기억, 처리, 출력, 통신하는 전자 기기를 일컫는다. 컴퓨터는 펌웨어를 통해 부팅되고, 운영체제에 의해 동작이 제어되며, 응용 소프트웨어를 이용해 원하는 작업을 수행한다. 이 과정을 수행하기 위해서 중앙처리장치 (CPU)가 동작한다. 중앙처리장치는 산술연산 및 논리연산을 하는 산술논리연산장치 (ALU), 명령을 해독하고 제어 신호를 생성하는 제어장치, 아주 적은 양의 처리 중인 데이터를 저장하는 레지스터로 구성되며, 레지스터는 레지스터간, 버스, 기억장치 전송 방식 등으로 데이터를 쓰고 읽는다. 프로그램을 구성하는 명령어는 중앙처리장치에서 인출 – 해독 – 실행 – 저장의 ‘머신 사이클’을 거쳐 수행된다. 해독 과정에서 어셈블러를 거쳐 기계어로 변환된다. 주기억장치에는 실행할 프로그램과 데이터가 저장된다. 중앙처리장치가 이 저장된 프로그램의 명령을 꺼내어 제어장치를 이용, 해독하고 제어신호를 만들어 장치들을 움직인다. 고속의 중앙처리장치와 비교적 느린 주기억장치 사이의 속도 차를 극복하기 위해, 캐시 메모리가 사용된다. 자주 쓰이는 명령어와 데이터를 복사해서 명령 처리 속도를 향상시키는 것이다. [1] 주기억장치의 용량이 부족할 때, 저속이지만 고용량의 보조기억장치가 쓰이며, 이에 저장된 응용 프로그램이 실행시켜 주기억장치에 프로그램 명령어를 적재한다. 중앙처리장치가 이를 처리하여 주기억장치에 다시 보내고, 그 결과값이 다시 보조기억장치로 전달, 저장되는 것이다. 마지막으로, 입력 장치에서 입력된 신호는 중앙처리장치에서 표준 신호로 변환, 처리되고, 이 표준 신호를 출력 장치가 받아들여 특정 신호로 변환하여 출력하게 된다.
출처:
[1]학점은행제 전자계산기구조 교안, 아이티뱅크, 2020 [2]길벗 R&D, et al. 2020 시나공 총정리 컴퓨터활용능력 1급 필기. 길벗, 2019
(정보처리기사 필기) 2과목 전자계산기 요약정리
반응형
볼대수의 기본 공식
논리게이트
반가산기(Half Addr)
1Bit짜리 2진수 2개를 덧셈한 합과 자리올림 수를 구하는 회로
A B SUM CARRY AB 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1
전가산기(Full Adder)
1Bit 크기의 2진수 3자리를 더하여 합과 자리올림 수를 구하는 회로
2개의 반가산기와 1개의 OR Gate로 구성됨
디코더 (Decoder)
n Bit의 코드화된 정보를 그 코드의 각 Bit 조합에 따라 2^n개의 출력으로 번역하는 회로
명령어의 명령부나 번지를 해독할 떄 사용되며, 주로 AND 게이트로 구성됨
플립플롭
전원이 공급되는 한 상태변화를 위한 신호가 발생할 떄 현재 상태를 그대로 유지하는 논리회로
플립플롭 1개가 1비트를 구성하는 2진셀이 된다.
반도체 기억장치에서 2진수 1자리값을 기억하는 메모리 소자
기본적으로 2개의 NAND 또는 NOR 게이트를 이용하여 구성
RS S와 R선의 입력을 조절하여 임의의 비트 값을 그대로 유지시키거나 무조건 0또는 1의 값을 기억시키기 위해서 사용
JK RS FF에서 S=R=1일 때 동작안되는 결점을 보완한 플립플롭
D RS FF에 R선에 인버터를 추가하여 S선과 하나로 묶어 입력선을 하나만 구성한 플립플롭 입력한 값을 그대로 저장하는 기능을 수행
T JK FF의 두 입력선을 묶어 한개의 입력선으로 구성한 플립플롭
M/S 출력 측의 일부가 입력 측에 피드백되어 유발되는 레이스 현상을 없애기 위해 고안된 플립플롭
자료 구성의 단위
비트 자료 표현의 최소 단위이고 2진수로 표시하며 2^n 가지를 표현할 수 있음
니블 4개의 비투가 모여 1개의 니블을 구성함
바이트 문자를 표현하는 최소 단위로 8개의 비트가 모여 1바이트를 구성함
워드 CPU가 한번에 처리할 수 있는 명령 단위 (반워드 2바이트, 풀워드 4바이트, 더블워드 8바이트)
필드 파일 구성의 최소 단위
레코드 하나 이상의 관련된 필드가 모여서 구성됨
블록 하나 이상의 논리 레코드가 모여서 구성됨
파일 프로그램 구성의 기본 단위며 여러 레코드가 모여서 구성됨
디비 여러 개의 관련된 파일의 집합
보수
컴퓨터가 기본적으로 수행하는 덧셈 회로를 이용하여 뺄셈을 수행하기 위해 사용
33의 10의 보수?
33 + X = 100
X = 67
10101의 2의 보수?
10101 + X = 100000
X = 01011
33의 9의 보수?
33 + X = 99
X = 66
1010의 1의 보수?
10101 + X = 11111
X = 01010
2진 연산 표현 범위 (n 비트일 경우)
부호화 1의 보수법 범위 -2^n+1 ~ +2^n-1
부호화 2의 보수법 범위 -2^n ~ +2^n-1
자료 표현 코드
BCD코드
10진수 1자리의 수를 2진수 4비트로 표현함
4비트의 2진수 각 비트가 8,4,2,1의 자리 값을 가지므로 8421코드라고도 함
Excess-3 코드
BCD코드에 3을 더하여 만든 코드
Gray 코드
BCD 코드의 인접하는 비트를 X-OR 연산하여 만든 코드
패리티 검사 코드
코드의 오류를 검사하기 위해서 데이터 비트 외에 1비트 패리티 체크 비트를 추가하는 것으로 1비트의 오류만 검출할 수 있음
해밍 코드
오류를 스스로 검출하여 교정이 가능한 코드
1비트 오류만 교정할 수 있음
2^n 번째 비트는 오류 검출을 위한 패리티 비트임
중앙처리 장치의 구성 요소
제어장치
컴퓨터에 있는 모든 장치들의 동작을 지시하고 제어하는 장치
연산장치
제어장치의 명령에 따라 실제로 연산을 수행하는 장치
레지스터
CPU 내부에서 처리할 명령어나 연산의 중간 결과값 등을 일시적으로 기억하는 임시 기억장소
주요 레지스터
프로그램 카운터, 프로그램 계수기
다음 번에 실행할 명령어의 번지를 기억하는 레지스터
명령 레지스터
현재 실행중인 명령의 내용을 기억하는 레지스터
누산기
연산된 결과를 일시적으로 저장하는 레지스터
상태 레지스터, PSWR, 플래그 레지스터
시스템 내부의 순간순간의 상태가 기록된 정보를 PSW라 함
메모리 주소 레지스터
기억장치를 출입하는 데이터의 번지를 기억하는 레지스터
메모리 버퍼 레지스터
기억장치를 출입하는 데이터가 잠시 기억되는 레지스터로 CPU가 데이터를 처리하기 위해서는 반드시 거쳐야 함
인덱스 레지스터
주소의 변경 서브루틴 연결 및 프로그램에서의 반복 연산의 횟수를 세는 레지스터
데이터 레지스터
연산에 사용될 데이터를 기억하는 레지스터
시프트 레지스터
저장된 값을 왼쪽 또는 오른쪽으로 1비트씩 자리를 이동시키는 레지스터
메이저 스테이터스 레지스터
CPU의 메이저 상태를 저장하고 있는 레지스터
버스
CPU, 메모리, I/O 장치 등과 상호 필요한 정보를 교환하기 위해 연결하는 공동의 전송선
전송 정보에 따른 버스 분류
번지 버스
CPU가 메모리나 입.출력 기기의 번지를 지정할 때 사용하는 단방향 전송선
자료 버스
CPU와 메모리 또는 입 출력 기기 사이에서 데이터를 전송하는 양방향 전송선
제어 버스
CPU의 현재 상태나 상태 변경을 메모리 또는 입.출력에 알리는 제어신호를 전송하는 양방향 전송선
위치에 따른 버스 분류
내부 버스
CPU 및 메모리 내에 구성된 버스
외부 버스
주변 입.출력장치에 구성된 버스
연산자부
수행해야할 동장에 맞는 연산자를 표시함 흔히 OP코드라고 함
연산자부의 크기는 표현할 수 있는 명령어의 종류를 나타내는 것으로 n비트면 최대 2^n개의 명령어를 사용할 수 있음
자료부
실제 데이터에 대한 정보를 표시하는 부분
주소부의 크기는 메모리의 용량과 관계가 있다.
자료부의 길이가 n 비트라면 최대 2^n개의 기억장소를 주소로 지정할 수 있음
명령어 설계 시 고려사항
연산자의 수와 종류
해당 컴퓨터 시스템에서 처리할 기능에 맞게 연산자의 수와 종류를 결정함
주소 지정 방식
명령어가 사용할 자료의 위치를 표현하기 위한 방법을 결정함
데이터 구조
해당 컴퓨터 시스템의 데이터 구조에 맞게 명령어를 설계함
인스트럭션 세트의 효율성을 높이기 위하여 고려할 사항
기억공간, 사용빈도, 주소지정 방식
연산
AND
특정 문자 또는 특정 비트를 삭제 시키는 명령으로 MAsking 명령이라고도 함
OR
특정 문자를 삽입하거나 특정 비트에 1을 세트시키는 명령으로 Selective Set 연산이라고도 함
XOR
2개의 데이터를 비교하거나 특정 비트를 반전시킬 때 사용함
NOT
각 비트의 값을 반전시키는 연산으로 보수를 구할때 사용함
논리 Shift
왼쪽 또는 오른쪽으로 1비트씩 자리를 이동시키는 연산으로 데이터의 직렬 전송에 사용함
삽입되는 자리는 무조건 0
Rotate
Shift에 밀려 나가는 비트의 값을 반대편 값으로 입력하는 연산
산술 Shift
부호를 고려하여 자리를 이동시키는 연산으로 2^n으로 곱하거나 나눌 때 사용함
명령어 형식
0번지 명령어
Operand 없이 op 코드부만으로 구성
모든 연산은 스택 메모리의 스택 포인터가 가리키는 Operand를 이용하여 수행
수식을 계산하기 전에 Postfix형태로 변경해야 함
원래의 자료가 남지 않음
1번지 명령어
Operand 1개로 구성
AC를 이용하여 명령어를 처리함
2번지 명령어
Operand 2개로 구성되는 가장 일반적으로 사용되는 명령어 형식
계산 겨로가가 기억장치에 기억되고 중앙처리장치에도 남아 있어서 계산 결과를 시험할 필요가 있을 때 시간이 절약됨
연산의 결과는 Operand 1에 저장되므로 1에 있던 원래의 자료는 파괴됨
3번지 명령어
Operand가 3개로 구성된 명령어 형식으로 여러 개의 범용 레지스터를 가진 컴퓨터에 사용함
연산의 결과는 Operand 1에 기록됨
연산 시 원시 자료를 파괴하지 않음
다른 형식의 명령어를 이용하는 것보다 프로그램 전체의 길이를 짧게 할 수 있음
주소 설계 시 고려사항
표현의 효율성
빠르게 접근하고 주소 지정에 적은 비트 수를 사용할 수 있도록 다양한 어드레스 모드를 사요할 수 있어야 함
사용의 편리성
다양하고 융통성 있는 프로그램 작업을 위해 포인터, 프로그램 리로케이션 등의 편의를 제공해야 함
주소 공간과 기억곤간의 독립성
프로그램 상에서 사용할 주소를 변경 없이 실제 기억공간 내의 주소를 재배치할 수 있도록 서로 독립적이어야 함
주소 지정방식의 종류
암시적 주소 지정방식
명령 실행에 필요한 데이터의 위치를 지정하지 않고 누산기나 스택의 데이터를 묵시적으로 지정하여 사용함
즉치적 주소 지정방식
명령어 자체에 오퍼랜드를 내포하고 있는 방식
직접 주소 지정방식
명령어의 주소부가 사용할 자료의 번지를 표현하고 있는 방식
간접 주소 지정방식
명령어에 나타낼 주소가 명령어 내에서 데이터를 지정하기 위해 할당된 비트수로 나타낼 수 없을 떄 사용하는 방식
계산에 의한 주소지정방식
Operand부와 특정 레지스터의 값이 더해져서 유효주소를 계산하는 방식
마이크로 오퍼레이션의 정의
Instruction을 수행하기 위해 CPU 내의 레지스터와 프래그가 의미 있는 상태 변환을 하도록 하는 동작
컴퓨터 프로그램에 의한 명령 수행은 마이크로 오퍼레이션의 수행으로 이루어진다.
하나의 Clock 펄스 동안 실행되는 기본 동작으로 모든 마이크로 오퍼레이션은 CPU의 Clock 펄스에 맞춰 실행된다.
오퍼레이션의 순서를 결정하기 위하여 제어 장치가 발생하는 신호를 제어신호라 한다.
제어 워드
레지스터의 선택과 산술 논리 연산장치의 역할을 결정하고 어떤 마이크로 연산을 할 것인가를 결정하는 비트의 모임을 제어 워드라고 한다.
마이크로 프로그램
어떤 명령을 수행할 수 있도록 구성된 일련의 제어 워드가 특수한 기억장치 속에 저장될때 이를 마이크로 프로그램이라고 한다.
마이크로 사이클 타임
한개의 마이크로 오퍼레이션을 수행하는 데 걸리는 시간
마이크로 사이클 타임 부여 방식
동기 고정식
모든 마이크로 오퍼레이션의 동작 시간이 같다고 가정하여 CPU Clock의 중기를 마이크로 사이클 타임과 같도록 정의하는 방식
동기 가변식
동작 시간이 유사한 마이크로 오퍼레이션들끼리 그룹을 만들어, 각 그룹별로 서로 다른 마이크로 사이클 타임을 정의하는 방식
비동기식
모든 마이크로 오퍼레이션에 대하여 서로 다른 마이크로 사이클 타임을 정의하는 방식
메이저 스테이트
현재 CPU가 무엇을 하고 있는가를 나타내는 상태
4개의 Fetch, Indirect, Execute, Interrupt의 상태가 있음
Fetch Cycle
명령어를 주기억장치에 중아처리장치의 명령 레지스터로 가져와 해동하는 단계
1사이클 명령이 아니면 해석된 명령어의 모드 비트에 따라 직접과 간접주소를 판단
모드 비트가 0이면 직접주소이므로 Execute 단계로 변천
모드 비트가 1이면 간접주소이므로 Indirect 단계로 변천
Fetch Cycle 동작 순서
MAR < PC PC에 있는 번지를 MAR에 전송 MBR < M, PC < PC + 1 메모리에서 MAR이 지정하는 위치의 값을 MBR에 전송 IR < MBR, I < MBR 명령어의 OP 코드 부분을 명령 레지스터에 전송함 F < 1 or R < 1 I가 0이면 F 플립플롭에 1을 전송하여 Execute 단계로 변천하고 I가 1이면 R 플립플롭에 1을 전송하여 Indirect 단계로 변천 Indirect Cycle Fetch 단계에서 해석된 명령의 주소부가 간접주소인 경우 수행됨 Indirect Cycle 동작 순서 MAR < MBR MBR에 있는 명령어의 번지 부분을 MAR 전송함 MBR < M 메모리에서 MAR이 지정하는 위치의 값을 MBR에 전송함 No Operation 동작 없음 F < 1, R < 0 F에 1, R에 0을 전송하여 Execute단계로 변천함 Interrupt Cycle 인터럽트 발생 시 복귀주소를 저장시키고 제어순서를 인터럽트 처리 프로그램의 첫 번째 명령으로 옮기는 단계 인터럽트 단계를 마친 후에는 항상 Fetch 단계로 변천함 Interrupt Cycle 동작 순서 MBR < PC, PC < 0 PC가 가지고 있는 다음에 실행할 명령의 주소를 MBR의 주소 부분으로 전송함 복귀주소를 저장할 0번지를 PC에 전송함 MAR < PC, PC < PC + 1 PC가 가지고 있는 값 0번지를 MAR에 전송함 M < MBR, IEN < 0 MBR이 가지고 있는 다음에 실행할 명령의 주소를 메모리의 MAR이 가리키는 위치에 저장함 F < 0, R < 0 F에 0, R에 0을 전송하여 Fetch 단계로 변천함 임시저장 5월 25일 반응형
키워드에 대한 정보 전자 계산기 구조
다음은 Bing에서 전자 계산기 구조 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.
이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!
사람들이 주제에 대해 자주 검색하는 키워드 정보처리 필기_전자계산기 구조_03강_진법과 보수
- 정보처리기사
- 정보처리산업기사
- 정보처리기사인강
- 정보처리산업기사인강
- 정보처리기사인터넷강의
- 정보처리산업기사인터넷강의
- 기사패스
- 에듀온
- 유수
- 유수직강
- 정보처리
- 전자계산기
- 전자계산기구조
정보처리 #필기_전자계산기 #구조_03강_진법과 #보수
YouTube에서 전자 계산기 구조 주제의 다른 동영상 보기
주제에 대한 기사를 시청해 주셔서 감사합니다 정보처리 필기_전자계산기 구조_03강_진법과 보수 | 전자 계산기 구조, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.