컴퓨터 구조 기말고사 정리
3장.
요약
- 명령어는 CPU가 사용하는 언어
- 명령어 집합은 특정 CPU를 위해 정의된 명령어 모음을 의미
- 명령어 집합구조는 작성된 프로그램과 그 프로그램을 수행할 컴퓨터 하드웨어 사이에서의 인터페이스에 대한 완전한 정의 혹은 명세이다.
-대부분의 명령어는 3개의 피연산 주소를 가지기 때문에 3주소 명령어라고한다
누산기를 사용하는 명령어는 피연산자로 누산기를 명시할 필요가 없어서 근원지 피연산자 중에서 하나만 명시하므로 1주소 명령어 라고한다.
스택을 사용하는 명령어는 피연산자에 대한 위치를 명시할 필요가 없기 때문에 0주소명령어 라고한다
프로그램 계수기 – 다음 실행할 명령어의 주소를 보관하는 레지스터
이 레지스터는 명령어를 인출한 후에 명령어 길이만큼 증가되어 다음 명령어를 가르켜야함
무조건 분기 명령어를 실행하면 프로그램 계수기가 목적지의 주소로 갱신되고 조건분기 명령어를 실행하면 조건에따라 프로그램의 흐름 변경가능
오늘날 컴퓨터는 명령어 실행중에 생성된 조건(올림수, 오버플로우)를 플래그 레지스터에 저장
정수를 표현하기 위한 부호 – 크기방식은 0이 2개존재, 이는 좋은 명령어집합의 적절성위배
명령어를 수행하는 일련의 과정을 명령어 사이클 이라고 하며 최소한 인출사이클과 실행사이클을 포함한다.
명령어 집합구조는 하드웨어와 소프트웨어 사이에서 인터페이스 역할을 수행하고, 명령어 집합구조의 설계는 하드웨어 구현과 소프트웨어 개발에 많은 영향을 미친다
명령어 집합구조는 일관성, 직교성 , 적절성, 일반성과 같은 특성을 갖추어야함.
CPU내부에 소규모 기억장치가 있으면 폰노이만 병목에 발생하는 트래픽을 크게 감소 시킬 수 있다
반복적으로 사용되는 데이터를 위한 메모리 접근을 줄여주고 명령어의 길이가 축소되어 명령어 인출을 위한트래픽이 감소되기 때문이다,
4장.
명령어 내부에 명시적으로 나타난 피연산자의 수에 따라 0주소 명령어, 1주소 명령어, 2주소명령어 등으로 분류한다. 0 주소명령어는 스택컴퓨터에서 사용되고 ,1주소 명령어는 누산기 컴퓨터에 사용되며 2주소명령어나 3주소명령어는 범용레지스터 컴퓨터에 사용
범용레지스터는 메모리주소에 비해 짧은 레지스터 주소를 사용하므로 명령어의 길이가 축소되고, 또한 사용빈도가 높은 데이터가 레지스터에 있기 때문에 메모리 트래픽이 줄어드는 효과가 크다.
메모리 정렬은 데이터와 명령어가 자신의 길이에 대한 배수의 주소에 위치하도록 강제하는 방식으로 컴퓨터를 구현 할 때 실행속도를 높이기 위해 필요한사항이다.
엔디언은 하나의 워드에 포함된 바이트를 배열하는 방법을 의미한다
빅엔디언 방식은 큰단위의 바이트가 앞자리에 위치하고
리틀엔지언방식은 작은 단위의 바이트가 앞자리에 위치한다
-RISC 구조는 자주사용하는 소수의 명령어만을 명령어 집합에 포함하여 하나의 사이클에 실행시키는 방식의 아키텍쳐
CISC구조는 강력하고 복잡한 명령어 까지 명령어 집합에 포함하여 코드밀도를 높이는 아키 텍쳐이다.
RISC구조의 명령어는 기계어에 가까운 구조로서 소프트웨어를 강조
CISC구조의 명령어는 고급언어에 가까운 구조로써 하드웨어를 강조한다.
10장
메모리란 명령어 집합에 의해 정의된 메모리로서 실행될 프로그램과 데이터가 있는 작업장을 의미
메모리는 프로그래머의 눈에 보이는 시스템의 속성중 하나로 조작할 수 있는 명령어가 존재
- 메모리는 메모리 버퍼레지스터와 메모리 주소 레지스터를 사용하여 CPU와 데이터를 교환한다
메모리 지연시간에는 메모리 접근시간과 메모리 사이클 시간있다.
메모리 접근 시간은 데이터 요청부터 데이터 도착까지의 시간이고
메모리 사이클 시간은 연속된 데이터 2개의 읽기 쓰기 요청에 대한 시간 간격이다.
- RAM은 DRAM과 SRAM 두가지 종류가 있다.
SRAM은 속도가 빠르지만 밀도가 낮고 비싸기 때문에 주로 캐시메모리에 사용
DRAM은 속도가 느리지만 밀도가 높고 저렴하기 때문에 주로 메인메모리에 사용
DRAM메모리 셀은 시간이 지남에 따라 누전되어 데이터가 사라지므로 데이터 유실을 막으려면 DRAM을 주기적으로 재충전해야한다.
메모리 대역폭을 향상시키기위해 광폭버스 메모리, 교차메모리 등을 사용한다.
광폭버스 메모리는 넓은 버스폭에 추가비용이 들고, 교차메모리는 상위 인터리빙 방식과 하위 인터리빙 방식이 있다.
광폭메모리: 메모리와 메모리의 대역폭을 확장하는 방법으로 CPU와 메모리 사이의 데이터버스 폭을 넓혀서 한번 접근할때마다 많은 데이터를 전송할 수 있도록함. 위의 단점이있다.
교차메모리 : CPU메모리 접근요청에 대해 각뱅크에 병행적으로 접근해 성능향상
SDRAM은 시스템 클록과 연동하며 메모리버스 속도 100Hz이상에서 버스트 모드로 접근 할수 있도록 설계된 고속메모리 이다.
DRAM은 클록사용방법에 따라 SDR SDRAM과 DDR SDRAM으로 구분하며 한번의 클록에 64비트데이터를 전송한다
-프로그램은 사용할 수 있는 주소공간의 일부에서 일정한 시간 동안 그룹형태로 참조되는 경향이있는데, 이를 지역성원리라고 한다. 지역성에는 시간적 지역성과 공간적 지역성이있다.
메모리 계층구조는 속도와 용량이 서로 다른 다수의 계층으로 구성된 메모리구조를 의미하며, 일반적으로 소용량의 빠른 메모리를 CPU에 가깝게 배치하고, 느리지만 대용량의 메모리를 CPU에 멀리배치한다
계층적메모리 구조를 사용하여 저비용으로 고속의 고용량 메모리 시스템을 설계하려면
배치방법, 교체방법, 쓰기방법 등을 고려해야한다.
적재(메모리 >CPU )
프로세서는 데이터가 있는 메모리의 주소를MAR에 보낸다
MAR이 지정하는 메모리주소에 있는 데이터를 읽어와 MBR에 저장한다
프로세서는 MBR에 저장된 데이터를 읽는다
저장(CPU >메모리)
프로세서는 데이터를 저장할 메모리의 주소를 MAR에보낸다
프로세서는 데이터를 MBR에 저장한다
메모리는 MAR이 지정하는 위치에 MBR의 내용을 저장한다.
상위 인터리빙 - 상위 주소 m비트를 사용하여 접근할 뱅크를 선택하는방식
- 메모리확장이 쉽고 결함허용도가 높다, 순차적으로 메모리 접근할 경우 성능 향상 기대 할수 없다.
하위 인터리빙 – 하위 주소 m비트를 사용하여 접근할 뱅크를 선택하는방식
- 공간적 지역성에 적합한 구성, 비순차적메모리접근일 경우 성능떨어지고 경 함허용도가 낮다
레지스터 > 캐시메모리 > 메인메모리 > 보조기억장치 >로 가면 가격,속도 낮고 용량이 커짐.
암달의 법칙 – 주로 병렬화에 의한 시스템 성능향상의 한계를 지적하는데 사용한다
- 일부기능을 향상하더라도 향상되지않는부분에 의해 전체 성능 제한
시스템 전체속도향상 s= M2의 시간 분의 M1의 실행시간
여기서 m1은 성능향상전 기계 , m2는 일부성능향상 기계