하드웨어 설계자나 소프트웨어 설계자 모두 계층적으로 컴퓨터 시스템을 만들고 있다. 이 방법은 하위 계층의 세부 사항이 상위 계층에서는 보이지 않도록 한다. 이 추상화의 위대한 아이디어는 오늘날의 컴퓨터 시스템을 이해하는 데 필수적이다. 하지만 이것이 설계자는 한 가지 계층만 알면된다는 뜻은 아니다.
아마 가장 중요한 추상화의 예는 하드웨어와 하위 소프트웨어 간의 인터페이스일 것이다. 이것을 명령어 집합 구조(ISA)라 한다. 명령어 집합을 고정 시키면 동일한 소프트웨어를 실행시키면서도 가격과 성능이 서로 다른 여러 가지 구현이 가능하다. 반면에 이 인터페이스의 변경이 필요한 신기술을 받아들이기 어렵게 만드는 역효과도 있다.
실제 프로그램의 실행시간을 척도로 사용하면 믿을 만한 성능 판정 및 보고가 가능하다. 실행시간은 다음과 같이 다른 중요한 척도들과 연관되어 있다.
★ 요점정리
실행시간만이 흠잡을 데 없이 유효한 성능 척도이다. 다른 많은 척도들이 제안되었지만 모두 허점이 있었다. 이 중에서는 실행시간을 제대로 반영하지 못하기 대문에 애초부터 틀린 것도 있었고, 특정 조건에서만 유효한 척도를 조건이 안 맞는 환경에 억지로 확대 적용하거나 필요한 조건을 확실히 하지 않고 남용한 경우도 있었다.
현대의 프로세서 관련 핵심 하드웨어 기술은 실리콘이다. 실리콘 반도체가 급속한 하드웨어 발전의 원동력이 되는 한편, 컴퓨터 구조상의 새로운 아이디어는 가격대 성능비를 개선하는 역할을 한다. 그중 중요한 것 두 가지는 프로그램이 가지고 있는 병렬성을 이용하는 것(멀티프로세서)과 메모리 계층구조에 대한 접근 지역성(locality)을 이용하는 것이다.
마이크로프로세서 설계에서 가장 중요한 자원이 전에는 다이 면적이였는데 이제는 에너지 효율로 바뀌었다. 전력소모를 늘리지 않고 성능을 증가시키기 위해서 하드웨어 업체들은 멀티코어 마이크로프로세서로 방향을 전환하였다. 이에 따라서 소프트웨어 업체들도 병렬 하드웨어를 프로그래밍하는 쪽으로 방향으로 전환할 수 밖에 없게 되었다. 이제 성능을 위해서는 병렬성이 요구된다.
즉, 컴퓨터 설걔의 우수성은 에너지, 신용도, 소유비용, 확장성 등의 다른 중요한 요소와 아울러 가격과 성능으로 평가된다. 이러한 요소들 간의 균형을 잘 맞춘것이 우수한 컴퓨터 설계이다.
'Computer Architecture > 컴퓨터 구조' 카테고리의 다른 글
[8] CH2 명령어:컴퓨터 언어 < MIPS 버전 > (0) | 2022.01.16 |
---|---|
[9] CH2 명령어:컴퓨터 언어 < Arm 버전 > (0) | 2022.01.13 |
[6] CH1 컴퓨터 추상화 및 관련 기술 < 오류 및 함정 > (0) | 2022.01.12 |
[5] CH1 컴퓨터 추상화 및 관련 기술 < Intel Core i7 벤치마킹 > (0) | 2022.01.11 |
[4] CH1 컴퓨터 추상화 및 관련 기술 < 단일프로세서에서 멀티프로세서로의 변화 > (0) | 2022.01.11 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!