Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Web Analytics
Cookie Policy Terms and Conditions 산술 논리 장치 - 위키백과

산술 논리 장치

위키백과 ― 우리 모두의 백과사전.

산술논리장치에 사용되는 일반적인 도면기호: A와 B는 연산자이다; R은 출력이다; F는 제어 장치로부터의 입력이다.; D는 상태 출력이다.
산술논리장치에 사용되는 일반적인 도면기호: A와 B는 연산자이다; R은 출력이다; F는 제어 장치로부터의 입력이다.; D는 상태 출력이다.

산술 논리 장치(영어: arithmetic logic unit)는 두 숫자의 (덧셈, 뺄샘같은) 산술연산과 (배타적 논리합같은) 논리연산을 계산하는 디지털 회로이다. 줄여서 ALU(에이엘유)라고도 한다. 산술논리장치는 컴퓨터 중앙처리장치의 기본 설계 블럭이다.

많은 종류의 전자 회로는 어떤형태의 산술연산을 계산하는데 필요해서, 심지어 디지털 시계에 있는 회로는 현재 시간에 1을 더하고, 알람 시간을 검사하는 작은 산술논리장치를 지녔다.

명백히, 가장 복잡한 전자 회로는 펜티엄같은 현대의 마이크로프로세서 칩 내부의 설계일 것이다. 그러므로, 이런 프로세서는 내부에 강력하고 매우 복잡한 산술논리장치를 가지고 있다. 사실, 현대의 마이크로프로세서 (혹은 메인프레임)은 멀티코어, 다중의 실행 장치, 다중의 산술논리장치를 가지고 있다.

대다수의 다른 회로는 내부에 산순논리장치를 포함하고 있다: 엔비디아ATI그래픽 카드같은 그래픽 처리 장치, 낡은 80387 보조 처리기같은 부동 소수점 장치, 사운드 블러스터 사운드 카드에서 발견할 수 있는 디지털 신호 처리기, CD 재생기, 고선명 텔레비전등이 있다. 이런 모든것은 내부에 몇개의 강력하고 복잡한 산술논리장치를 가지고 있다.

목차

[편집] 역사: 폰 노이만의 제안

수학자 존 폰 노이만은 에드박(영어: Electronic Discrete Variable Automatic Computer)이라고 불리는 새로운 컴퓨터 설계보고서를 작성했을때, 1945년에 산술논리장치의 개념을 제안했다. 1946년말에, 그는 프린스턴의 고급 연구소 (IAS)에서 컴퓨터 설계로 그의 동료와 일했다. IAS 컴퓨터는 많은 이후 컴퓨터에 기초버전이 된다. 제안에서, 폰 노이만은 산술논리장치를 포함해서, 그의 장치를 필요하게 될거라는 어떤 믿음의 윤곽을 잡았다.

폰 노이만은 산술논리장치가 컴퓨터에 필요하다고 진술했다. 왜냐하면 컴퓨터가 덧셈, 뺄셈, 나눗셈, 곱셈을 포함한 기본적인 수학연산을 계산하도록 보장하기 때문이다.[1] 그러므로 그는 "[컴퓨터]가 이런 연산을 위해서 특별한 장치를 포함되어야 합리적"이라는 것을 믿었다.[2]

[편집] 기수법

산술논리장치는 반드시 디지털 회로의 나머지처럼 동일한 형식을 사용하여 숫자를 처리한다. 현대의 프로세서에서, 거의 대부분은 2의 보수 이진수 표현이다. 초기의 컴퓨터는 1의 보수, 부호와 등급 형식, 심지어 숫자당 열개의 튜브를 지닌 진짜 십진수를 포함하여 다양한 기수법을 사용했다.

각각의 이런 기수법의 산술논리장치는 다르게 설계되었고, 덧샘과 뺄셈을 계산하는 산술논리장치를 쉽게 만들수 있는 기수법인, 2의 보수를 위한 현재 선호에 영향을 끼쳤다.

[편집] 실질적인 개요

논립곱, 논리합, 배타적 논리합, 가산기로 표현한 간단한 2 비트 산술논리장치 (크게 보려면 이미지를 클릭하세요)
논립곱, 논리합, 배타적 논리합, 가산기로 표현한 간단한 2 비트 산술논리장치 (크게 보려면 이미지를 클릭하세요)

대부분의 컴퓨터의 동작은 산술논리장치에 의하여 처리된다. 산술논리장치는 프로세서 레지스터로부터 데이터를 얻는다. 이 데이터는 처리되고 연산의 결과는 산술논리장치 출력 레지스터에 저장된다. 다른 방식은 이런 레지스터와 메모리사이의 데이터를 이동한다.[3]

제어 장치는 설정된 회로에 의하여 산술논리장치가 어떤 연산을 수행할지 알려줘서, 산술논리장치를 제어한다.

[편집] 단순 연산

대부분의 산술논리장치는 다음의 연산을 계산할 수 있다:

  • 정수형 산술 연산 (덧셈, 뺄셈, 그리고 가끔 곱셈나눗셈, 이것보다더 복잡할 지라도)
  • 비트 논리 연산 (AND, NOT, OR, XOR)
  • 비트 시프트 연산 (부호 확장을 지녔거나, 지니지 않거나, 왼쪽이나 오른쪽으로 특정 비트만큼 이동하거나 회전하는 워드). 시프트는 2로 곱셈하거나 나눗셈하는것 처럼 해석할 수 있다.

[편집] 복합 연산

공학자는 어떤 연산을 계산하는 산술논리장치를 설계할 수 있지만, 그것은 복잡하다; 문제는 더 복잡한 연산이며, 더 비싼 산술논리장치는, 프로세서에 사용되는 더 많은 공간과, 더 많은 전력소모등이 필요하다.

그러므로, 공학자는 항상 절충안을 생각하며, 프로세서 (혹은 다른 회로)에 제공되는 충분히 강력한 산술논리장치가 프로세서를 빠르게 만들지만, 비싼것 처럼 그렇게 복잡하지는 않다. 당신이 계산할 필요가 있다고 상상하면, 숫자의 제곱근을 말하세요; 디지털 공학자는 이 연산을 실행하는데 아래의 선택을 검토할 것이다:

  1. 한 단계에 어떤 숫자의 제급곤을 계산하는 매우 복잡한 산술논리장치를 설계한다. 이것은 한클럭 계산이라고 불린다.
  2. 몇 단계를 통하여 제곱근을 계산하는 복잡한 산술논리장치를 설계한다. 이것은 대화식 계산이라고 불리고, 일반적으로 마이크로코드로 설계된 복잡한 제어 장치의 제어에 의존된다.
  3. 프로세서에 간단한 산술논리장치를 설계하고, 고객은 이것 바로옆에 설치할수 있는 분리되서 특정화하고 값비싼 프로세서를 판매하고, 위의 선택중 하나를 수행한다. 이것은 보조 처리기라고 불린다.
  4. 보조 처리기의 존재를 에뮬레이터하는, 것은, 언제든지 프로그램이 제급근 계산을 수행하는 것을 시도하며, 프로세서에 보조 처리기가 있는지 검사하고 있으면 사용한다; 만약 없으면, 프로그램의 처리를 인터럽트하고 어떤 소프트웨어 알고리즘을 통하여 제곱근 계산을 수행하는 운영체제를 불러온다. 이것은 소프트웨어 에뮬레이션이라고 부른다.
  5. 보조 처리기와 에뮬레이터가 없는 프로그래머를 말해서, 소프트웨어에 의하여 제곱근을 계산하는 자신의 알고리즘을 써야할 것이다. 이것은 소프트웨어 라이브러리에 의한 수행이다.

위의 선택은 가장 빠르고 가장 비싼것부터 가장 느리고 가장 저렴한 것으로 나열된다. 그러므로, 심지어 가장 간단한 컴퓨터가 가장 복합한 공식을 계산할수 있고, 가장 간단한 컴퓨터는 일반적으로 오랜 시간이 걸릴 것이다. 왜녜하면 공식을 계산하는 몇가지 단계는 위의 선택 #3, #4, #5를 포함하기 때문이다.

펜티엄 4과 AMD64같은 강력한 프로세서는 가장 복잡한 연산에 위의 선택 #1을 수행하고, 다음으로 복잡한 연산에 더 느린 #2를 수행한다. 이런 프로세서에 설계된 매우 복잡한 산술논리장치의 기능성 때문에 가능하다.

[편집] 입력과 출력

산술논리장치의 입력은 (피연산자 라고 불리는 것에) 연산할 데이터와 수행하는 연산을 지시하는 제어 장치에서 발생된 코드이다. 출력은 연산의 결과이다.

대다수 설계된 산술논리장치는 상태 레지스터부터 혹은 으로 조건 코드의 한세트를 입력이나 출력처럼 받아들이거나 발생한다. 이런 코드들은 캐리입력 혹은 캐리출력, 범람, 0으로 나누기, 기타같은 경우를 지시할때 사용된다.[4]

[편집] 산술논리장치 대 부동소수점장치

부동 소수점 장치는 두값의 산술 연산을 수행하기도 하지만, 부동 소수점 표현의 숫자를 연산하며, 2의 보수 표현을 사용한 일반적인 산술논리장치보다 훨씬 더 복잡하다. 이런 계산을 위해서, 부동 소수점 장치는 어떤 내부 산술논리장치를 포함해서, 몇개의 복잡한 회로가 만들어져 있다.

일반적으로 공학자는 산술논리장치를 (2의 보수와 이진화 십진법처럼) 정수형에서 산술 연산을 수행하는 회로라고 부르지만, 부동 소수점, 복소수, 기타... 같은 더 복잡한 형식을 계산하는 회로는 일반적으로 더 유명한 이름을 갖고있다.

[편집] 같이 보기

[편집] 각주

  1. 스탤링스 페이지 19
  2. 스탤링스 페이지 19
  3. 스탤링스 페이지 290 ~ 291
  4. 스탤링스 페이지 290 ~ 291

[편집] 참고 도서

[편집] 바깥 고리

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu