티스토리 뷰
학습 후기
22강 - 프로세서 명령어 실행과정
1. 컴파일 과정
C++, JAVA 프로그램 작성 -> 컴파일러 -> 어셈블러 -> 링커 -> 로더(메모리에 적재)
2. 명령어 인출 과정
PC값을 MAR에 복사 -> MAR이 가리키는 명령어 적재 -> CIR(현재 실행되고 있는 명령어 레지스터) 업데이트 -> PC 업데이트
3. 명령어 해독 및 실행 과정
(해독과정) PC값을 MAR에 복사 -> MAR이 가리키는 명령어 적재 -> CIR 업데이트 -> PC 업데이트 -> 명령어 디코딩
-> 제어신호 생성 -> (실행과정) 메모리 주소 MAR에 저장 -> 메모리 주소를 통해 데이터 접근 -> MDR에 데이터 저장
프로그램이 실행될 때, 프로세스가 내부적으로 어떻게 동작하는지 알아보는 시간이었다.
명령어 과정은 PC->MAR->CIR->PC 이렇게 외우면 될 듯 하다.
23강 - 프로세서 구현
22강에서 소프트웨어적으로 프로세서를 알아봤다면 이번 23강은 하드웨어적인 관점으로 보는 시간이었다.
데이터 패스
- 명령어가 프로세서로 가는 통로 (add 는 레지스터만 사용, lw 는 메모리 사용)
- 조합소자와 상태소자로 구성
조합소자 : 같은 입력 -> 같은 출력 소자
상태소자 : 메모리, 레지스터 같이 상태를 기억하는 소자
명령어 인출 데이터패스
- PC -> 다음 명령어를 가리키기 위하여 adder에서 4 증가 -> 인스트럭션 주소 -> 인스트럭션 실행
R-형식 명령어 데이터패스
(각각 5비트) $s0 + $s1 => ALU => $t0
적재/저장 데이터패스
- lw, sw 명령어 관련된 데이터패스
분기 데이터패스
- ALU 에 따른 분기
아주 생소하다. ㅜㅜ 저 그림만 봐도 위압감이 든다 ㅋㅋ
중요한 내용이라고 하셨으니 공부를 계속 해봐야 겠다.
24강 - 파이프라이닝과 해저드
파이프라이닝.
CPU가 효율적으로 가동하게 하는 기술이라고 받아들였다. 설명만 봐도 효율적으로 돌아가네? 라는 느낌을 받았다. 세탁기와 건조기를 가지고 잘 설명해주셨다.
해저드.
하지만 파이프라이닝이 단점이 없는 것이 아니다. 오버헤드가 발생하는데, 이를 해저드라 한다.
구조적 해저드, 데이터 해저드, 제어 해저드가 있다.
- 구조적 해저드
명령어의 조합을 하드웨어가 지원할 수 없다는 것...
- 데이터 해저드
지금 이 데이터를 써야 하는데 준비가 안됐네? 그래서 기다려야한다...
- 제어 해저드
실행을 해야할 것이 bne,beq 분기가 발생해서 실행하지 못해서 발생...
해저드의 해결방법
전방전달 : 아직 안나온 데이터를 먼저 가져오는 방법
분기예측 : 분기를 하는지 안하는지 예측하는 방법. 예측된 순서가 아닌 경우 버린다.
이번 강의는 비유를 통해 설명을 해주셔서 이해하기 편했다. 그리고 마냥 좋아보이는 파이프라이닝도 역시 단점이 존재했다는 점!
25강, 26강 - 메모리 계층구조
지역성
시간적 지역성 : 참조된 항목은 다시 참조될 가능성이 높다.
공간적 지역성 : 참조된 항목 주위의 데이터가 참조될 가능성이 높다.
프로그래밍 자료를 찾으려고 하는데 여러번 볼 것이고, 관련 책도 찾아보기 마련이다. 이런 느낌!
메모리 종류
속도 : SRAM(레지스터, 캐시) > DRAM(우리가 아는 램) > 마그네틱 디스크(하드)
사이즈 : SRAM < DRAM < 마그네틱 디스크
가격 : SRAM > DRAM > 마그네틱 디스크
SRAM : 어떤 데이터든 접근 시간이 같다.
DRAM : 주기적인 리프레시 필수, 전력이 끊어지면 정보가 날아감.
캐시 메모리
- 사상함수
직접사상 : 해시를 생각하면 된다. (0011010 - 2비트 태그, 3비트 캐시블록필드, 2비트 워드필드)
연관사상 : 캐시의 아무 블록에나 넣는다. (011010 - 4비트 태그, 2비트 워드필드)
집합 연관사상 : 직접 + 연관
컴퓨터구조 완강. 딱딱한 전공 수업의 느낌이 아니다.
어찌어찌해서 완강을 했다. 다만 100% 내용을 습득하지는 못했다. 반절정도 공부한 느낌이다. 이는 계속해서 복습으로 메꿔나가야 할 것 같다. 그만큼 내용이 만만치 않다는 것이다.
그래도 내용은 어렵지만 친절하게 설명을 하려고 노력하신 흔적들이 많이 보였다. 그래서 딱딱한 전공 수업 듣는 느낌은 덜했다. 이것이 가장 큰 강점이 아닌가 생각한다. 그래서 비전공자 분들에게 특히 추천하고싶다!
이제 다음 강의로 운영체제를 수강할 계획이다. 이번 상반기 면접에서 이 운영체제 지식이 전무해서 PT면접을 망쳤다. 비전공자라는 변명은 통하지 않기 때문에 운영체제 과목도 열심히 달려야겠다. 아자!
패스트캠퍼스 컴퓨터공학 올인원 패키지 링크
'활동 > fastcampus' 카테고리의 다른 글
[#2 운영체제] 7강 ~ 10강 학습후기 || 패스트캠퍼스 컴퓨터공학 올인원 패키지 (0) | 2019.06.23 |
---|---|
[#1 운영체제] 1강 ~ 6강 학습후기 || 패스트캠퍼스 컴퓨터공학 올인원 패키지 (0) | 2019.06.03 |
[#3 컴퓨터구조] 15강 ~ 21강 학습 후기 || 패스트캠퍼스 컴퓨터공학 올인원 패키지 (0) | 2019.05.04 |
[#2 컴퓨터구조] 7강 ~ 14강 학습 후기 || 패스트캠퍼스 컴퓨터공학 올인원 패키지 (0) | 2019.04.28 |
[도서] 성공하는 프로그래밍 공부법 (0) | 2019.04.18 |
- Total
- Today
- Yesterday
- 올인원 패키지
- 운영체제
- 패스트캠퍼스
- 코딩 면접
- Fast Campus
- 컴퓨터공학
- 프로그래밍 온라인 강의
- 자료구조
- #패스트캠퍼스 #프로그래밍대학생서포터즈 #올인원패키지 #컴퓨터공학 #성공하는프로그래밍공부법
- c언어
- 개발자 취업
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |