본문 바로가기

분류 전체보기127

[컴퓨터 구조] 메모리 기술 메모리 계층구조에서는 네 가지 주요 기술이 사용된다. 메인 메모리(main memory)는 DRAM(dynamic random access memory)으로 구현된다. 캐시(cache)는 SRAM(static random access memory)이 사용된다. DRAM은 SRAM보다 훨씬 느리지만 비트당 가격이 덜 비싸다. DRAM은 메모리 비트당 면적이 작기 때문에 가격 차이가 생기게 되고, 따라서 같은 양의 실리콘으로 더 큰 용량을 만들 수 있다. 세 번째 기술은 플래시 메모리이다. 플래시 메모리는 비휘발성이다. 네 번째 기술은 서버의 가장 크고 가장 느린 계층으로 자기 디스크이다. SRAM 기술 SRAM은 단순한 집적회로로서, 읽기나 쓰기를 제공하는 접근 포트가 하나 있는 메모리 배열이다. SRAM.. 2021. 6. 1.
[컴퓨터 구조] 메모리 계층구조 메모리의 작동 방법에는 지역성의 원칙(principle of locality)가 적용된다. 시간적 지역성(temporal locality)는 어떤 데이터가 참조되면 곧바로 다시 참조될 가능성이 높다는 원칙이다. 공간적 지역성(spatial locality)는 하나의 데이터가 참조되면 곧바로 그 주위의 데이터가 참조될 가능성이 높다는 원칙이다. 컴퓨터의 메모리는 메모리 계층구조(memory hierarchy)로 구현함으로써 지역성의 원칙을 이용할 수 있다. 메모리 계층구조는 여러 계층의 메모리를 사용하는 구조로 서로 다른 속도와 크기를 갖는 여러 계층의 메모리로 구성되어 있다. 프로세서로부터 거리가 멀어질수록 메모리의 크기와 접근시간이 증가한다. 메모리 계층구조는 여러 계층으로 구성되지만, 데이터는 인접한.. 2021. 6. 1.
[컴퓨터 구조] 부동소수점 부동소수점 부동소수점(floating point)는 이진 소수점의 위치가 고정되어 있지 않은 수로 표현하는 컴퓨터 연산이다. 부동소수점을 사용하면 부동소수점 숫자를 포함한 자료의 교환을 간단하게 한다. 숫자가 항상 부동소수점으로 표현된다는 것을 알고 있으므로 부동소수점 산술 알고리즘이 간단해진다. 불필요하게 선행되는 0을 소수점 오른쪽에 있는 실제의 숫자로 바꾸기 때문에 한 워드 내에 저장할 수 있는 수의 정밀도를 증가시킨다. 부동소수점 표현 부동소수점은 소수부분(faction)과 지수부분(exponent)로 나뉜다. 일반적으로 부동소수점 수는 (-1)s×F×2E 같은 형태를 갖는다. 그러나 부동소수점도 무한한 수는 아니기 때문에 오버플로우와 언더플로우가 발생한다. 오버플로우(overflow)는 양수 값.. 2021. 6. 1.
[컴퓨터 구조] 프로그램 번역과 실행 컴파일러 컴파일러는 C 프로그램을 어셈블리 언어 프로그램으로 바꾼다. 어셈블리 언어 프로그램은 컴퓨터가 이해할 수 있는 심벌 형태이다. 상위 수준 언어 프로그램은 어셈블리 언어보다 문장 수가 훨씬 적으므로 프로그래머의 생산성이 높아진다. 어셈블리 언어는 이진 기계어로 번역할 수 있는 기호화된 언어이다. 어셈블러 어셈블러는 어셈블리 프로그램을 기계어로 번역하므로 어셈블리 언어 프로그램을 목적 파일(object file)로 바꾼다. 목적 파일에는 기계어 명령어, 데이터, 명령어를 메모리에 적절히 배치하기 위해 필요한 각종 정보들이 혼합되어 있다. 어셈블리 언어는 상위 수준 소프트웨어와의 인터페이스이므로 원래는 없는 명령어를 어셈블러가 독자적으로 제공할 수도 있다. 이 명령어들은 하드웨어로 구현이 되어 있지 .. 2021. 6. 1.
[백준/BOJ] 1065번 한수 (C++) 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 문제의 소재 1이상 N이하의 한수의 개수를 구하는 문제이다. 해답 // BOJ_1065.cpp #include using namespace std; bool arith(int); int main() { int N, answer; cin>>N; answer = 0; for (int i=1;i 2021. 5. 21.
반응형