SSAFY CS 스터디: 1주차 리뷰
리뷰 정보
- 범위: 이취컴 Chapter 02-1 ~ 02-3 (p.36~89)
- 참여형태: 🛡️수비조
저장장치 계층구조와 왜 그런 계층구조가 필요한지 설명해주세요.
답변
저장장치 계층구조는 속도가 빠른 순으로 레지스터, 캐시, 주메모리, 보조메모리가 있고, 속도가 빠를수록 비싸고 용량이 작다는 특징이 있습니다.
부품의 물리적인 거리나 구조에 의해 연산 속도에서 차이가 발생하고, 역할에 따라 서로 분리되어 있는 것이 최적화된 성능을 얻을 수 있습니다.
또한 단가에 따라 효율적으로 부품들을 배치해야 하기에 계층 구조가 존재합니다.
레지스터도 용량이 커지면 느려져요
그래서 분산 레지스터라는 구조가 존재함.
왜 부동소수점 오차가 발생하는지 설명해주세요.
답변
2진법으로 정확히 나누어 떨어지지 않는 무한소수는 메모리가 유한하기 때문에 모든 가수부를 저장할 수 없어, 일부 데이터가 생략됩니다.
부동소수점 체계에서 두 실수를 비교하기 위해 어떤 방법이 있는지 말씀해주세요.
답변
수학적으로는 엡실론 값을 설정해서 일정 구간 내의 오차는 허용하는 식으로 비교하고,
라이브러리적으로는 자바에선 BigDecimal의 compareTo 메소드를 사용하여 비교합니다.
명령어의 구조와 각각이 무엇을 의미하는지, 그리고 오퍼랜드에 어떤 값이 올 수 있는지 설명해주세요.
답변
명령어는 opcode와 operand로 구성되어 있고, opcode는 수행할 작업, 그리고 operand는 수행할 작업의 대상입니다.
operand에는 데이터 값 자체가 올 수도 있지만, 데이터가 위치한 주소 값이 저장되기도 합니다.