분류 전체보기 107

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

1장 : CPU - (1) CPU 기본 개념

CPU 동작 과정명령어 인출명령어 해독데이터 인출데이터 처리데이터 저장※데이터 인출 ~ 데이터 저장은 상황에 따라 생략 가능CPU 구조산술논리연산장치(ALU)레지스터 세트용도누산기(AC)프로그램 카운터(PC)명령어 레지스터(IR)메모리 버퍼 레지스터(MBR)메모리 주소 레지스터(MAR)제어 유니트CPU 내부 버스1. CPUCPU?기억장치에 저장돼있는 명령어를 수행동작 과정명령어 인출기억 장치로부터 명령어 가져옴명령어 해독데이터 인출명령어 수행에 필요한 데이터 가져옴데이터 처리데이터 저장수행 결과 저장※ 3~5번은 CPU가 필요로 하는 경우에만 수행됨CPU 구조산술논리연산장치(ALU)산술 연산(사칙 연산), 논리 연산(AND, OR, NOT, …) 수행각 연산을 수행하는 회로들로 이루어진 하드웨어레지스터 ..

카테고리 없음 2024.11.01

5. 컴퓨터 종류

컴퓨터 종류임베디드 컴퓨터개인용 컴퓨터워크스테이션슈퍼미니컴퓨터메인 프레임 컴퓨터중형 서버급 시스템슈퍼 컴퓨터종류파이프라인 슈퍼컴퓨터대규모 병렬 컴퓨터클러스터 컴퓨터주기억장치 사용법폰 노이만 구조단점폰 노이만 병목 현상해결방안 → 하버드 구조1. 컴퓨터 크기종류임베디드 컴퓨터(내장 컴퓨터)작은 컴퓨터(=최소 비용으로 필요한 기능만 구현)하드웨어에 내장 컴퓨터하드웨어의 동작을 제어함개인용 컴퓨터개인 사용 가능하며, 범용적(널리 쓰이는)임예시PC, 태블릿, 노트북워크스테이션(서버 수준)전문가 전용 PC개인용 컴퓨터보다 상위 성능슈퍼미니컴퓨터(서버 수준)다중 프로세서(=다중 CPU 사용(20~30개))메인 프레임 컴퓨터대규모 컴퓨터중앙집중식 컴퓨팅(여러 컴퓨터가 할 일을 혼자서 처리)을 목적으로 함DB 저장 및..

카테고리 없음 2024.10.30

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

2020 KAKAO BLIND RECRUITMENT(기둥과 보 설치)

문제 유형시뮬레이션문제 접근답기둥, 보 건설/철거에대한 결과물주어지는 정보Map 최대 크기 10,000건설, 철거 명령 최대 1000후보완전탐색적합X경우의 수 탐색을 의도한 문제가 아님문제에서 요구하는 조건만 채워도 답을 구할 수 있기 때문시뮬레이션적합문제에서 요구하는 조건을 지키기만해도 답을 유추 가능설명문제에서 요구하는 조건기둥은 바닥 위에 있거나 보의 한쪽 끝 부분 위에 있거나, 또는 다른 기둥 위에 있어야 합니다.public boolean checkColumn(int y, int x){ //바닥 if(y == 0){ return true; } //아래에 기둥 존재 else if(y-1 >= 0 && columns[y-1][x] == true){ ..

알고리즘 2024.10.11