minyule.log
로그인
minyule.log
로그인
혼공컴운 챕터 1, 2, 3
김민영
·
2023년 1월 5일
팔로우
0
컴퓨터구조
0
혼공학습단
목록 보기
1/22
1. 컴퓨터 구조 시작하기
1-1 컴퓨터 구조를 알아야 하는 이유
성능, 용량, 비용
1-2 컴퓨터 구조의 큰 그림
정보
데이터
명령어
핵심 부품 - 메인 보드
중앙처리장치 CPU
산술논리연산장치 ALU: 계산
레지스터: 제어 신호 해석
제어장치: 제어 신호 발생, 명령어 해석. ex) 메모리 읽기, 쓰기
주기억장치 메모리
현재 실행되는 프로그램의 명령어와 데이터 저장
주소
종류
RAM
ROM
보조기억장치
전원 꺼진 후에도 메모리 저장
입출력장치: 마우스, 키보드 ...
시스템 버스
위 4가지 부품의 정보 교환
주소 버스
데이터 버스
제어 버스
2. 데이터
2-1 0과 1로 숫자를 표현하는 방법
비트 - 바이트 - kB - MB - GB - TB
워드 word: CPU가 한 번에 처리할 수 있는 데이터 크기.
half word, full word, double word.
x86 CPU: 32비트 워드, x64 CPU: 64비트 워드
이진수
음수: 2의 보수 + 1, 플래그 flag 필요
16진법: 0x10 방식으로 사용
2-1 0과 1로 문자를 표현하는 방법
문자 인코딩, 디코딩
아스키 코드: 7bit, 128 문자
확장 아스키 코드: 8bit, 256 문자
EUC-KR: 한글 인코딩. 2bytes
완성형 인코딩
CP949: EUC-KR 확장형
유니코드
UTF-8: 유니코드 문자에 부여된 값 인코딩
3. 명령어
3-1 소스 코드와 명령어
저급언어
기계어
어셈블리어
고급언어
컴파일 언어
소스코드 전체를 변환, 속도 빠름
오류 존재시, 컴파일 실패
소스코드(고급언어) - 컴파일러(컴파일) -> 목적코드(저급언어)
인터프리터 언어
한 줄씩 코드 실행, 속도 느림
인터프리터
목적 파일: 목적 코드로 이뤄진 파일 ex) .exe
실행 파일: 실행 코드로 이뤄진 파일
링킹: 여러 실행 파일의 기능을 연결 ex) B파일에서 A파일의 값을 더하시오 라는 명령어
3-2 명령어의 구조
명령어
연산 코드 operation code 연산자 - 연산 코드 필드에 존재
데이터 전송: MOVE, STORE, LOAD(FETCH), PUSH, POP
산술/논리 연산: ADD, SUBTRACT, AND, OR, COMPARE, INCREMENT, DECREMENT ...
제어 흐름 변경: JUMP CONDITIONAL JUMP, HALT, RETURN
입출력 제어: READ(INPUT), WRITE(OUTPUT), START IO, TEST IO
오퍼랜드 operand 피연산자 - 오퍼랜드 필드 (주소 필드)에 존재
오퍼랜드 자체보다 메모리 주소, 레지스터 이름으로 다룸
0, 1, 2, 3-주소 명령어: 필요한 오퍼랜드 수에 따라 나뉨
주소 지정 방식
즉시 주소 지정 방식
연산할 데이터
를 직접 오퍼랜드 필드에 명시
직접 주소 지정 방식
유효 주소(메모리)
를 오퍼랜드 필드에 명시
간접 주소 지정 방식
유효 주소의 주소
를 오퍼랜드 필드에 명시. 메모리 접근 2번. 느림
레지스터 주소 지정 방식
연산할 데이터를 저장한
레지스터
를 오퍼랜드 필드에 명시
레지스터 간접 주소 지정 방식
연산할 데이터를 메모리에 저장, 그
주소를 저장한 레지스터
를 오퍼랜드 필드에 명시. 빠름
스택과 큐
스택: 후입 선출 LIFO.
큐: 선입 선출 FIFO.
미션
김민영
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=
팔로우
다음 포스트
혼공컴운 챕터 4. CPU
0개의 댓글
댓글 작성