CS/컴퓨터 구조 39

2장 : 컴퓨터 산술/논리 - (1) 논리 연산

ALU구성 요소산술 연산장치논리 연산장치시프트 레지스터보수기상태 레지스터진수 보수 표현종류부호화-크기 표현1의 보수2의 보수비트 확장종류부호화-크기 비트 확장2의 보수 비트 확장논리 연산기본 논리 연산응용 논리 연산종류선택적-세트 연산선택적-보수 연산마스크 연산삽입 연산비교 연산시프트 연산자논리적 시프트순환 시프트데이터 전송 방법순환 시프트 + 논리적 시프트산술적 시프트논리적 시프트 사용C 플래그를 포함한 시프트 연산종류SHLCSHRCRLCRRC예외우측 시프트 연산해결 방안C 플래그가 레지스터로 못 넘어오게 막음오버플로우 알림1. ALUALU(산술논리연산장치)산술, 논리 연산 수행CPU 내부 존재구성 요소산술 연산장치사칙연산 수행논리 연산장치AND, NOT 등 수행시프트 레지스터비트를 왼, 오로 이동보수..

CS/컴퓨터 구조 2024.11.13

1장 : CPU - (5) 주소 지정 방식

주소지정방식 종류직접 주소지정 방식간접 주소지정 방식묵시적 주소지정 방식즉시 주소지정 방식레지스터 주소지정 방식레지스터 간접 주소지정 방식변위 주소지정 방식상대 주소지정 방식인덱스 주소지정 방식베이스-레지스터 주소지정 방식명령어 세트 설계종류CISCRISC※주소지정단위기억장치의 각 번지가 가지는 비트 범위1. 직접 주소지정 방식오퍼랜드 = 기억장치 주소EA(유효 주소) = A(주소 필드)장점데이터 인출에는 1번의 기억장치 접근만 필요단점기억장치 주소 > 오퍼랜드 크기라면, 가리킬 수 있는 기억장치 주소가 제한됨2. 간접 주소지정 방식오퍼랜드 = 기억장치 주소의 주소데이터의 주소의 주소x → 기억 장치 데이터의 주소 → 기억 장치 데이터EA = (A)장점기억장치 크기만큼 기억 장치 주소 가리키기 가능예시기..

CS/컴퓨터 구조 2024.11.11

1장 : CPU - (4) 명령어 세트

명령어 세트고려 사항연산 종류데이터 전송산술 연산논리 연산입출력프로그램 제어데이터 형태명령어 형식주소지정 방식명령어 구성 요소연산 코드오퍼랜드다음 명령어 주소오퍼랜드종류데이터기억장치 주소레지스터 번호오퍼랜드 개수에 따른 명령어 종류0-주소 명령어1-주소 명령어2-주소 명령어3-주소 명령어주소지정 방식기호EA, A ,R (A), (R)1. 명령어 세트의미해당 CPU가 동작하기 위한 명령어 구성 집합명령어 세트 구성을 위해 필요한 사항연산 종류연산들의 수, 종류, 복잡도데이터 형태연산을 위한 데이터 형태, 길이, 표현 방식명령어 형식명령어 길이, 오퍼랜드 필드 수/길이주소지정 방식오퍼랜드 주소 지정 방식연산 종류데이터 전송레지스터, 기억장치 사이에 데이터를 이동하는 동작산술 연산사칙연산논리 연산AND, OR..

CS/컴퓨터 구조 2024.11.08

1장 : CPU - (3) 명령어 파이프라인

명령어 파이프라이닝종류2단계 명령어 파이프라인단계 종류인출 단계실행 단계4단계 명령어 파이프라인단계 종류명령어 인출 단계(IF)명령어 해독 단계(ID)오퍼랜드 인출 단계(OF)실행 단계(EX)파이프라인 실행 시간Tk = k + (N-1)(k = 파이프라인 단계 개수, N = 수행 명령어 개수)속도 저하 원인파이프라인에 속하지 않는 명령어파이프라인의 각 단계는 가장 오래걸리는 단계를 기다림3개의 장애(구조적/데이터/제어 장애)데이터 장애 해결법지연 명령명령어 재배치데이터 포워딩제어 장애 해결법분기 예측분기 목적지 선인출루프 버퍼지연 분기슈퍼 스칼라실행 시간T(m) = k + (N-m)/m(m = 파이프라인 수, k = 파이프라인 단계 수, N = 수행 명령어 개수)속도 저하 원인데이터 의존성하드웨어 경합해..

CS/컴퓨터 구조 2024.11.06

1장 : CPU - (2) CPU 명령어 사이클

명령어 사이클종류인출 사이클실행 사이클CPU 내부 레지스터프로그램 카운터(PC)누산기(AC)명령어 레지스터(IR)기억장치 주소 레지스터(MAR)기억장치 버퍼 레지스터(MBR)기타 레지스터데이터 레지스터입출력 주소 레지스터입출력 버퍼 레지스터스택 제어 레지스터(SP)상태 레지스터(SR)CPU 클록 주파수/ 클록 주기사이클인출 사이클주기 : 3번실행 사이클LOAD 연산주기 : 3번STA 연산주기 : 3번ADD 연산주기 : 3번JUMP 연산주기 : 1번간접 사이클주기 : 3번인터럽트 사이클주기 : 3번서브루틴CALL/RET 명령어CALL 명령어 주기 : 3번RET 명령어 주기 : 4번1. CPU 명령어 실행명령어 사이클CPU가 1개의 명령어를 실행하는 데 필요한 전체 과정종류인출 사이클기억장치에서 명령어를 읽..

CS/컴퓨터 구조 2024.11.04

4. 컴퓨터 역사

부품의 발전 순서릴레이, 진공관, 트랜지스터, 반도체 집적회로컴퓨터 세대진공관 → 반도체 집적회로로 부품 사용이 바뀔때마다 세대 교체가 일어남.1. 컴퓨터 역사부품 발전 순서순서릴레이스위치 ON/OFF 기능진공관트랜지스터반도체 집적회로(IC)여러 개의 트랜지스터를 한 곳에 모은 것컴퓨터 세대1세대 컴퓨터진공관을 사용한 컴퓨터2세대 컴퓨터트랜지스터를 사용한 컴퓨터3세대 컴퓨터반도체 집적회로를 사용한 컴퓨터4세대 컴퓨터3세대보다 훨씬 많은 집적회로 사용5세대 컴퓨터미정후보인공지능, 양자 등

CS/컴퓨터 구조 2024.10.28

3. 프로그램 코드

코드 종류고급 언어어셈블리 언어기계어코드 번역 순서고급 언어 → 어셈블리 언어 → 기계어OR고급 언어 → 기계어코드 번역 소프트웨어컴파일러어셈블러1. 코드코드 종류기계어하드웨어가 이해할 수 있는 언어(0, 1)어셈블리 언어기계어로 번역되는 언어고급 언어우리가 사용하는 언어컴파일러, 인터프리터를 통해 기계어로 번역됨JAVA, C++코드의 번역 과정고급 언어 → 어셈블리 → 기계어※ 컴파일러 동작 과정고급 언어 → 어셈블리 → 기계어(OR)고급 언어 → 기계어코드 번역 소프트웨어컴파일러고급 언어 → 기계어 번역인터프리터(중요 X)어셈블러어셈블리 → 기계어 번역기계어요소연산코드연산자기계어에 있는 피연산자 값을 더할지, 뺄지 등을 나타내는 사칙연산 기능오퍼랜드피연산자해당 기계어의 숫자값을 나타냄연산코드를 이용해..

CS/컴퓨터 구조 2024.10.25

2. 시스템 구성

2. 시스템 구성시스템 버스주소 버스데이터 버스제어 버스중앙 처리 장치 ↔ 하드웨어 간의 연결중앙 처리 장치 ↔ 주기억장치중앙 처리 장치 ↔ I/O 장치중앙 처리 장치 ↔ 보조기억장치1. 시스템PC에 있는 하드웨어들 간의 상호작용2. 시스템 버스중앙 처리 장치 ↔ 기억 장치, 입출력 장치 사이의 통로종류주소 버스데이터 버스제어 버스주소 버스중앙 처리 장치 → 기억 장치, 입출력 장치로 주소 정보 보내는 통로단방향 전송중앙 처리 장치 → 기억, 입출력 장치로만 보내기 가능(반대 성립 X)주소 버스의 비트 수가 N 비트라면, 주소 공간은 2^N개ex) 3bit → 000~111 주소의 장소 지정 가능(=2^3)데이터 버스중앙 처리 장치 ↔ 기억 장치, 입출력 장치로 데이터 전송하는 통로양방향 전송두 지점 간..

CS/컴퓨터 구조 2024.10.23

1. 컴퓨터 기본 구조

하드웨어 구성 요소중앙 처리 장치기억 장치입출력 장치시스템 버스소프트웨어 구성 요소시스템 소프트웨어응용 소프트웨어0. 하드웨어, 소프트웨어 정의하드웨어정보 처리를 가능케하는 실제 물리 장치소프트웨어하드웨어를 지시하는 모든 프로그램1. 하드웨어 구성 요소중앙 처리 장치(CPU)기억 장치주 기억 장치(RAM)보조 기억 장치(하드 디스크)입출력 장치입력 장치출력 장치시스템 버스각 하드웨어들이 시스템 버스를 통해 연결됨중앙 처리 장치(CPU)구성 요소제어 장치산술 논리 연산 장치레지스터작동 흐름RAM → 제어 장치RAM의 명령 해독제어 장치 → 산술 논리 연산 장치해독한 명령 전달산술 논리 연산 장치 → 레지스터연산 수행 결과를 레지스터에 임시 저장기억 장치구성 요소주 기억 장치(RAM)보조 기억 장치(하드 디..

CS/컴퓨터 구조 2024.10.21